Comparison

spec/util_paths_spec.lua @ 11181:d2b19560150d

util.paths: Add some tests
author Kim Alvefur <zash@zash.se>
date Sat, 17 Oct 2020 19:00:16 +0200
child 11182:bab8d01e139a
comparison
equal deleted inserted replaced
11180:ab820b2ad199 11181:d2b19560150d
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)