aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2020-10-17 19:00:16 +0200
committerKim Alvefur <zash@zash.se>2020-10-17 19:00:16 +0200
commitfce45aff34dea1959b0640d9a02374c6bb5897de (patch)
treed9028e00f8788cea230fab9ffae599fd3f9122f7 /spec
parent6b306e33131a800f7a6c914f3ca6d65a81371019 (diff)
downloadprosody-fce45aff34dea1959b0640d9a02374c6bb5897de.tar.gz
prosody-fce45aff34dea1959b0640d9a02374c6bb5897de.zip
util.paths: Add some tests
Diffstat (limited to 'spec')
-rw-r--r--spec/util_paths_spec.lua39
1 files changed, 39 insertions, 0 deletions
diff --git a/spec/util_paths_spec.lua b/spec/util_paths_spec.lua
new file mode 100644
index 00000000..243b35fb
--- /dev/null
+++ b/spec/util_paths_spec.lua
@@ -0,0 +1,39 @@
+local sep = package.config:match("(.)\n");
+describe("util.paths", function ()
+ local paths = require "util.paths";
+ describe("#join()", function ()
+ it("returns single component as-is", function ()
+ assert.equal("foo", paths.join("foo"));
+ end);
+ it("joins paths", function ()
+ assert.equal("foo"..sep.."bar", paths.join("foo", "bar"))
+ end);
+ it("joins longer paths", function ()
+ assert.equal("foo"..sep.."bar"..sep.."baz", paths.join("foo", "bar", "baz"))
+ end);
+ it("joins even longer paths", function ()
+ assert.equal("foo"..sep.."bar"..sep.."baz"..sep.."moo", paths.join("foo", "bar", "baz", "moo"))
+ end);
+ end)
+
+ describe("#glob_to_pattern()", function ()
+ it("works", function ()
+ assert.equal("^thing.%..*$", paths.glob_to_pattern("thing?.*"))
+ end);
+
+ end)
+ describe("#resolve_relative_path()", function ()
+ it("returns absolute paths as-is", function ()
+ if sep == "/" then
+ assert.equal("/tmp/path", paths.resolve_relative_path("/run", "/tmp/path"));
+ elseif sep == "\\" then
+ assert.equal("C:\\Program Files", paths.resolve_relative_path("A:\\", "C:\\Program Files"));
+ end
+ end);
+ it("resolves relative paths", function ()
+ if sep == "/" then
+ assert.equal("/run/path", paths.resolve_relative_path("/run", "path"));
+ end
+ end);
+ end)
+end)