diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-06-26 12:16:42 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-06-26 12:16:42 -0700 |
commit | 24c2898ff6d169b058d41ad68381d2036267ca0d (patch) | |
tree | 88ad198dcce80164ea18b7f849e77d1b7a1ca2a5 /tests/018 | |
parent | bf2e5199e8dbc4e6fd4fcac5dab1ea16f4ec5970 (diff) | |
download | txr-24c2898ff6d169b058d41ad68381d2036267ca0d.tar.gz txr-24c2898ff6d169b058d41ad68381d2036267ca0d.tar.bz2 txr-24c2898ff6d169b058d41ad68381d2036267ca0d.zip |
base-name: bug with empty string suffix.
* stream.c (base_name): We must check for a zero length
suffix, otherwise sub(base, zero, neg(length(suff)))
produces an empty string.
* tests/018/path.tl: Test cases for base-name.
Diffstat (limited to 'tests/018')
-rw-r--r-- | tests/018/path.tl | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/018/path.tl b/tests/018/path.tl index bb45d000..16c44d77 100644 --- a/tests/018/path.tl +++ b/tests/018/path.tl @@ -68,3 +68,31 @@ (long-suffix "a.b/c.d.e/f") nil (long-suffix "a.b/c.d.e/f.g.h") ".g.h" (long-suffix "a.b/c.d.e//") nil) + +(mtest + (base-name "") "" + (base-name "/") "/" + (base-name ".") "." + (base-name "./") "." + (base-name "a") "a" + (base-name "a/") "a" + (base-name "/a") "a" + (base-name "/a/") "a" + (base-name "/a/b") "b" + (base-name "/a/b/") "b" + (base-name "/a/b//") "b" + (base-name "/a/b///") "b") + +(mtest + (base-name "" "") "" + (base-name "/" "/") "/" + (base-name "/" "") "/" + (base-name "." ".") "." + (base-name "." "") "." + (base-name "./" "/") "." + (base-name "a" "a") "a" + (base-name "a" "") "a" + (base-name "a.b" ".b") "a" + (base-name "a.b/" ".b") "a" + (base-name "a.b/" ".b/") "a.b" + (base-name "a.b/" "a.b") "a.b") |