From 24c2898ff6d169b058d41ad68381d2036267ca0d Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sat, 26 Jun 2021 12:16:42 -0700 Subject: 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. --- tests/018/path.tl | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'tests/018') 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") -- cgit v1.2.3