aboutsummaryrefslogtreecommitdiffhomepage
path: root/.config/nvim/lua/tests/uniquify.lua
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2022-02-20 15:42:46 +0900
committernsfisis <nsfisis@gmail.com>2022-02-20 15:42:46 +0900
commit2e29201579e5dec9e13bedf642d8221bfc993ae9 (patch)
tree777e0ad0e0b1ce661d37632ee3ebdebb12733aba /.config/nvim/lua/tests/uniquify.lua
parent29839496b63e10aa536d57771c45c2a429707503 (diff)
downloaddotfiles-2e29201579e5dec9e13bedf642d8221bfc993ae9.tar.gz
dotfiles-2e29201579e5dec9e13bedf642d8221bfc993ae9.tar.zst
dotfiles-2e29201579e5dec9e13bedf642d8221bfc993ae9.zip
neovim: add test code for uniquify
Diffstat (limited to '.config/nvim/lua/tests/uniquify.lua')
-rw-r--r--.config/nvim/lua/tests/uniquify.lua31
1 files changed, 31 insertions, 0 deletions
diff --git a/.config/nvim/lua/tests/uniquify.lua b/.config/nvim/lua/tests/uniquify.lua
new file mode 100644
index 0000000..9f58298
--- /dev/null
+++ b/.config/nvim/lua/tests/uniquify.lua
@@ -0,0 +1,31 @@
+local M = {}
+
+local uniquify = require('uniquify').uniquify
+
+
+function M.test(t)
+ local test_cases = {
+ -- expected, this_path, other_paths
+ {'foo.txt', 'foo.txt', {}},
+ {'foo.txt', 'bar/foo.txt', {}},
+ {'foo.txt', 'foo.txt', {'foo.txt'}},
+ {'bar/foo.txt', 'bar/foo.txt', {'foo.txt'}},
+ {'bar/foo.txt', 'bar/foo.txt', {'baz/foo.txt'}},
+ {'foo.txt', 'bar/foo.txt', {'bar.txt', 'baz.txt'}},
+ {'foo.txt', 'bar/foo.txt', {'bar.txt', 'baz.txt'}},
+ {'baz.txt', 'foo/bar/baz.txt', {}},
+ {'foo/b/baz.txt', 'foo/bar/baz.txt', {'spam/bar/baz.txt'}},
+ {'foo/b/baz.txt', 'foo/bar/baz.txt', {'fiz/foo/bar/baz.txt', 'spam/bar/baz.txt'}},
+ {'fiz/f/b/baz.txt', 'fiz/foo/bar/baz.txt', {'foo/bar/baz.txt'}},
+ }
+
+ for _, row in ipairs(test_cases) do
+ local expected = row[1]
+ local this_path = row[2]
+ local other_paths = row[3]
+ t:assert_eq(expected, uniquify(this_path, other_paths))
+ end
+end
+
+
+return M