11181
|
1 local sep = package.config:match("(.)\n");
|
|
2 describe("util.paths", function ()
|
|
3 local paths = require "util.paths";
|
|
4 describe("#join()", function ()
|
|
5 it("returns single component as-is", function ()
|
|
6 assert.equal("foo", paths.join("foo"));
|
|
7 end);
|
|
8 it("joins paths", function ()
|
|
9 assert.equal("foo"..sep.."bar", paths.join("foo", "bar"))
|
|
10 end);
|
|
11 it("joins longer paths", function ()
|
|
12 assert.equal("foo"..sep.."bar"..sep.."baz", paths.join("foo", "bar", "baz"))
|
|
13 end);
|
|
14 it("joins even longer paths", function ()
|
|
15 assert.equal("foo"..sep.."bar"..sep.."baz"..sep.."moo", paths.join("foo", "bar", "baz", "moo"))
|
|
16 end);
|
|
17 end)
|
|
18
|
|
19 describe("#glob_to_pattern()", function ()
|
|
20 it("works", function ()
|
|
21 assert.equal("^thing.%..*$", paths.glob_to_pattern("thing?.*"))
|
|
22 end);
|
|
23
|
|
24 end)
|
|
25 describe("#resolve_relative_path()", function ()
|
|
26 it("returns absolute paths as-is", function ()
|
|
27 if sep == "/" then
|
|
28 assert.equal("/tmp/path", paths.resolve_relative_path("/run", "/tmp/path"));
|
|
29 elseif sep == "\\" then
|
|
30 assert.equal("C:\\Program Files", paths.resolve_relative_path("A:\\", "C:\\Program Files"));
|
|
31 end
|
|
32 end);
|
|
33 it("resolves relative paths", function ()
|
|
34 if sep == "/" then
|
|
35 assert.equal("/run/path", paths.resolve_relative_path("/run", "path"));
|
|
36 end
|
|
37 end);
|
|
38 end)
|
|
39 end)
|