26 lines
743 B
Racket
26 lines
743 B
Racket
#lang racket/base
|
|
|
|
(require rackunit
|
|
"../main.rkt"
|
|
"jsmaker-test-framework.rkt")
|
|
|
|
(provide dom-tests)
|
|
|
|
(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))
|