Multi-class add/remove, async IO in test runner — 280/831 (34%)
- Parser: add .foo .bar collects multiple class refs into multi-add-class AST - Compiler: multi-add-class/multi-remove-class emit (do (dom-add-class...) ...) - Test runner: drives IO suspension chains (wait/fetch/settle) via _driveAsync so async HS tests (wait 100ms, settle, fetch) can complete - Assertion failed: 51→49 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -666,10 +666,20 @@
|
||||
(if
|
||||
(= (tp-type) "class")
|
||||
(let
|
||||
((cls (get (adv!) "value")))
|
||||
((cls (get (adv!) "value"))
|
||||
(extra-classes (list)))
|
||||
;; Collect additional class refs
|
||||
(define collect-classes!
|
||||
(fn ()
|
||||
(when (= (tp-type) "class")
|
||||
(set! extra-classes (append extra-classes (list (get (adv!) "value"))))
|
||||
(collect-classes!))))
|
||||
(collect-classes!)
|
||||
(let
|
||||
((tgt (parse-tgt-kw "to" (list (quote me)))))
|
||||
(list (quote add-class) cls tgt)))
|
||||
(if (empty? extra-classes)
|
||||
(list (quote add-class) cls tgt)
|
||||
(cons (quote multi-add-class) (cons tgt (cons cls extra-classes))))))
|
||||
nil)))
|
||||
(define
|
||||
parse-remove-cmd
|
||||
@@ -678,10 +688,19 @@
|
||||
(if
|
||||
(= (tp-type) "class")
|
||||
(let
|
||||
((cls (get (adv!) "value")))
|
||||
((cls (get (adv!) "value"))
|
||||
(extra-classes (list)))
|
||||
(define collect-classes!
|
||||
(fn ()
|
||||
(when (= (tp-type) "class")
|
||||
(set! extra-classes (append extra-classes (list (get (adv!) "value"))))
|
||||
(collect-classes!))))
|
||||
(collect-classes!)
|
||||
(let
|
||||
((tgt (parse-tgt-kw "from" (list (quote me)))))
|
||||
(list (quote remove-class) cls tgt)))
|
||||
(if (empty? extra-classes)
|
||||
(list (quote remove-class) cls tgt)
|
||||
(cons (quote multi-remove-class) (cons tgt (cons cls extra-classes))))))
|
||||
nil)))
|
||||
(define
|
||||
parse-toggle-cmd
|
||||
|
||||
Reference in New Issue
Block a user