oke.
This commit is contained in:
@@ -1,32 +1,13 @@
|
||||
#lang racket/base
|
||||
|
||||
(require rackunit
|
||||
"../main.rkt"
|
||||
(require "../demo/js-usecases.rkt"
|
||||
"jsmaker-test-framework.rkt")
|
||||
|
||||
(provide usecase-tests)
|
||||
(check-contains 'usecase-random "Math.floor" usecase-random-number)
|
||||
(check-contains 'usecase-unique "new Set" usecase-unique-values)
|
||||
(check-contains 'usecase-array-at "return xs[i];" usecase-array-at)
|
||||
(check-contains 'usecase-named-let "while (true)" usecase-sum-to)
|
||||
(check-contains 'usecase-dom "getElementById" usecase-set-html)
|
||||
|
||||
(define counter-program
|
||||
(string-append
|
||||
(js (define (make-counter start)
|
||||
(let ([value start])
|
||||
(return (lambda ()
|
||||
(begin
|
||||
(set! value (+ value 1))
|
||||
(return value)))))))
|
||||
"const c = make_counter(5);\n"
|
||||
"console.log(c());\n"
|
||||
"console.log(c());\n"))
|
||||
|
||||
(define usecase-tests
|
||||
(test-suite
|
||||
"small use cases"
|
||||
(test-case "closures and set!"
|
||||
(check-js-contains? counter-program "function make_counter(start)")
|
||||
(check-js-contains? counter-program "value = value + 1;")
|
||||
(when (node-available?)
|
||||
(check-equal? (run-js/trimmed counter-program) "6\n7")))))
|
||||
|
||||
(module+ test
|
||||
(require rackunit/text-ui)
|
||||
(run-tests usecase-tests))
|
||||
(module+ main
|
||||
(test-summary 'jsmaker-usecases))
|
||||
|
||||
Reference in New Issue
Block a user