summaryrefslogtreecommitdiffstats
path: root/tests/011/patmatch.tl
diff options
context:
space:
mode:
Diffstat (limited to 'tests/011/patmatch.tl')
-rw-r--r--tests/011/patmatch.tl22
1 files changed, 20 insertions, 2 deletions
diff --git a/tests/011/patmatch.tl b/tests/011/patmatch.tl
index 54dda990..6cb00157 100644
--- a/tests/011/patmatch.tl
+++ b/tests/011/patmatch.tl
@@ -364,6 +364,20 @@
(test (when-match `#@{a 2}` "#abb" a) nil)
(test (when-match `#@{a 4}` "#abb" a) nil)
+(let ((z 0))
+ (test (when-match `@z#@a-$` "0#a-$" a) "a")
+ (test (when-match `@z#@a-$` "0#a-$$" a) nil)
+ (test (when-match `@z#@a-$` "0#a-" a) nil)
+ (test (when-match `@z#@a-@b` "0#a-$" (list a b)) ("a" "$"))
+ (test (when-match `@z#@{a #/ab*c/}` "0#abbbc" a) "abbbc")
+ (test (when-match `@z#@{a #/ab*c/}d` "0#abbbcd" a) "abbbc")
+ (test (when-match `@z#@{a 3}@b` "0#abb" a) "abb")
+ (test (when-match `@z#@{a 3}@b` "0#abbbc" (list a b)) ("abb" "bc"))
+ (test (when-match `@z#@{a 4}@b` "0#abb" a) nil)
+ (test (when-match `@z#@{a 3}` "0#abb" a) "abb")
+ (test (when-match `@z#@{a 2}` "0#abb" a) nil)
+ (test (when-match `@z#@{a 4}` "0#abb" a) nil))
+
(macro-time-let ((*stderr* *stdnull*))
(test (when-match `#@{a 4 5}` "#abb" a) :error))
@@ -374,11 +388,15 @@
(test (when-match `@a@{b [0..1]}` "abcd" a) nil)
(test (when-match `@a@{b [0..2]}d` "abcd" a) "a"))
-(let ((x 123))
+(let ((x 123) (z 0))
(test (when-match `^@{x 5}$` "^123 $" t) t)
(test (when-match `^@{x -5}$` "^ 123$" t) t)
(test (when-match `@x@x` "123123" t) t)
- (test (when-match `@x@{x [1..:]}` "12323" t) t))
+ (test (when-match `@x@{x [1..:]}` "12323" t) t)
+ (test (when-match `@z^@{x 5}$` "0^123 $" t) t)
+ (test (when-match `@z^@{x -5}$` "0^ 123$" t) t)
+ (test (when-match `@z@x@x` "0123123" t) t)
+ (test (when-match `@z@x@{x [1..:]}` "012323" t) t))
(let ((a "$"))
(test (when-match `@a-@b` "$-@" b) "@"))