author | Alan Dipert
<alan@dipert.org> 2020-06-28 13:45:03 UTC |
committer | Alan Dipert
<alan@dipert.org> 2020-06-28 13:45:03 UTC |
parent | 2722385f2d221d80f05b2e00bb59023c274bf0f5 |
jacl-tests.lisp | +17 | -28 |
diff --git a/jacl-tests.lisp b/jacl-tests.lisp index dc26efe..f9605a2 100644 --- a/jacl-tests.lisp +++ b/jacl-tests.lisp @@ -50,49 +50,38 @@ (defmacro assert-throws (&body body) `(\. *is* (|throws| (lambda () ,@body) *label*))) -(defun read1 (s) - (let ((s (\. s (|toString|)))) - (\. (%new @|Reader| (%new @|StringStream| s)) (|read|)))) - (defun log (&rest objects) + (declare (ignore objects)) (\. @|console| |log| (|apply| nil @|arguments|))) ;; Tests (in-module "Reader") -(defvar *object*) - -(defmacro with-read (str &body body) - `(let ((*object* (await (read1 ,(\. str (|toString|)))))) - ,@body)) - (deftest "Fixnums" - (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")) + (assert= 123 (%js "123")) + (assert= +9912 (%js "9912")) + (assert= 0 (%js "0")) + (assert= -32 (%js "-32")) + (assert= 1. (%js "1"))) (deftest "Symbols" (with-label "nil and t" (assert= nil @|null|) - (assert= 'nil @|null|) - (assert= t @|true|) - (assert= 't @|true|)) + (assert= t @|true|)) (with-label "uninterned" - (with-read "#:snoob " - (assert= (\. *object* |name|) @"SNOOB") - (assert= (\. *object* |packageName|) nil))) + (let ((sym '#:snoob)) + (assert= (\. sym |name|) @"SNOOB") + (assert= (\. sym |packageName|) nil))) (with-label "single escaped" - (with-read "somesym " - (assert= (\. *object* |name|) @"SOMESYM") - (assert= (\. *object* |packageName|) @"COMMON-LISP-USER")) - (with-read "\\\\alan " - (assert= (\. *object* |name|) @"aLAN"))) + (let ((sym 'somesym)) + (assert= (\. sym |name|) @"SOMESYM") + (assert= (\. sym |packageName|) @"COMMON-LISP-USER")) + (let ((sym '\alan)) + (assert= (\. sym |name|) @"aLAN"))) (with-label "multi escaped" - (with-read "|Alan| " - (assert= (\. *object* |name|) @"Alan")))) + (let ((sym '|Alan|)) + (assert= (\. sym |name|) @"Alan")))) (in-module "Numerics")