diff --git a/spec/tests/test-hyperscript-behavioral.sx b/spec/tests/test-hyperscript-behavioral.sx index 745c786e..1994060c 100644 --- a/spec/tests/test-hyperscript-behavioral.sx +++ b/spec/tests/test-hyperscript-behavioral.sx @@ -765,6 +765,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click set my.style.color to \"red\"") + (dom-set-inner-html _el-div "lolwat") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -774,6 +775,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click set window.temp to \"red\"") + (dom-set-inner-html _el-div "lolwat") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -926,6 +928,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click set my style[\"color\"] to \"red\"") + (dom-set-inner-html _el-div "lolwat") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -935,6 +938,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click set foo to \"color\" then set my style[foo] to \"red\"") + (dom-set-inner-html _el-div "lolwat") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -944,6 +948,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click set arr to [1, 2, 3] set arr[0] to \"red\" set my *color to arr[0]") + (dom-set-inner-html _el-div "lolwat") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -953,6 +958,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click set arr to [1, 2, 3] set idx to 0 set arr[idx] to \"red\" set my *color to arr[0]") + (dom-set-inner-html _el-div "lolwat") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -962,6 +968,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click set trackingcode to `foo` then set pdfurl to `https://yyy.xxxxxx.com/path/out/${trackingcode}.pdf` then put pdfurl into me") + (dom-set-inner-html _el-div "lolwat") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -1025,6 +1032,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click put \"red\" into my.style.color") + (dom-set-inner-html _el-div "lolwat") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -1034,6 +1042,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click put \"red\" into window.temp") + (dom-set-inner-html _el-div "lolwat") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -1095,6 +1104,7 @@ (dom-append (dom-body) _el-d2) (hs-activate! _el-d2) (dom-set-attr _el-d1 "id" "d1") + (dom-set-inner-html _el-d1 "foo") (dom-append (dom-body) _el-d1) (dom-dispatch _el-d2 "click" nil) ;; SKIP check: skip d2.previousSibling.textContent.should.equal("foo") @@ -1103,6 +1113,7 @@ (hs-cleanup!) (let ((_el-d1 (dom-create-element "div")) (_el-d2 (dom-create-element "div"))) (dom-set-attr _el-d1 "id" "d1") + (dom-set-inner-html _el-d1 "foo") (dom-append (dom-body) _el-d1) (dom-set-attr _el-d2 "id" "d2") (dom-set-attr _el-d2 "_" "on click put #d1 after #d2") @@ -1116,6 +1127,7 @@ (let ((_el-d1 (dom-create-element "div"))) (dom-set-attr _el-d1 "id" "d1") (dom-set-attr _el-d1 "_" "on click put \"foo\" at start of #d1") + (dom-set-inner-html _el-d1 "*") (dom-append (dom-body) _el-d1) (hs-activate! _el-d1) (dom-dispatch _el-d1 "click" nil) @@ -1126,6 +1138,7 @@ (let ((_el-d1 (dom-create-element "div"))) (dom-set-attr _el-d1 "id" "d1") (dom-set-attr _el-d1 "_" "on click put \"foo\" at end of #d1") + (dom-set-inner-html _el-d1 "*") (dom-append (dom-body) _el-d1) (hs-activate! _el-d1) (dom-dispatch _el-d1 "click" nil) @@ -1233,6 +1246,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click put \"red\" into my style[\"color\"]") + (dom-set-inner-html _el-div "lolwat") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -1242,6 +1256,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click set foo to \"color\" then put \"red\" into my style[foo]") + (dom-set-inner-html _el-div "lolwat") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -1251,6 +1266,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click set arr to [1, 2, 3] put \"red\" into arr[0] put arr[0] into my *color") + (dom-set-inner-html _el-div "lolwat") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -1260,6 +1276,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click set arr to [1, 2, 3] set idx to 0 put \"red\" into arr[idx] put arr[0] into my *color") + (dom-set-inner-html _el-div "lolwat") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -1740,6 +1757,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script")) (_el-d1 (dom-create-element "div"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def repeatForeverWithReturn() set retVal to 0 repeat forever set retVal to retVal + 1 if retVal == 5 then return retVal end end end") (dom-append (dom-body) _el-script) (dom-set-attr _el-d1 "id" "d1") (dom-set-attr _el-d1 "_" "on click put repeatForeverWithReturn() into my.innerHTML") @@ -1752,6 +1770,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script")) (_el-d1 (dom-create-element "div"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def repeatForeverWithReturn() set retVal to 0 repeat set retVal to retVal + 1 if retVal == 5 then return retVal end end end") (dom-append (dom-body) _el-script) (dom-set-attr _el-d1 "id" "d1") (dom-set-attr _el-d1 "_" "on click put repeatForeverWithReturn() into my.innerHTML") @@ -1791,6 +1810,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script")) (_el-d1 (dom-create-element "div"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def repeatWhileTest() set retVal to 0 repeat while retVal < 5 set retVal to retVal + 1 end return retVal end") (dom-append (dom-body) _el-script) (dom-set-attr _el-d1 "id" "d1") (dom-set-attr _el-d1 "_" "on click put repeatWhileTest() into my.innerHTML") @@ -1803,6 +1823,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script")) (_el-d1 (dom-create-element "div"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def repeatUntilTest() set retVal to 0 repeat until retVal == 5 set retVal to retVal + 1 end return retVal end") (dom-append (dom-body) _el-script) (dom-set-attr _el-d1 "id" "d1") (dom-set-attr _el-d1 "_" "on click put repeatUntilTest() into my.innerHTML") @@ -1817,6 +1838,7 @@ (dom-set-attr _el-untilTest "id" "untilTest") (dom-append (dom-body) _el-untilTest) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def repeatUntilTest() repeat until event click from #untilTest wait 2ms end return 42 end") (dom-append (dom-body) _el-script) (dom-dispatch _el-untilTest "click" nil) ;; SKIP check: skip value.should.equal(42) @@ -1825,6 +1847,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script")) (_el-d1 (dom-create-element "div"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def getArray() set window.called to (window.called or 0) + 1 return [1, 2, 3] end") (dom-append (dom-body) _el-script) (dom-set-attr _el-d1 "id" "d1") (dom-set-attr _el-d1 "_" "on click for x in getArray() put x into my.innerHTML end") @@ -1838,6 +1861,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script")) (_el-d1 (dom-create-element "div"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def sprayInto(elt) for x in [1, 2, 3] for y in [1, 2, 3] put x * y at end of elt end end end") (dom-append (dom-body) _el-script) (dom-set-attr _el-d1 "id" "d1") (dom-set-attr _el-d1 "_" "on click call sprayInto(me)") @@ -2969,6 +2993,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click increment my.innerHTML") + (dom-set-inner-html _el-div "3") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -3042,6 +3067,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click decrement my.innerHTML") + (dom-set-inner-html _el-div "3") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -3094,6 +3120,7 @@ (let ((_el-d1 (dom-create-element "div"))) (dom-set-attr _el-d1 "id" "d1") (dom-set-attr _el-d1 "_" "on click increment #d1's innerHTML") + (dom-set-inner-html _el-d1 "5") (dom-append (dom-body) _el-d1) (hs-activate! _el-d1) (dom-dispatch (dom-query-by-id "d1") "click" nil) @@ -3104,6 +3131,7 @@ (let ((_el-d1 (dom-create-element "div"))) (dom-set-attr _el-d1 "id" "d1") (dom-set-attr _el-d1 "_" "on click increment innerHTML of #d1") + (dom-set-inner-html _el-d1 "5") (dom-append (dom-body) _el-d1) (hs-activate! _el-d1) (dom-dispatch (dom-query-by-id "d1") "click" nil) @@ -3350,6 +3378,7 @@ (dom-append (dom-body) _el-d1) (hs-activate! _el-d1) (dom-set-attr _el-d2 "id" "d2") + (dom-set-inner-html _el-d2 "foo") (dom-append (dom-body) _el-d2) (dom-dispatch _el-d1 "click" nil) ;; SKIP check: skip div1.innerText.should.equal("") @@ -3528,6 +3557,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script")) (_el-loadedDemo (dom-create-element "div"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "on load put \"Loaded\" into #loadedDemo.innerHTML") (dom-append (dom-body) _el-script) (dom-set-attr _el-loadedDemo "id" "loadedDemo") (dom-append (dom-body) _el-loadedDemo) @@ -3725,6 +3755,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click 1 put 1 + my.innerHTML as Int into my.innerHTML") + (dom-set-inner-html _el-div "0") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -3736,6 +3767,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click 1 to 2 put 1 + my.innerHTML as Int into my.innerHTML") + (dom-set-inner-html _el-div "0") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -3747,6 +3779,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click 2 and on put 1 + my.innerHTML as Int into my.innerHTML") + (dom-set-inner-html _el-div "0") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -3758,6 +3791,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click 1 put \"one\" into my.innerHTML on click 3 put \"three\" into my.innerHTML on click 2 put \"two\" into my.innerHTML") + (dom-set-inner-html _el-div "0") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -3862,6 +3896,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script")) (_el-div (dom-create-element "div")) (_el-div2 (dom-create-element "div")) (_el-div3 (dom-create-element "div"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "behavior DemoBehavior on foo wait 10ms then set my innerHTML to 'behavior'") (dom-append (dom-body) _el-script) (dom-set-attr _el-div "_" "install DemoBehavior") (dom-append (dom-body) _el-div) @@ -3892,6 +3927,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script")) (_el-button (dom-create-element "button"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def throwBar() throw 'bar' end") (dom-append (dom-body) _el-script) (dom-set-attr _el-button "_" "on click throwBar() catch e put e into me") (dom-append (dom-body) _el-button) @@ -4056,6 +4092,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on first click put 1 + my.innerHTML as Int into my.innerHTML") + (dom-set-inner-html _el-div "0") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -4107,6 +4144,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "init set window.foo to 42 end") (dom-append (dom-body) _el-script) ;; SKIP check: skip window.foo.should.equal(42) )) @@ -4114,6 +4152,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "init set window.foo to 10 init immediately set window.bar to window.foo") (dom-append (dom-body) _el-script) ;; SKIP check: skip window.foo.should.equal(10) )) @@ -4125,6 +4164,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script")) (_el-div (dom-create-element "div")) (_el-d1 (dom-create-element "div"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() add .called to #d1 end") (dom-append (dom-body) _el-script) (dom-set-attr _el-div "_" "on click call foo()") (dom-append (dom-body) _el-div) @@ -4138,6 +4178,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script")) (_el-div (dom-create-element "div")) (_el-d1 (dom-create-element "div"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo(str) put str into #d1.innerHTML end") (dom-append (dom-body) _el-script) (dom-set-attr _el-div "_" "on click call foo(\"called\")") (dom-append (dom-body) _el-div) @@ -4151,6 +4192,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script")) (_el-div (dom-create-element "div")) (_el-d1 (dom-create-element "div"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def utils.foo() add .called to #d1 end") (dom-append (dom-body) _el-script) (dom-set-attr _el-div "_" "on click call utils.foo()") (dom-append (dom-body) _el-div) @@ -4164,6 +4206,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script")) (_el-div (dom-create-element "div")) (_el-d1 (dom-create-element "div"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() log meend") (dom-append (dom-body) _el-script) (dom-set-attr _el-div "_" "on click call foo() then add .called to #d1") (dom-append (dom-body) _el-div) @@ -4177,6 +4220,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script")) (_el-div (dom-create-element "div")) (_el-d1 (dom-create-element "div"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() wait 1ms log meend") (dom-append (dom-body) _el-script) (dom-set-attr _el-div "_" "on click call foo() then add .called to #d1") (dom-append (dom-body) _el-div) @@ -4190,6 +4234,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script")) (_el-div (dom-create-element "div")) (_el-d1 (dom-create-element "div"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() return \"foo\"end") (dom-append (dom-body) _el-script) (dom-set-attr _el-div "_" "on click call foo() then put it into #d1.innerText") (dom-append (dom-body) _el-div) @@ -4204,12 +4249,14 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() exit end") (dom-append (dom-body) _el-script) )) (deftest "can return a value asynchronously" (hs-cleanup!) (let ((_el-script (dom-create-element "script")) (_el-div (dom-create-element "div")) (_el-d1 (dom-create-element "div"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() wait 1ms return \"foo\"end") (dom-append (dom-body) _el-script) (dom-set-attr _el-div "_" "on click call foo() then put it into #d1.innerText") (dom-append (dom-body) _el-div) @@ -4224,6 +4271,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() return \"foo\"end") (dom-append (dom-body) _el-script) ;; SKIP check: skip foo().should.equal("foo") )) @@ -4231,6 +4279,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() wait 1ms return \"foo\"end") (dom-append (dom-body) _el-script) ;; SKIP check: skip val.should.equal("foo") )) @@ -4238,6 +4287,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() throw \"bar\"catch e set window.bar to e end") (dom-append (dom-body) _el-script) ;; SKIP check: skip window.bar.should.equal("bar") )) @@ -4245,6 +4295,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() throw \"bar\"catch e throw e end") (dom-append (dom-body) _el-script) ;; SKIP check: skip true.should.equal(false) ;; SKIP check: skip e.should.equal("bar") @@ -4253,6 +4304,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() throw \"bar\"catch e return 42 end") (dom-append (dom-body) _el-script) ;; SKIP check: skip foo().should.equal(42) )) @@ -4260,6 +4312,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def doh() wait 10ms throw \"bar\"end def foo() call doh()catch e set window.bar to e end") (dom-append (dom-body) _el-script) ;; SKIP check: skip window.bar.should.equal("bar") )) @@ -4267,6 +4320,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def doh() wait 10ms throw \"bar\"end def foo() call doh()catch e set window.bar to e end") (dom-append (dom-body) _el-script) ;; SKIP check: skip window.bar.should.equal("bar") )) @@ -4274,6 +4328,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() throw \"bar\"catch e wait 10ms throw e end") (dom-append (dom-body) _el-script) ;; SKIP check: skip reason.should.equal("bar") )) @@ -4281,6 +4336,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() throw \"bar\"catch e wait 10ms return 42 end") (dom-append (dom-body) _el-script) ;; SKIP check: skip val.should.equal(42) )) @@ -4312,6 +4368,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() set window.bar to 10finally set window.bar to 20 end") (dom-append (dom-body) _el-script) ;; SKIP check: skip window.bar.should.equal(20) )) @@ -4319,6 +4376,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() set window.bar to 10 throw \"foo\"finally set window.bar to 20 end") (dom-append (dom-body) _el-script) ;; SKIP check: skip window.bar.should.equal(20) )) @@ -4326,6 +4384,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() set window.bar to 10 call throwsAsyncException()finally set window.bar to 20 end") (dom-append (dom-body) _el-script) ;; SKIP check: skip window.bar.should.equal(20) )) @@ -4333,6 +4392,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() wait a tick then set window.bar to 10finally set window.bar to 20 end") (dom-append (dom-body) _el-script) ;; SKIP check: skip window.bar.should.equal(20) )) @@ -4340,6 +4400,7 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() wait a tick then set window.bar to 10 throw \"foo\"finally set window.bar to 20 end") (dom-append (dom-body) _el-script) ;; SKIP check: skip window.bar.should.equal(20) )) @@ -4347,12 +4408,14 @@ (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() set x to 1 then exit then set x to 2 then return x end") (dom-append (dom-body) _el-script) )) (deftest "can return without a value" (hs-cleanup!) (let ((_el-script (dom-create-element "script"))) (dom-set-attr _el-script "type" "text/hyperscript") + (dom-set-inner-html _el-script "def foo() return end") (dom-append (dom-body) _el-script) )) ) @@ -4363,6 +4426,7 @@ (hs-cleanup!) (let ((_el-button (dom-create-element "button")) (_el-out (dom-create-element "div"))) (dom-set-attr _el-button "_" "on click ask \"What is your name?\" then put it into #out") + (dom-set-inner-html _el-button "Ask") (dom-append (dom-body) _el-button) (hs-activate! _el-button) (dom-set-attr _el-out "id" "out") @@ -4374,6 +4438,7 @@ (hs-cleanup!) (let ((_el-button (dom-create-element "button")) (_el-out (dom-create-element "div"))) (dom-set-attr _el-button "_" "on click ask \"Name?\" then put it into #out") + (dom-set-inner-html _el-button "Ask") (dom-append (dom-body) _el-button) (hs-activate! _el-button) (dom-set-attr _el-out "id" "out") @@ -4385,6 +4450,7 @@ (hs-cleanup!) (let ((_el-button (dom-create-element "button")) (_el-out (dom-create-element "div"))) (dom-set-attr _el-button "_" "on click answer \"Hello!\" then put \"done\" into #out") + (dom-set-inner-html _el-button "Go") (dom-append (dom-body) _el-button) (hs-activate! _el-button) (dom-set-attr _el-out "id" "out") @@ -4396,6 +4462,7 @@ (hs-cleanup!) (let ((_el-button (dom-create-element "button")) (_el-out (dom-create-element "div"))) (dom-set-attr _el-button "_" "on click answer \"Save?\" with \"Yes\" or \"No\" then put it into #out") + (dom-set-inner-html _el-button "Go") (dom-append (dom-body) _el-button) (hs-activate! _el-button) (dom-set-attr _el-out "id" "out") @@ -4407,6 +4474,7 @@ (hs-cleanup!) (let ((_el-button (dom-create-element "button")) (_el-out (dom-create-element "div"))) (dom-set-attr _el-button "_" "on click answer \"Save?\" with \"Yes\" or \"No\" then put it into #out") + (dom-set-inner-html _el-button "Go") (dom-append (dom-body) _el-button) (hs-activate! _el-button) (dom-set-attr _el-out "id" "out") @@ -4424,6 +4492,7 @@ (dom-set-attr _el-d "id" "d") (dom-append (dom-body) _el-d) (dom-set-attr _el-button "_" "on click show #d") + (dom-set-inner-html _el-button "Open") (dom-append (dom-body) _el-button) (hs-activate! _el-button) (dom-dispatch _el-button "click" nil) @@ -4451,6 +4520,7 @@ (dom-set-attr _el-d "id" "d") (dom-append (dom-body) _el-d) (dom-set-attr _el-button "_" "on click open #d") + (dom-set-inner-html _el-button "Open") (dom-append (dom-body) _el-button) (hs-activate! _el-button) (dom-dispatch _el-button "click" nil) @@ -4470,6 +4540,7 @@ (dom-set-attr _el-d "id" "d") (dom-append (dom-body) _el-d) (dom-set-attr _el-button "_" "on click open #d") + (dom-set-inner-html _el-button "Open") (dom-append (dom-body) _el-button) (hs-activate! _el-button) (dom-dispatch _el-button "click" nil) @@ -4481,6 +4552,7 @@ (dom-set-attr _el-d "id" "d") (dom-append (dom-body) _el-d) (dom-set-attr _el-button "_" "on click close #d") + (dom-set-inner-html _el-button "Close") (dom-append (dom-body) _el-button) (hs-activate! _el-button) (dom-dispatch _el-button "click" nil) @@ -4492,6 +4564,7 @@ (dom-set-attr _el-p "id" "p") (dom-append (dom-body) _el-p) (dom-set-attr _el-button "_" "on click open #p") + (dom-set-inner-html _el-button "Open") (dom-append (dom-body) _el-button) (hs-activate! _el-button) (dom-dispatch _el-button "click" nil) @@ -4511,6 +4584,7 @@ (dom-append (dom-body) _el-d) (hs-activate! _el-d) (dom-set-attr _el-button "_" "on click send myOpen to #d") + (dom-set-inner-html _el-button "Open") (dom-append (dom-body) _el-button) (hs-activate! _el-button) (dom-dispatch _el-button "click" nil) @@ -4535,6 +4609,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click empty") + (dom-set-inner-html _el-div "content") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -4587,6 +4662,7 @@ (dom-set-attr _el-t1 "value" "hello") (dom-append (dom-body) _el-t1) (dom-set-attr _el-button "_" "on click empty #t1") + (dom-set-inner-html _el-button "Empty") (dom-append (dom-body) _el-button) (hs-activate! _el-button) (dom-dispatch _el-button "click" nil) @@ -4596,8 +4672,10 @@ (hs-cleanup!) (let ((_el-ta1 (dom-create-element "textarea")) (_el-button (dom-create-element "button"))) (dom-set-attr _el-ta1 "id" "ta1") + (dom-set-inner-html _el-ta1 "some text") (dom-append (dom-body) _el-ta1) (dom-set-attr _el-button "_" "on click empty #ta1") + (dom-set-inner-html _el-button "Empty") (dom-append (dom-body) _el-button) (hs-activate! _el-button) (dom-dispatch _el-button "click" nil) @@ -4610,6 +4688,7 @@ (dom-set-attr _el-cb1 "type" "checkbox") (dom-append (dom-body) _el-cb1) (dom-set-attr _el-button "_" "on click empty #cb1") + (dom-set-inner-html _el-button "Empty") (dom-append (dom-body) _el-button) (hs-activate! _el-button) (dom-dispatch _el-button "click" nil) @@ -4621,6 +4700,7 @@ (dom-set-attr _el-sel1 "id" "sel1") (dom-append (dom-body) _el-sel1) (dom-set-attr _el-button "_" "on click empty #sel1") + (dom-set-inner-html _el-button "Empty") (dom-append (dom-body) _el-button) (hs-activate! _el-button) (dom-dispatch _el-button "click" nil) @@ -4631,6 +4711,7 @@ (dom-set-attr _el-f1 "id" "f1") (dom-append (dom-body) _el-f1) (dom-set-attr _el-button "_" "on click empty #f1") + (dom-set-inner-html _el-button "Empty") (dom-append (dom-body) _el-button) (hs-activate! _el-button) (dom-dispatch _el-button "click" nil) @@ -4646,6 +4727,7 @@ (dom-set-attr _el-t3 "value" "hello") (dom-append (dom-body) _el-t3) (dom-set-attr _el-button "_" "on click clear #t3") + (dom-set-inner-html _el-button "Clear") (dom-append (dom-body) _el-button) (hs-activate! _el-button) (dom-dispatch _el-button "click" nil) @@ -4724,6 +4806,7 @@ (dom-set-attr _el-div "style" "height: 2000px") (dom-append (dom-body) _el-div) (dom-set-attr _el-target "id" "target") + (dom-set-inner-html _el-target "Target") (dom-append (dom-body) _el-target) (dom-set-attr _el-div2 "_" "on click go to #target") (dom-append (dom-body) _el-div2) @@ -4736,6 +4819,7 @@ (dom-set-attr _el-div "style" "height: 2000px") (dom-append (dom-body) _el-div) (dom-set-attr _el-target "id" "target") + (dom-set-inner-html _el-target "Target") (dom-append (dom-body) _el-target) (dom-set-attr _el-div2 "_" "on click go to the top of #target") (dom-append (dom-body) _el-div2) @@ -4760,6 +4844,7 @@ (hs-cleanup!) (let ((_el-div (dom-create-element "div"))) (dom-set-attr _el-div "_" "on click halt then add .should-not-happen") + (dom-set-inner-html _el-div "test") (dom-append (dom-body) _el-div) (hs-activate! _el-div) (dom-dispatch _el-div "click" nil) @@ -4818,6 +4903,7 @@ (hs-cleanup!) (let ((_el-target (dom-create-element "div")) (_el-button (dom-create-element "button"))) (dom-set-attr _el-target "id" "target") + (dom-set-inner-html _el-target "old") (dom-append (dom-body) _el-target) ;; HS source has bare quotes or embedded HTML (dom-append (dom-body) _el-button) @@ -4828,6 +4914,7 @@ (hs-cleanup!) (let ((_el-target (dom-create-element "div")) (_el-go (dom-create-element "button"))) (dom-set-attr _el-target "id" "target") + (dom-set-inner-html _el-target "old") (dom-append (dom-body) _el-target) (dom-set-attr _el-go "id" "go") ;; HS source has bare quotes or embedded HTML @@ -4840,6 +4927,7 @@ (let ((_el-target (dom-create-element "div")) (_el-button (dom-create-element "button"))) (dom-set-attr _el-target "id" "target") (dom-add-class _el-target "old") + (dom-set-inner-html _el-target "content") (dom-append (dom-body) _el-target) ;; HS source has bare quotes or embedded HTML (dom-append (dom-body) _el-button) @@ -4911,9 +4999,11 @@ (hs-cleanup!) (let ((_el-target (dom-create-element "div")) (_el-go (dom-create-element "button"))) (dom-set-attr _el-target "id" "target") + (dom-set-inner-html _el-target "original") (dom-append (dom-body) _el-target) (dom-set-attr _el-go "id" "go") (dom-set-attr _el-go "_" "on click set content to \"