Add 21 new tests: scope/context, multi-signal, reactive DOM, VM HO forms
WASM browser tests (web/tests/test-wasm-browser.sx): 32 tests - scope/context: push+read, default, nesting, pop reveals outer - multi-signal: effect tracks 2 signals, computed from 2 sources, unsubscribe on dependency change - reactive DOM: computed expression attrs, map rendering, component rendering, spread signal update, style attributes - conditional: if/when/cond/let/begin in render-to-dom VM HO form tests (lib/tests/test-vm.sx): +8 tests - map, filter, reduce, for-each, some, every? in vm-eval - nested map, map with closure over local 32/32 WASM (source+bytecode), 1593/1593 JS full (1 pre-existing silent). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -730,3 +730,51 @@
|
||||
(quote (define run (fn () (+ (inc 0) (inc 10) (inc 20)))))
|
||||
g)
|
||||
(assert-equal 33 (vm-eval-with (quote (run)) g)))))
|
||||
|
||||
(defsuite
|
||||
"vm-ho-forms"
|
||||
(deftest
|
||||
"map in vm-eval"
|
||||
(assert-equal
|
||||
(list 2 4 6)
|
||||
(vm-eval (quote (map (fn (x) (* x 2)) (list 1 2 3))))))
|
||||
(deftest
|
||||
"filter in vm-eval"
|
||||
(assert-equal
|
||||
(list 2 3 4)
|
||||
(vm-eval (quote (filter (fn (x) (> x 1)) (list 1 2 3 4))))))
|
||||
(deftest
|
||||
"reduce in vm-eval"
|
||||
(assert-equal
|
||||
10
|
||||
(vm-eval (quote (reduce (fn (acc x) (+ acc x)) 0 (list 1 2 3 4))))))
|
||||
(deftest
|
||||
"for-each with set! in vm-eval"
|
||||
(assert-equal
|
||||
6
|
||||
(vm-eval
|
||||
(quote
|
||||
(let
|
||||
((sum 0))
|
||||
(for-each (fn (x) (set! sum (+ sum x))) (list 1 2 3))
|
||||
sum)))))
|
||||
(deftest
|
||||
"some in vm-eval"
|
||||
(assert-true
|
||||
(vm-eval (quote (some (fn (x) (> x 3)) (list 1 2 3 4))))))
|
||||
(deftest
|
||||
"every? in vm-eval"
|
||||
(assert-false
|
||||
(vm-eval (quote (every? (fn (x) (> x 0)) (list 1 2 -1))))))
|
||||
(deftest
|
||||
"nested map in vm-eval"
|
||||
(assert-equal
|
||||
(list 1 4 9)
|
||||
(vm-eval (quote (map (fn (x) (* x x)) (list 1 2 3))))))
|
||||
(deftest
|
||||
"map with closure over local"
|
||||
(assert-equal
|
||||
(list 11 12 13)
|
||||
(vm-eval
|
||||
(quote
|
||||
(let ((offset 10)) (map (fn (x) (+ x offset)) (list 1 2 3))))))))
|
||||
|
||||
Reference in New Issue
Block a user