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")
|
||||
always (equalp (multiple-value-list (scan s "abcxy"))
|
||||
(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