This commit is contained in:
2026-06-08 13:21:57 +02:00
parent 823130e3ac
commit 8bee76328b
23 changed files with 734 additions and 382 deletions
+7 -20
View File
@@ -1,25 +1,12 @@
#lang racket/base
(require rackunit
"../main.rkt"
(require "../demo/dom-exercises.rkt"
"jsmaker-test-framework.rkt")
(provide dom-tests)
(check-contains 'dom-query-selector "document.querySelector(\"p\")" exercise01)
(check-contains 'dom-inner-html "p.innerHTML" exercise01)
(check-contains 'dom-insert-adjacent-html "insertAdjacentHTML" exercise02)
(check-contains 'dom-text-content "textContent" exercise03)
(define dom-snippet
(js
(define title (send document getElementById "title"))
(set! (js-dot title innerHTML) "Hello")
(send title addEventListener "click" (lambda (evt) (return #t)))))
(define dom-tests
(test-suite
"DOM-like JavaScript generation"
(test-case "send and js-dot generate method calls and property assignment"
(check-js-contains? dom-snippet "document.getElementById(\"title\")")
(check-js-contains? dom-snippet "title.innerHTML = \"Hello\";")
(check-js-contains? dom-snippet "title.addEventListener"))))
(module+ test
(require rackunit/text-ui)
(run-tests dom-tests))
(module+ main
(test-summary 'jsmaker-dom-exercises))