Alles aangepast.
This commit is contained in:
@@ -1,24 +1,19 @@
|
||||
#lang racket/base
|
||||
|
||||
(require "../main.rkt"
|
||||
"jsmaker-executors.rkt"
|
||||
(require rackunit
|
||||
"../main.rkt"
|
||||
"jsmaker-test-framework.rkt")
|
||||
|
||||
(define tests
|
||||
(list
|
||||
(js-expression-test 'regexp-literal-test (js/expression (regexp-match? #rx"a+" "baac")) "true")
|
||||
(js-expression-test 'regexp-match-basic (js/expression (regexp-match #rx"a+" "baac")) "[\"aa\"]")
|
||||
(js-expression-test 'regexp-match-captures (js/expression (regexp-match #rx"(a)(b)?" "a")) "[\"a\",\"a\",false]")
|
||||
(js-expression-test 'pregexp-match-digits (js/expression (regexp-match #px"([a-z]+)-([0-9]+)" "abc-123")) "[\"abc-123\",\"abc\",\"123\"]")
|
||||
(js-expression-test 'regexp-match-star (js/expression (regexp-match* #rx"a+" "baacaa")) "[\"aa\",\"aa\"]")
|
||||
(js-expression-test 'regexp-split (js/expression (regexp-split #rx"," "a,b,,c")) "[\"a\",\"b\",\"\",\"c\"]")
|
||||
(js-expression-test 'regexp-replace (js/expression (regexp-replace #rx"a" "banana" "X")) "\"bXnana\"")
|
||||
(js-expression-test 'regexp-replace-star (js/expression (regexp-replace* #rx"a" "banana" "X")) "\"bXnXnX\"")
|
||||
(js-expression-test 'regexp-replace-backref (js/expression (regexp-replace #rx"([a-z]+)-([0-9]+)" "abc-123" "\\2/\\1")) "\"123/abc\"")
|
||||
(js-expression-test 'regexp-replace-full (js/expression (regexp-replace #rx"a+" "baac" "[\\0]")) "\"b[aa]c\"")
|
||||
(js-expression-test 'regexp-pattern-string (js/expression (regexp-match "a+" "baac")) "[\"aa\"]")
|
||||
(js-expression-test 'regexp-quote (js/expression (regexp-quote "a+b*c?")) "\"a\\\\+b\\\\*c\\\\?\"")
|
||||
(js-expression-test 'regexp-match-positions (js/expression (regexp-match-positions #rx"(a)(b)?" "xa")) "[[1,2],[1,2],false]")))
|
||||
(provide regexp-tests)
|
||||
|
||||
(define engine (find-js-engine))
|
||||
(run-jsmaker-regression 'jsmaker-regexp-regression tests "/tmp/jsmaker-regexp-regression.js" #:engine engine)
|
||||
(define regexp-tests
|
||||
(test-suite
|
||||
"string escaping regression tests"
|
||||
(test-case "strings are JavaScript escaped"
|
||||
(check-js-equal? (js "a\"b") "\"a\\\"b\";\n")
|
||||
(check-js-equal? (js "a\\b") "\"a\\\\b\";\n")
|
||||
(check-js-equal? (js "a\nb") "\"a\\nb\";\n"))))
|
||||
|
||||
(module+ test
|
||||
(require rackunit/text-ui)
|
||||
(run-tests regexp-tests))
|
||||
|
||||
Reference in New Issue
Block a user