-(in-package :js-test)
+(in-package :ps-test)
;; Other tests not in the reference
(eval-when (:compile-toplevel :load-toplevel :execute)
(test-ps-js slot-value-setf
(setf (slot-value x 'y) (+ (+ a 3) 4))
- "x.y = (a + 3) + 4")
\ No newline at end of file
+ "x.y = (a + 3) + 4")
+
+(test-ps-js slot-value-conditional1
+ (slot-value (if zoo foo bar) 'x)
+ "(zoo ? foo : bar).x")
+
+(test-ps-js slot-value-conditional2
+ (slot-value (if (not zoo) foo bar) 'x)
+ "(!zoo ? foo : bar).x")
+
+(test script-star-eval1
+ (is (string= "x = 1; y = 2;" (normalize-js-code (let ((*enable-package-system* nil)) (script* '(setf x 1) '(setf y 2)))))))
+
+(test script-star-eval2
+ (is (string= "x = 1;" (normalize-js-code (let ((*enable-package-system* nil)) (script* '(setf x 1)))))))
+
+(test-ps-js slot-value-null1
+ (slot-value foo nil)
+ "foo")
+
+(test-ps-js slot-value-null2
+ (slot-value foo 'nil)
+ "foo")
+
+(test-ps-js unquoted-nil
+ nil
+ "null")
+
+(test-ps-js list-with-single-nil
+ (array 'nil)
+ "[null]")
+
+(test-ps-js quoted-nil
+ 'nil
+ "null")
\ No newline at end of file