author | Alan Dipert
<alan@dipert.org> 2020-02-24 16:04:03 UTC |
committer | Alan Dipert
<alan@dipert.org> 2020-02-24 16:04:03 UTC |
parent | 82d98c45c83e6b2d2981bc153c3446149d2a60e3 |
index.html | +1 | -0 |
jacl-tests.lisp | +23 | -37 |
diff --git a/index.html b/index.html index 0fd7ee5..308d40e 100644 --- a/index.html +++ b/index.html @@ -19,6 +19,7 @@ <script src="qunit-2.9.2.js"></script> <script type="text/javascript"> QUnit.config.autostart = false; + QUnit.config.testTimeout = 100; </script> </head> <body> diff --git a/jacl-tests.lisp b/jacl-tests.lisp index 8c6994c..4b71d76 100644 --- a/jacl-tests.lisp +++ b/jacl-tests.lisp @@ -3,47 +3,33 @@ (let* ((jpkg (jacl:\. (jacl:%js "Package") (|get| @"JACL")))) (jacl:\. *package* (|usePackage| jpkg))) -(\. @|QUnit.config.testTimeout| (= 100)) -(\. @|QUnit.config.autoStart| (= js:+false+)) - (defun read1 (s) (\. (%new @|Reader| (%new @|StringStream| s)) (|read|))) (\. @|QUnit| (|module| @"Reader")) -(defmacro deftest (name is &rest body) - `(\. @|QUnit| (|test| - (\. ,name (|toString|)) - (lambda (,is) - (declare (async)) - ,@body)))) - -(deftest @"Integers" is - (\. is (|strictEqual| @@(read1 @"123 ") 123 @"single integer")) - (\. is (|strictEqual| @@(read1 @"+9912 ") 9912 @"integer with leading +")) - (\. is (|strictEqual| @@(read1 @"0 ") 0 @"zero")) - (\. is (|strictEqual| @@(read1 @"-32 ") -32 @"negative number")) - (\. is (|strictEqual| @@(read1 @"1. ") 1. @"number with trailing dot"))) - -(deftest @"Symbols" is - (let ((sym @@(read1 @"somesym "))) - (\. is (|strictEqual| (\. sym |name|) @"SOMESYM" @"simple symbol name")) - )) +(defvar *is*) + +(defmacro deftest (label &rest body) + (let ((is (gensym))) + `(\. @|QUnit| (|test| (\. ,label (|toString|)) + (lambda (,is) + (declare (async)) + (let ((*is* ,is)) + ,@body)))))) + +(defun assert= (x y label) + (\. *is* (|strictEqual| x y (\. label (|toString|))))) + +(deftest "Integers" + (assert= (await (read1 @"123 ")) 123 "single integer") + (assert= (await (read1 @"+9912 ")) 9912 "integer with leading +") + (assert= (await (read1 @"0 ")) 0 "zero") + (assert= (await (read1 @"-32 ")) -32 "negative number") + (assert= (await (read1 @"1. ")) 1. "number with trailing dot")) + +(deftest "Symbols" + (let ((sym (await (read1 @"somesym ")))) + (assert= (\. sym |name|) @"SOMESYM" "simple symbol name"))) (\. @|QUnit| (|start|)) - - - - -;;(jacl:\. *package* -;; (|usePackage| (jacl:\. (jacl:%js "Package") (|get| )))) -;;(let* ((x 1) -;; (y (1+ x))) -;; (jacl:\. (jacl:%js "console") (|log| x y))) -;;(let* ((pkg (jacl:%js "Package")) -;; (jacl-pkg (jacl:\. pkg (|get| "JACL")))) -;; (jacl:\. (jacl:%js "console") (|log| jacl-pkg)) -;; (jacl:\. *package* (|usePackage| jacl-pkg)) -;; ) -;; -;;(\. (%js "console") (|log| *package*))