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
+13 -15
View File
@@ -1,21 +1,19 @@
#lang racket/base
(require rackunit
"../main.rkt"
(require "../main.rkt"
"jsmaker-test-framework.rkt")
(provide list-tests)
(define list-program
(string-append
(js (define (makeList) (return (list 1 2 3))))
"\nconsole.log(JSON.stringify(makeList()));\n"))
(run-js-if-available 'list-runtime list-program "[1,2,3]")
(define list-tests
(test-suite
"list and quoted datum generation"
(test-case "list and cons"
(check-js-equal? (js (list 1 2 3)) "[1, 2, 3];\n")
(check-js-equal? (js (cons 1 (list 2 3))) "[1].concat([2, 3]);\n"))
(test-case "quoted data"
(check-js-equal? (js (quote alpha)) "\"alpha\";\n")
(check-js-equal? (js (quote (1 2 x))) "[1, 2, \"x\"];\n"))))
(define cons-program
(string-append
(js (define (prepend xs) (return (cons 1 xs))))
"\nconsole.log(JSON.stringify(prepend([2,3])));\n"))
(run-js-if-available 'cons-runtime cons-program "[1,2,3]")
(module+ test
(require rackunit/text-ui)
(run-tests list-tests))
(module+ main
(test-summary 'jsmaker-list-regression))