Lines Matching refs:set

27 (define exception:invalid-char-set-cursor
28 (cons 'misc-error "^invalid character set cursor"))
34 (with-test-prefix "char set contents"
36 (pass-if "empty set"
38 (char-set->list (char-set))
43 (char-set->list (char-set #\a))
48 (char-set->list (char-set #\a #\b #\c))
53 (char-set->list (char-set #\a #\c #\e))
56 (with-test-prefix "char set additition"
59 (let ((cs (char-set)))
60 (char-set-adjoin! cs #\x)
62 (char-set->list cs)
66 (let ((cs (char-set #\x)))
67 (char-set-adjoin! cs #\y)
69 (char-set->list cs)
73 (let ((cs (char-set #\x)))
74 (char-set-adjoin! cs #\w)
76 (char-set->list cs)
80 (let ((cs (char-set #\x)))
81 (char-set-adjoin! cs #\z)
83 (char-set->list cs)
87 (let ((cs (char-set #\x)))
88 (char-set-adjoin! cs #\v)
90 (char-set->list cs)
94 (let ((cs (char-set #\u #\v)))
95 (char-set-adjoin! cs #\w)
97 (char-set->list cs)
101 (let ((cs (char-set #\u #\v)))
102 (char-set-adjoin! cs #\t)
104 (char-set->list cs)
108 (let ((cs (char-set #\u #\v)))
109 (char-set-adjoin! cs #\x)
111 (char-set->list cs)
115 (let ((cs (char-set #\u #\v)))
116 (char-set-adjoin! cs #\s)
118 (char-set->list cs)
122 (let ((cs (char-set #\u #\v #\x)))
123 (char-set-adjoin! cs #\w)
125 (char-set->list cs)
129 (let ((cs (char-set #\u #\v #\x)))
130 (char-set-adjoin! cs #\y)
132 (char-set->list cs)
136 (let ((cs (char-set #\u #\v #\x #\y)))
137 (char-set-adjoin! cs #\w)
139 (char-set->list cs)
142 (with-test-prefix "char set union"
144 (char-set= (char-set-union (char-set) (->char-set "abc"))
145 (->char-set "abc")))
148 (char-set= (char-set-union (->char-set "ab") (->char-set "ab"))
149 (->char-set "ab")))
152 (char-set= (char-set-union (->char-set "ab") (->char-set "bc"))
153 (->char-set "abc")))
156 (char-set= (char-set-union (->char-set "ab") (->char-set "cd"))
157 (->char-set "abcd")))
160 (char-set= (char-set-union (->char-set "ab") (->char-set "de"))
161 (->char-set "abde")))
164 (char-set= (char-set-union (->char-set "abc") (->char-set "bcd"))
165 (->char-set "abcd")))
168 (char-set= (char-set-union (->char-set "abdf") (->char-set "abcdefg"))
169 (->char-set "abcdefg")))
172 (char-set= (char-set-union (->char-set "abef") (->char-set "cd"))
173 (->char-set "abcdef")))
176 (char-set= (char-set-union (->char-set "abgh") (->char-set "cd"))
177 (->char-set "abcdgh")))
180 (char-set= (char-set-union (->char-set "bc") (->char-set "ab"))
181 (->char-set "abc")))
184 (char-set= (char-set-union (->char-set "cd") (->char-set "ab"))
185 (->char-set "abcd")))
188 (char-set= (char-set-union (->char-set "de") (->char-set "ab"))
189 (->char-set "abde")))
192 (char-set= (char-set-union (->char-set "cd") (->char-set "abc"))
193 (->char-set "abcd")))
196 (char-set= (char-set-union (->char-set "cd") (->char-set "abcd"))
197 (->char-set "abcd")))
200 (char-set= (char-set-union (->char-set "cde") (->char-set "abcdef"))
201 (->char-set "abcdef"))))
203 (with-test-prefix "char set xor"
205 (char-set= (char-set-xor (char-set) (char-set #\x #\y))
206 (char-set #\x #\y)))
209 (char-set= (char-set-xor (char-set #\x) (char-set #\x))
210 (char-set)))
213 (char-set= (char-set-xor (char-set #\x #\y) (char-set #\x))
214 (char-set #\y)))
217 (char-set= (char-set-xor (char-set #\x #\y) (char-set #\y))
218 (char-set #\x)))
221 (char-set= (char-set-xor (char-set #\w #\x #\y) (char-set #\w))
222 (char-set #\x #\y)))
225 (char-set= (char-set-xor (char-set #\w #\x #\y) (char-set #\x))
226 (char-set #\w #\y)))
229 (char-set= (char-set-xor (char-set #\w #\x #\y) (char-set #\y))
230 (char-set #\w #\x)))
233 (char-set= (char-set-xor (char-set #\u #\v #\x #\y) (char-set #\u))
234 (char-set #\v #\x #\y)))
237 (char-set= (char-set-xor (char-set #\u #\v #\x #\y) (char-set #\v))
238 (char-set #\u #\x #\y)))
241 (char-set= (char-set-xor (char-set #\u #\v #\x #\y) (char-set #\x))
242 (char-set #\u #\v #\y)))
245 (char-set= (char-set-xor (char-set #\u #\v #\x #\y) (char-set #\y))
246 (char-set #\u #\v #\x)))
249 (char-set= (char-set-xor (char-set #\u #\w #\y) (char-set #\u))
250 (char-set #\w #\y)))
253 (char-set= (char-set-xor (char-set #\u #\w #\y) (char-set #\w))
254 (char-set #\u #\y)))
257 (char-set= (char-set-xor (char-set #\u #\w #\y) (char-set #\y))
258 (char-set #\u #\w)))
261 (char-set= (char-set-xor (char-set #\u #\v #\w #\y) (char-set #\v))
262 (char-set #\u #\w #\y))))
265 (with-test-prefix "char-set?"
267 (pass-if "success on empty set"
268 (char-set? (char-set)))
270 (pass-if "success on non-empty set"
271 (char-set? char-set:printing))
273 (pass-if "failure on empty set"
274 (not (char-set? #t))))
277 (with-test-prefix "char-set="
279 (char-set=))
282 (char-set= char-set:lower-case))
285 (char-set= char-set:upper-case char-set:upper-case))
288 (not (char-set= (char-set) (char-set #\a))))
291 (not (char-set= (char-set #\a) (char-set))))
294 (char-set= char-set:blank char-set:blank char-set:blank))
297 (not (char-set= (char-set #\a #\b #\d) (char-set #\a #\c #\d)))))
299 (with-test-prefix "char-set<="
301 (char-set<=))
304 (char-set<= char-set:lower-case))
307 (char-set<= char-set:upper-case char-set:upper-case))
310 (char-set<= (char-set) (char-set #\a)))
313 (not (char-set<= (char-set #\a) (char-set))))
316 (char-set<= char-set:blank char-set:blank char-set:blank))
319 (char-set<= char-set:blank
320 (char-set-adjoin char-set:blank #\F)
321 (char-set-adjoin char-set:blank #\F #\o))))
323 (with-test-prefix "char-set-hash"
324 (pass-if "empty set, bound"
325 (let ((h (char-set-hash char-set:empty 31)))
328 (pass-if "empty set, no bound"
329 (let ((h (char-set-hash char-set:empty)))
332 (pass-if "full set, bound"
333 (let ((h (char-set-hash char-set:full 31)))
336 (pass-if "full set, no bound"
337 (let ((h (char-set-hash char-set:full)))
340 (pass-if "other set, bound"
341 (let ((h (char-set-hash (char-set #\f #\o #\b #\a #\r) 31)))
344 (pass-if "other set, no bound"
345 (let ((h (char-set-hash (char-set #\f #\o #\b #\a #\r))))
349 (with-test-prefix "char-set cursor"
353 (let* ((cs (char-set #\B #\r #\a #\z))
354 (cc (char-set-cursor cs)))
355 (char-set-ref cs 1000)))
358 (let* ((cs (char-set #\B #\r #\a #\z))
359 (cc (char-set-cursor cs)))
360 (char? (char-set-ref cs cc))))
362 (pass-if "end of set fails"
363 (let* ((cs (char-set #\a))
364 (cc (char-set-cursor cs)))
365 (not (end-of-char-set? cc))))
367 (pass-if "end of set succeeds, empty set"
368 (let* ((cs (char-set))
369 (cc (char-set-cursor cs)))
370 (end-of-char-set? cc)))
372 (pass-if "end of set succeeds, non-empty set"
373 (let* ((cs (char-set #\a))
374 (cc (char-set-cursor cs))
375 (cc (char-set-cursor-next cs cc)))
376 (end-of-char-set? cc))))
378 (with-test-prefix "char-set-fold"
381 (= (char-set-fold (lambda (c n) (+ n 1)) 0 (char-set #\a #\b)) 2))
383 (pass-if "copy set"
384 (= (char-set-size (char-set-fold (lambda (c cs) (char-set-adjoin cs c))
385 (char-set) (char-set #\a #\b))) 2)))
387 (define char-set:256
388 (string->char-set (apply string (map integer->char (iota 256)))))
390 (with-test-prefix "char-set-unfold"
392 (pass-if "create char set"
393 (char-set= char-set:256
394 (char-set-unfold (lambda (s) (= s 256)) integer->char
396 (pass-if "create char set (base set)"
397 (char-set= char-set:256
398 (char-set-unfold (lambda (s) (= s 256)) integer->char
399 (lambda (s) (+ s 1)) 0 char-set:empty))))
401 (with-test-prefix "char-set-unfold!"
403 (pass-if "create char set"
404 (char-set= char-set:256
405 (char-set-unfold! (lambda (s) (= s 256)) integer->char
407 (char-set-copy char-set:empty))))
409 (pass-if "create char set"
410 (char-set= char-set:256
411 (char-set-unfold! (lambda (s) (= s 32)) integer->char
413 (char-set-copy char-set:256)))))
416 (with-test-prefix "char-set-for-each"
418 (pass-if "copy char set"
419 (= (char-set-size (let ((cs (char-set)))
420 (char-set-for-each
421 (lambda (c) (char-set-adjoin! cs c))
422 (char-set #\a #\b))
426 (with-test-prefix "char-set-map"
428 (pass-if "upper case char set 1"
429 (char-set= (char-set-map char-upcase
430 (string->char-set "abcdefghijklmnopqrstuvwxyz"))
431 (string->char-set "ABCDEFGHIJKLMNOPQRSTUVWXYZ")))
433 (pass-if "upper case char set 2"
434 (char-set= (char-set-map char-upcase
435 (string->char-set "�����������������������������"))
436 (string->char-set "�����������������������������"))))
438 (with-test-prefix "string->char-set"
440 (pass-if "some char set"
442 (char-set= (list->char-set chars)
443 (string->char-set (apply string chars))))))
445 (with-test-prefix "char-set->string"
447 (pass-if "some char set"
448 (let ((cs (char-set #\g #\u #\i #\l #\e)))
449 (string=? (char-set->string cs)
452 (with-test-prefix "list->char-set"
454 (pass-if "list->char-set"
455 (char-set= (list->char-set '(#\a #\b #\c))
456 (->char-set "abc")))
458 (pass-if "list->char-set!"
459 (let* ((cs (char-set #\a #\z)))
460 (list->char-set! '(#\m #\n) cs)
461 (char-set= cs
462 (char-set #\a #\m #\n #\z)))))
464 (with-test-prefix "string->char-set"
466 (pass-if "string->char-set"
467 (char-set= (string->char-set "foobar")
468 (string->char-set "barfoo")))
470 (pass-if "string->char-set cs"
471 (char-set= (string->char-set "foo" (string->char-set "bar"))
472 (string->char-set "barfoo")))
474 (pass-if "string->char-set!"
475 (let ((cs (string->char-set "bar")))
476 (string->char-set! "foo" cs)
477 (char-set= cs
478 (string->char-set "barfoo")))))
480 (with-test-prefix "char-set-filter"
483 (char-set=
484 (char-set-filter (lambda (c) (char=? c #\x))
485 (->char-set "qrstuvwxyz"))
486 (->char-set #\x)))
489 (char-set=
490 (char-set-filter (lambda (c) (char=? c #\x))
491 (->char-set "qrstuvwxyz")
492 (->char-set "op"))
494 (->char-set "opx")))
497 (let ((cs (->char-set "abc")))
498 (set! cs (char-set-filter! (lambda (c) (char=? c #\x))
499 (->char-set "qrstuvwxyz")
501 (char-set= (string->char-set "abcx")
505 (with-test-prefix "char-set-intersection"
508 (char-set= (char-set-intersection (char-set) (char-set))
509 (char-set)))
512 (char-set= (char-set-intersection (char-set #\a) (char-set #\a))
513 (char-set #\a)))
516 (char-set= (char-set-intersection (char-set #\a #\b) (char-set #\a #\b))
517 (char-set #\a #\b)))
520 (char-set= (char-set-intersection (char-set #\a #\c) (char-set #\a #\c))
521 (char-set #\a #\c)))
524 (char-set= (char-set-intersection (char-set #\a) (char-set))
525 (char-set)))
528 (char-set= (char-set-intersection (char-set) (char-set #\a))
529 (char-set)))
532 (char-set= (char-set-intersection (char-set #\a #\c) (char-set #\b #\d))
533 (char-set)))
536 (char-set= (char-set-intersection (char-set #\a #\c #\d) (char-set #\b #\d))
537 (char-set #\d))))
539 (with-test-prefix "char-set-complement"
542 (char-set= (char-set-complement (char-set))
543 (char-set-union (ucs-range->char-set 0 #xd800)
544 (ucs-range->char-set #xe000 #x110000))))
547 (char-set= (char-set-complement (char-set))
548 (ucs-range->char-set 0 #x110000)))
551 (char-set= (char-set-complement (char-set #\nul))
552 (ucs-range->char-set 1 #x110000)))
555 (char-set= (char-set-complement (char-set (integer->char #x10ffff)))
556 (ucs-range->char-set 0 #x10ffff)))
559 (char-set= (char-set-complement (->char-set "FOO"))
560 (char-set-union (ucs-range->char-set 0 (char->integer #\F))
561 (ucs-range->char-set (char->integer #\G)
563 (ucs-range->char-set (char->integer #\P)
566 (char-set= (char-set-complement (char-set #\a #\b (integer->char #x010300)))
567 (char-set-union (ucs-range->char-set 0 (char->integer #\a))
568 (ucs-range->char-set (char->integer #\c) #x010300)
569 (ucs-range->char-set #x010301 #x110000)))))
571 (with-test-prefix "ucs-range->char-set"
572 (pass-if "char-set"
573 (char-set= (ucs-range->char-set 65 68)
574 (->char-set "ABC")))
576 (pass-if "char-set w/ base"
577 (char-set= (ucs-range->char-set 65 68 #f (->char-set "DEF"))
578 (->char-set "ABCDEF")))
580 (pass-if "char-set!"
581 (let ((cs (->char-set "DEF")))
582 (ucs-range->char-set! 65 68 #f cs)
583 (char-set= cs
584 (->char-set "ABCDEF")))))
586 (with-test-prefix "char-set-count"
588 (= 0 (char-set-count (lambda (c) #t) (char-set))))
591 (= 5 (char-set-count (lambda (c) #t)
592 (->char-set "guile")))))
594 (with-test-prefix "char-set-contains?"
596 (not (char-set-contains? (char-set) #\a)))
599 (char-set-contains? (->char-set "abc") #\a)))
602 (pass-if "char-set-every #t"
603 (char-set-every (lambda (c) #t)
604 (->char-set "abc")))
606 (pass-if "char-set-every #f"
607 (not (char-set-every (lambda (c) (char=? c #\c))
608 (->char-set "abc"))))
610 (pass-if "char-set-any #t"
611 (char-set-any (lambda (c) (char=? c #\c))
612 (->char-set "abc")))
614 (pass-if "char-set-any #f"
615 (not (char-set-any (lambda (c) #f)
616 (->char-set "abc")))))
618 (with-test-prefix "char-set-delete"
620 (char-set= (char-set-delete (->char-set "abc") #\a)
621 (char-set #\b #\c)))
624 (char-set= (char-set-delete (->char-set "abc") #\d)
625 (char-set #\a #\b #\c)))
628 (let ((cs (char-set #\a #\b #\c)))
629 (char-set-delete! cs #\a)
630 (char-set= cs (char-set #\b #\c)))))
632 (with-test-prefix "char-set-difference"
634 (char-set= (char-set-difference (->char-set "foobar") (->char-set "foobar"))
635 (char-set)))
638 (char-set= (char-set-difference (->char-set "foo") (->char-set "bar"))
639 (->char-set "foo")))
642 (char-set= (char-set-difference (->char-set "breakfast") (->char-set "breakroom"))
643 (->char-set "fst"))))
647 (pass-if "char-set:lower-case"
648 (char-set<= (string->char-set "abcdefghijklmnopqrstuvwxyz")
649 char-set:lower-case))
651 (pass-if "char-set:upper-case"
652 (char-set<= (string->char-set "ABCDEFGHIJKLMNOPQRSTUVWXYZ")
653 char-set:upper-case))
655 (pass-if "char-set:title-case"
656 (char-set<= (string->char-set "")
657 char-set:title-case))
659 (pass-if "char-set:letter"
660 (char-set<= (char-set-union
661 (string->char-set "abcdefghijklmnopqrstuvwxyz")
662 (string->char-set "ABCDEFGHIJKLMNOPQRSTUVWXYZ"))
663 char-set:letter))
665 (pass-if "char-set:digit"
666 (char-set<= (string->char-set "0123456789")
667 char-set:digit))
669 (pass-if "char-set:hex-digit"
670 (char-set<= (string->char-set "0123456789abcdefABCDEF")
671 char-set:hex-digit))
673 (pass-if "char-set:letter+digit"
674 (char-set<= (char-set-union
675 (string->char-set "abcdefghijklmnopqrstuvwxyz")
676 (string->char-set "ABCDEFGHIJKLMNOPQRSTUVWXYZ")
677 (string->char-set "0123456789"))
678 char-set:letter+digit))
680 (pass-if "char-set:punctuation"
681 (char-set<= (string->char-set "!\"#%&'()*,-./:;?@[\\]_{}")
682 char-set:punctuation))
684 (pass-if "char-set:symbol"
685 (char-set<= (string->char-set "$+<=>^`|~")
686 char-set:symbol))
688 (pass-if "char-set:graphic"
689 (char-set<= (char-set-union
690 (string->char-set "abcdefghijklmnopqrstuvwxyz")
691 (string->char-set "ABCDEFGHIJKLMNOPQRSTUVWXYZ")
692 (string->char-set "0123456789")
693 (string->char-set "!\"#%&'()*,-./:;?@[\\]_{}")
694 (string->char-set "$+<=>^`|~"))
695 char-set:graphic))
697 (pass-if "char-set:whitespace"
698 (char-set<= (string->char-set
706 char-set:whitespace))
708 (pass-if "char-set:printing"
709 (char-set<= (char-set-union
710 (string->char-set "abcdefghijklmnopqrstuvwxyz")
711 (string->char-set "ABCDEFGHIJKLMNOPQRSTUVWXYZ")
712 (string->char-set "0123456789")
713 (string->char-set "!\"#%&'()*,-./:;?@[\\]_{}")
714 (string->char-set "$+<=>^`|~")
715 (string->char-set (string
722 char-set:printing))
724 (pass-if "char-set:ASCII"
725 (char-set= (ucs-range->char-set 0 128)
726 char-set:ascii))
728 (pass-if "char-set:iso-control"
729 (char-set<= (string->char-set
735 char-set:iso-control)))
753 (pass-if "char-set:lower-case"
754 (char-set<= (string->char-set
757 char-set:lower-case)))
759 (pass-if "char-set:upper-case"
760 (char-set<= (string->char-set
763 char-set:lower-case)))
765 (pass-if "char-set:title-case"
766 (char-set<= (string->char-set "")
767 char-set:title-case))
769 (pass-if "char-set:letter"
770 (char-set<= (string->char-set
780 char-set:letter))
782 (pass-if "char-set:digit"
783 (char-set<= (string->char-set "0123456789")
784 char-set:digit))
786 (pass-if "char-set:hex-digit"
787 (char-set<= (string->char-set "0123456789abcdefABCDEF")
788 char-set:hex-digit))
790 (pass-if "char-set:letter+digit"
791 (char-set<= (char-set-union
792 char-set:letter
793 char-set:digit)
794 char-set:letter+digit))
796 (pass-if "char-set:punctuation"
797 (char-set<= (string->char-set
800 char-set:punctuation))
802 (pass-if "char-set:symbol"
803 (char-set<= (string->char-set
806 char-set:symbol))
811 (pass-if "char-set:graphic"
812 (char-set<= (char-set-union
813 char-set:letter
814 char-set:digit
815 char-set:punctuation
816 char-set:symbol)
817 char-set:graphic))
819 (pass-if "char-set:whitespace"
820 (char-set<= (string->char-set
829 char-set:whitespace))
831 (pass-if "char-set:printing"
832 (char-set<= (char-set-union char-set:graphic char-set:whitespace)
833 char-set:printing))
835 (pass-if "char-set:iso-control"
836 (char-set<= (string->char-set
845 char-set:iso-control)))