X-Git-Url: http://git.hcoop.net/clinton/parenscript.git/blobdiff_plain/ed954200c5072db239b261e1e1090df16bcbf238..5ffb1ebaaff5e8f899fd4b1bd91b015f2c52d656:/t/reference-tests.lisp diff --git a/t/reference-tests.lisp b/t/reference-tests.lisp index 659c86f..f3f7f88 100644 --- a/t/reference-tests.lisp +++ b/t/reference-tests.lisp @@ -31,14 +31,10 @@ *array "Array") -(test-ps-js symbol-conversion-6 +(test-ps-js symbol-conversion-4 *global-array* "GLOBALARRAY") -(test-ps-js symbol-conversion-7 - *global-array*.length - "GLOBALARRAY.length") - (test-ps-js number-literals-1 1 "1") @@ -60,8 +56,8 @@ "'bratzel bub'") (test-ps-js string-literals-3 - " " - "'\\t\\b'") + " " + "'\\t'") (test-ps-js array-literals-1 (array) @@ -107,8 +103,8 @@ "anObject.foo") (test-ps-js object-literals-4 - an-object.foo - "anObject.foo") + (@ an-object foo bar) + "anObject.foo.bar") (test-ps-js object-literals-5 (with-slots (a b c) this @@ -159,10 +155,6 @@ *math "Math") -(test-ps-js variables-4 - *math.floor - "Math.floor") - (test-ps-js function-calls-and-method-calls-1 (blorg 1 2) "blorg(1, 2)") @@ -183,10 +175,6 @@ ((slot-value (aref foobar 1) 'blorg) NIL T) "foobar[1].blorg(null, true)") -(test-ps-js function-calls-and-method-calls-6 - (this.blorg 1 2) - "this.blorg(1, 2)") - (test-ps-js operator-expressions-1 (* 1 2) "1 * 2") @@ -269,14 +257,14 @@ x = a + b + c;") "a = 1 - a;") (test-ps-js assignment-5 - (let* ((a 1) (b 2)) + (let ((a 1) (b 2)) (psetf a b b a)) - "var a = 1; -var b = 2; -var _js1 = b; -var _js2 = a; -a = _js1; -b = _js2;") + "var a1 = 1; +var b2 = 2; +var _js3_5 = b2; +var _js4_6 = a1; +a1 = _js3_5; +b2 = _js4_6;") (test-ps-js assignment-6 (setq a 1) @@ -291,9 +279,9 @@ b = _js2;") (test-ps-js assignment-9 (setf (color some-div) (+ 23 "em")) - "var _js2 = someDiv; -var _js1 = 23 + 'em'; -__setf_color(_js1, _js2);") + "var _js2_3 = someDiv; +var _js1_4 = 23 + 'em'; +__setf_color(_js1_4, _js2_3);") (test-ps-js assignment-10 (defsetf left (el) (offset) @@ -302,9 +290,9 @@ __setf_color(_js1, _js2);") (test-ps-js assignment-11 (setf (left some-div) (+ 123 "px")) - "var _js2 = someDiv; -var _js1 = 123 + 'px'; -_js2.style.left = _js1;") + "var _js2_3 = someDiv; +var _js1_4 = 123 + 'px'; +_js2_3.style.left = _js1_4;") (test-ps-js assignment-12 (progn (defmacro left (el) @@ -335,7 +323,7 @@ _js2.style.left = _js1;") }") (test-ps-js conditional-statements-1 - (if (blorg.is-correct) + (if ((@ blorg is-correct)) (progn (carry-on) (return i)) (alert "blorg is not correct!")) "if (blorg.isCorrect()) { @@ -346,11 +334,11 @@ _js2.style.left = _js1;") }") (test-ps-js conditional-statements-2 - (+ i (if (blorg.add-one) 1 2)) + (+ i (if ((@ blorg add-one)) 1 2)) "i + (blorg.addOne() ? 1 : 2)") (test-ps-js conditional-statements-3 - (when (blorg.is-correct) + (when ((@ blorg is-correct)) (carry-on) (return i)) "if (blorg.isCorrect()) { @@ -359,7 +347,7 @@ _js2.style.left = _js1;") }") (test-ps-js conditional-statements-4 - (unless (blorg.is-correct) + (unless ((@ blorg is-correct)) (alert "blorg is not correct!")) "if (!blorg.isCorrect()) { alert('blorg is not correct!'); @@ -370,59 +358,33 @@ _js2.style.left = _js1;") "var A = [ 1, 2, 3 ]") (test-ps-js variable-declaration-2 - (simple-let* ((a 0) (b 1)) - (alert (+ a b))) - "var a = 0; -var b = 1; -alert(a + b);") - -(test-ps-js variable-declaration-3 - (simple-let* ((a "World") (b "Hello")) - (simple-let ((a b) (b a)) - (alert (+ a b)))) - "var a = 'World'; -var b = 'Hello'; -var _js_a1 = b; -var _js_b2 = a; -var a = _js_a1; -var b = _js_b2; -delete _js_a1; -delete _js_b2; -alert(a + b);") - -(test-ps-js variable-declaration-4 - (simple-let* ((a 0) (b 1)) - (lexical-let* ((a 9) (b 8)) - (alert (+ a b))) - (alert (+ a b))) - "var a = 0; -var b = 1; -(function () { - var a = 9; - var b = 8; - alert(a + b); -})(); -alert(a + b);") - -(test-ps-js variable-declaration-5 - (simple-let* ((a "World") (b "Hello")) - (lexical-let ((a b) (b a)) - (alert (+ a b))) - (alert (+ a b))) - "var a = 'World'; -var b = 'Hello'; -(function (a, b) { - alert(a + b); -})(b, a); -alert(a + b);") + (progn + (defvar *a* 4) + (let ((x 1) + (*a* 2)) + (let* ((y (+ x 1)) + (x (+ x y))) + (+ *a* x y)))) + "var A = 4; +var x1 = 1; +var A2; +try { + A2 = A; + A = 2; + var y3 = x1 + 1; + var x4 = x1 + y3; + A + x4 + y3; +} finally { + A = A2; +};") (test-ps-js iteration-constructs-1 (do* ((a) b (c (array "a" "b" "c" "d" "e")) (d 0 (1+ d)) (e (aref c d) (aref c d))) - ((or (= d c.length) (eql e "x"))) + ((or (= d (@ c length)) (eql e "x"))) (setf a d b e) - (document.write (+ "a: " a " b: " b "
"))) + ((@ document write) (+ "a: " a " b: " b "
"))) "for (var a = null, b = null, c = ['a', 'b', 'c', 'd', 'e'], d = 0, e = c[d]; !(d == c.length || e == 'x'); d += 1, e = c[d]) { a = d; b = e; @@ -433,101 +395,86 @@ alert(a + b);") (do ((i 0 (1+ i)) (s 0 (+ s i (1+ i)))) ((> i 10)) - (document.write (+ "i: " i " s: " s "
"))) - "var _js_i1 = 0; -var _js_s2 = 0; -var i = _js_i1; -var s = _js_s2; -delete _js_i1; -delete _js_s2; -for (; i <= 10; ) { - document.write('i: ' + i + ' s: ' + s + '
'); - var _js3 = i + 1; - var _js4 = s + i + (i + 1); - i = _js3; - s = _js4; + ((@ document write) (+ "i: " i " s: " s "
"))) + "var i1 = 0; +var s2 = 0; +for (; i1 <= 10; ) { + document.write('i: ' + i1 + ' s: ' + s2 + '
'); + var _js3_5 = i1 + 1; + var _js4_6 = s2 + i1 + (i1 + 1); + i1 = _js3_5; + s2 = _js4_6; };") (test-ps-js iteration-constructs-3 (do* ((i 0 (1+ i)) (s 0 (+ s i (1- i)))) ((> i 10)) - (document.write (+ "i: " i " s: " s "
"))) + ((@ document write) (+ "i: " i " s: " s "
"))) "for (var i = 0, s = 0; i <= 10; i += 1, s += i + (i - 1)) { document.write('i: ' + i + ' s: ' + s + '
'); };") (test-ps-js iteration-constructs-4 - (let* ((arr (array "a" "b" "c" "d" "e"))) - (dotimes (i arr.length) - (document.write (+ "i: " i " arr[i]: " (aref arr i) "
")))) - "var arr = ['a', 'b', 'c', 'd', 'e']; -for (var i = 0; i < arr.length; i += 1) { - document.write('i: ' + i + ' arr[i]: ' + arr[i] + '
'); + (let ((arr (array "a" "b" "c" "d" "e"))) + (dotimes (i (@ arr length)) + ((@ document write) (+ "i: " i " arr[i]: " (aref arr i) "
")))) + "var arr1 = ['a', 'b', 'c', 'd', 'e']; +for (var i = 0; i < arr1.length; i += 1) { + document.write('i: ' + i + ' arr[i]: ' + arr1[i] + '
'); };") (test-ps-js iteration-constructs-5 - (let* ((res 0)) + (let ((res 0)) (alert (+ "Summation to 10 is " (dotimes (i 10 res) (incf res (1+ i)))))) - "var res = 0; + "var res1 = 0; alert('Summation to 10 is ' + (function () { for (var i = 0; i < 10; i += 1) { - res += i + 1; + res1 += i + 1; }; - return res; + return res1; })());") (test-ps-js iteration-constructs-6 - (let* ((l (list 1 2 4 8 16 32))) + (let ((l (list 1 2 4 8 16 32))) (dolist (c l) - (document.write (+ "c: " c "
")))) - "var l = [1, 2, 4, 8, 16, 32]; -for (var c = null, _js_arrvar2 = l, _js_idx1 = 0; _js_idx1 < _js_arrvar2.length; _js_idx1 += 1) { - c = _js_arrvar2[_js_idx1]; + ((@ document write) (+ "c: " c "
")))) + "var l1 = [1, 2, 4, 8, 16, 32]; +for (var c = null, _js_arrvar3 = l1, _js_idx2 = 0; _js_idx2 < _js_arrvar3.length; _js_idx2 += 1) { + c = _js_arrvar3[_js_idx2]; document.write('c: ' + c + '
'); };") (test-ps-js iteration-constructs-7 - (let* ((l (list 1 2 4 8 16 32)) - (s 0)) + (let ((l '(1 2 4 8 16 32)) + (s 0)) (alert (+ "Sum of " l " is: " (dolist (c l s) (incf s c))))) - "var l = [1, 2, 4, 8, 16, 32]; -var s = 0; -alert('Sum of ' + l + ' is: ' + (function () { - for (var c = null, _js_arrvar2 = l, _js_idx1 = 0; _js_idx1 < _js_arrvar2.length; _js_idx1 += 1) { - c = _js_arrvar2[_js_idx1]; - s += c; + "var l1 = [1, 2, 4, 8, 16, 32]; +var s2 = 0; +alert('Sum of ' + l1 + ' is: ' + (function () { + for (var c = null, _js_arrvar4 = l1, _js_idx3 = 0; _js_idx3 < _js_arrvar4.length; _js_idx3 += 1) { + c = _js_arrvar4[_js_idx3]; + s2 += c; }; - return s; + return s2; })());") (test-ps-js iteration-constructs-8 - (let* ((obj (create :a 1 :b 2 :c 3))) - (doeach (i obj) - (document.write (+ i ": " (aref obj i) "
")))) - "var obj = { a : 1, b : 2, c : 3 }; -for (var i in obj) { - document.write(i + ': ' + obj[i] + '
'); + (let ((obj (create :a 1 :b 2 :c 3))) + (for-in (i obj) + ((@ document write) (+ i ": " (aref obj i) "
")))) + "var obj1 = { a : 1, b : 2, c : 3 }; +for (var i in obj1) { + document.write(i + ': ' + obj1[i] + '
'); };") (test-ps-js iteration-constructs-9 - (let* ((obj (create :a 1 :b 2 :c 3))) - (doeach ((k v) obj) - (document.write (+ k ": " v "
")))) - "var obj = { a : 1, b : 2, c : 3 }; -var v; -for (var k in obj) { - v = obj[k]; - document.write(k + ': ' + v + '
'); -};") - -(test-ps-js iteration-constructs-10 - (while (film.is-not-finished) - (this.eat (new *popcorn))) + (while ((@ film is-not-finished)) + ((@ this eat) (new *popcorn))) "while (film.isNotFinished()) { this.eat(new Popcorn); }") @@ -590,21 +537,21 @@ for (var k in obj) { "'blorg'") (test-ps-js the-html-generator-3 - (document.write + ((@ document write) (ps-html ((:a :href "#" :onclick (ps-inline (transport))) "link"))) - "document.write('link')") + "document.write('link')") (test-ps-js the-html-generator-4 - (let* ((disabled nil) + (let ((disabled nil) (authorized t)) - (setf element.inner-h-t-m-l + (setf (@ element inner-h-t-m-l) (ps-html ((:textarea (or disabled (not authorized)) :disabled "disabled") "Edit me")))) - "var disabled = null; -var authorized = true; + "var disabled1 = null; +var authorized2 = true; element.innerHTML = 'Edit me';")