diff --git a/ansi-tests/mismatch.lsp b/ansi-tests/mismatch.lsp index 1b52e60612462b554674f43a2cc3ef96d51fd1f2..bcfaf3012d47400dd48d0385662e3e1b1fa735b8 100644 --- a/ansi-tests/mismatch.lsp +++ b/ansi-tests/mismatch.lsp @@ -597,6 +597,21 @@ (mismatch m a :from-end t))) (4 4 5 nil nil 6 5 6)) +(deftest mistmatch-string.25 + (let ((s0 "12345") + (s1 "123A") + (s2 "245")) + (do-special-strings + (s s0 nil) + (assert (null (mismatch s s0))) + (assert (null (mismatch s0 s))) + (assert (null (mismatch s s0 :from-end t))) + (assert (null (mismatch s0 s :from-end t))) + (assert (eql (mismatch s s1) 3)) + (assert (eql (mismatch s1 s) 3)) + )) + nil) + ;;; test and test-not tests (defharmless mismatch.test-and-test-not.1 diff --git a/ansi-tests/search-string.lsp b/ansi-tests/search-string.lsp index 791d919ffb11eb9eb3547c42479f91517fea68d0..a0fcfda63c9266258355cc05863236cc9f4179fc 100644 --- a/ansi-tests/search-string.lsp +++ b/ansi-tests/search-string.lsp @@ -175,4 +175,23 @@ (let ((pat "m") (target '"adgmnpq")) (search pat target :test-not #'char>=)) - 4) \ No newline at end of file + 4) + +;;; Specialized strings + +(deftest search-string.19 + (do-special-strings + (s "a" nil) + (assert (eql (search s "xyza123apqr") 3)) + (assert (eql (search s "xyza1a3apqr" :start2 4) 5)) + (assert (eql (search s "xyza123apqr" :from-end t) 7))) + nil) + +(deftest search-string.20 + (do-special-strings + (s "xababcdefabc123ababc18" nil) + (assert (eql (search "abc" s) 3)) + (assert (eql (search "abc" s :start2 4) 9)) + (assert (eql (search "abc" s :from-end t) 17))) + nil) +