datalog/tests/tool/syntax-color.rkt
Sam Tobin-Hochstadt 8fd18912be Remove extra dirs.
2014-12-01 22:13:42 -05:00

39 lines
1.1 KiB
Racket

#lang racket
(require rackunit
datalog/tool/syntax-color)
(provide syntax-color-tests)
(define (test-color str key)
(define-values (lex color b start end) (get-syntax-token (open-input-string str)))
(test-equal? (format "Syntax Color: ~a: ~a" key str) color key))
(define syntax-color-tests
(test-suite
"syntax-color"
(test-color " " 'whitespace)
(test-color " " 'whitespace)
(test-color "\t" 'whitespace)
(test-color "\n" 'whitespace)
(test-color "% \n" 'comment)
(test-color "% 12 31 2 6\n" 'comment)
(test-color "Var" 'symbol)
(test-color "V124_3" 'symbol)
(test-color "var" 'identifier)
(test-color "123var" 'identifier)
(test-color "(" 'parenthesis)
(test-color ")" 'parenthesis)
(test-color "!=" 'parenthesis)
(test-color "=" 'parenthesis)
(test-color "?" 'parenthesis)
(test-color "~" 'parenthesis)
(test-color "." 'parenthesis)
(test-color "," 'parenthesis)
(test-color ":-" 'parenthesis)
(test-color "\"foo\"" 'string)
(test-color "\"fo\\\"o\"" 'string)
(test-color "\"fo\no\"" 'string)
(test-color "\"foo" 'error)
(test-color ":" 'error)))