From eed035b792cb3b1b2723fa2b1ca0dd7fb5e5fe31 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 22 Jun 2021 19:33:16 -0700 Subject: 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. --- tests/018/path.tl | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'tests/018') 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) -- cgit v1.2.3