Add a test-case which exercises a branch of end-string-aux.
This commit is contained in:
16
test/simple
16
test/simple
@ -347,3 +347,19 @@ characters if there's a match."
|
|||||||
for s = (create-scanner "(([a-c])+)x")
|
for s = (create-scanner "(([a-c])+)x")
|
||||||
always (equalp (multiple-value-list (scan s "abcxy"))
|
always (equalp (multiple-value-list (scan s "abcxy"))
|
||||||
(list 0 4 #(0 2) #(3 3))))
|
(list 0 4 #(0 2) #(3 3))))
|
||||||
|
|
||||||
|
(labels ((char-code-odd-p (char)
|
||||||
|
(oddp (char-code char)))
|
||||||
|
(char-code-even-p (char)
|
||||||
|
(evenp (char-code char)))
|
||||||
|
(resolver (name)
|
||||||
|
(cond ((string= name "odd") #'char-code-odd-p)
|
||||||
|
((string= name "even") #'char-code-even-p)
|
||||||
|
((string= name "true") (constantly t))
|
||||||
|
(t (error "Can't resolve ~S." name)))))
|
||||||
|
(equalp
|
||||||
|
(let ((*property-resolver* #'resolver))
|
||||||
|
(list (regex-replace-all (create-scanner "\\p{odd}") "abcd" "+")
|
||||||
|
(regex-replace-all (create-scanner "\\p{even}") "abcd" "+")
|
||||||
|
(regex-replace-all (create-scanner "\\p{true}") "abcd" "+")))
|
||||||
|
'("+b+d" "a+c+" "++++")))
|
||||||
|
|||||||
Reference in New Issue
Block a user