diff --git a/beautiful-racket/br/demo/jsonic-2/parser-test.rkt b/beautiful-racket/br/demo/jsonic-2/parser-test.rkt index 2a282ba..5c5c6d1 100644 --- a/beautiful-racket/br/demo/jsonic-2/parser-test.rkt +++ b/beautiful-racket/br/demo/jsonic-2/parser-test.rkt @@ -1,4 +1,24 @@ -#lang brag -jsonic-program: (s-exp | json-char)* -s-exp: SEXP-TOK -json-char: CHAR-TOK +#lang br +(require br/demo/jsonic-2/parser + br/demo/jsonic-2/tokenizer + brag/support + rackunit) + +(check-equal? + (parse-tree (apply-tokenizer tokenize "// line commment\n")) + '(jsonic-program)) +(check-equal? + (parse-tree (apply-tokenizer tokenize "@$ 42 $@")) + '(jsonic-program (s-exp " 42 "))) +(check-equal? + (parse-tree (apply-tokenizer tokenize "hi")) + '(jsonic-program + (json-char "h") + (json-char "i"))) +(check-equal? + (parse-tree (apply-tokenizer tokenize "hi\n// comment\n@$ 42 $@")) + '(jsonic-program + (json-char "h") + (json-char "i") + (json-char "\n") + (s-exp " 42 "))) \ No newline at end of file