source: project/release/5/char-set-literals/trunk/tests/run.scm

Last change on this file was 36478, checked in by evhan, 2 years ago

char-set-literals: Port to CHICKEN 5 and tag 0.4

File size: 1.2 KB
Line 
1(import (char-set-literals))
2(import (chicken port))
3(import (test) (srfi 1) (srfi 14))
4
5(test-begin)
6
7(define-syntax test-char-set
8  (syntax-rules ()
9    ((_ literal cs ...)
10     (test literal
11           (list->char-set (append-map (lambda (c)
12                                         (if (pair? c)
13                                             (char-set->list
14                                              (ucs-range->char-set (char->integer (car c))
15                                                                   (add1 (char->integer (cdr c)))))
16                                             (list c)))
17                                       (list cs ...)))
18           (cadr (with-input-from-string literal read))))))
19
20(test-char-set "#[f-x]" '(#\f . #\x))
21(test-char-set "#[0-9]" '(#\0 . #\9))
22(test-char-set "#[a-z0-9]" '(#\a . #\z) '(#\0 . #\9))
23(test-char-set "#[\x21-\x7e]" '(#\x21 . #\x7e))
24(test-char-set "#[()<>@,;:\\\\\"/[\\]?=]" #\( #\) #\< #\> #\@ #\, #\; #\: #\\ #\" #\/ #\[ #\] #\? #\=)
25(test-char-set "#[!-<>-~]" '(#\! . #\<) '(#\> . #\~))
26(test-char-set "#[\"]" #\")
27(test-char-set "#[a-]" #\a #\-)
28(test-char-set "#[-]" #\-)
29(test-char-set "#[-a]" #\a #\-)
30
31(test-end)
32
33(test-exit)
Note: See TracBrowser for help on using the repository browser.