summaryrefslogtreecommitdiffstats
path: root/tests/018
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-06-22 19:33:16 -0700
committerKaz Kylheku <kaz@kylheku.com>2021-06-22 19:33:16 -0700
commiteed035b792cb3b1b2723fa2b1ca0dd7fb5e5fe31 (patch)
tree8f451748a4826c95ed4996f434754a1bdb2befe6 /tests/018
parentb9db5d41cbf4ef8fe1c07bf0f43e01e42e632702 (diff)
downloadtxr-eed035b792cb3b1b2723fa2b1ca0dd7fb5e5fe31.tar.gz
txr-eed035b792cb3b1b2723fa2b1ca0dd7fb5e5fe31.tar.bz2
txr-eed035b792cb3b1b2723fa2b1ca0dd7fb5e5fe31.zip
short-suffix, long-suffix: no match across slash.
* stream.c (short_suffix, long_suffix): Take path separator characters into account; the suffix must not span across separators. The trailing separator must also not appear in the suffix. * tests/018/path.tl: Test cases added. * txr.1: Redocumented.
Diffstat (limited to 'tests/018')
-rw-r--r--tests/018/path.tl26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/018/path.tl b/tests/018/path.tl
index be95d6c1..3dcb5eb3 100644
--- a/tests/018/path.tl
+++ b/tests/018/path.tl
@@ -32,3 +32,29 @@
(long-suffix "foo.txt.gz") "txt.gz"
(long-suffix ".gz") "gz"
(long-suffix ".txt.gz") "txt.gz")
+
+(mtest
+ (short-suffix "/") nil
+ (short-suffix "a/") nil
+ (short-suffix ".a/") "a"
+ (short-suffix ".a/b") nil
+ (short-suffix ".a/b/") nil
+ (short-suffix ".a/b/.b") "b"
+ (short-suffix ".a/b/.b/") "b"
+ (short-suffix ".a/b/c.b") "b"
+ (short-suffix ".a/b/c.b/") "b"
+ (short-suffix ".a/b/c.b//") nil)
+
+(mtest
+ (long-suffix "/") nil
+ (long-suffix "a/") nil
+ (long-suffix ".a/") "a"
+ (long-suffix ".a/b") nil
+ (long-suffix ".a/b/") nil
+ (long-suffix ".a/b/.b") "b"
+ (long-suffix ".a/b/.b/") "b"
+ (long-suffix ".a/b/c.b") "b"
+ (long-suffix ".a/b/c.b/") "b"
+ (long-suffix "a.b/c.d.e") "d.e"
+ (long-suffix "a.b/c.d.e/") "d.e"
+ (long-suffix "a.b/c.d.e//") nil)