diff options
author | Kim Alvefur <zash@zash.se> | 2020-10-17 19:00:16 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2020-10-17 19:00:16 +0200 |
commit | efb290407fdf5ae6142b8ce1a0033d7cefdba69e (patch) | |
tree | d9028e00f8788cea230fab9ffae599fd3f9122f7 /spec/util_paths_spec.lua | |
parent | c7174791abdcce64bb8d532a52503ce4d4bd4e7f (diff) | |
download | prosody-efb290407fdf5ae6142b8ce1a0033d7cefdba69e.tar.gz prosody-efb290407fdf5ae6142b8ce1a0033d7cefdba69e.zip |
util.paths: Add some tests
Diffstat (limited to 'spec/util_paths_spec.lua')
-rw-r--r-- | spec/util_paths_spec.lua | 39 |
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) |