spec/util_paths_spec.lua
author Matthew Wild <mwild1@gmail.com>
Mon, 20 Feb 2023 18:10:15 +0000
branch0.12
changeset 12898 0598d822614f
parent 11186 bab8d01e139a
permissions -rw-r--r--
mod_websocket: Fire pre-session-close event (fixes #1800) This event was added in a7c183bb4e64 and is required to make mod_smacks know that a session was intentionally closed and shouldn't be hibernated (see fcea4d9e7502). Because this was missing from mod_websocket's session.close(), mod_smacks would always attempt to hibernate websocket sessions even if they closed cleanly. That mod_websocket has its own copy of session.close() is something to fix another day (probably not in the stable branch). So for now this commit makes the minimal change to get things working again. Thanks to Damian and the Jitsi team for reporting.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11185
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     1
local sep = package.config:match("(.)\n");
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     2
describe("util.paths", function ()
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     3
	local paths = require "util.paths";
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     4
	describe("#join()", function ()
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     5
		it("returns single component as-is", function ()
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     6
			assert.equal("foo", paths.join("foo"));
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     7
		end);
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     8
		it("joins paths", function ()
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     9
			assert.equal("foo"..sep.."bar", paths.join("foo", "bar"))
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    10
		end);
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    11
		it("joins longer paths", function ()
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    12
			assert.equal("foo"..sep.."bar"..sep.."baz", paths.join("foo", "bar", "baz"))
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    13
		end);
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    14
		it("joins even longer paths", function ()
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    15
			assert.equal("foo"..sep.."bar"..sep.."baz"..sep.."moo", paths.join("foo", "bar", "baz", "moo"))
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    16
		end);
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    17
	end)
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    18
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    19
	describe("#glob_to_pattern()", function ()
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    20
		it("works", function ()
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    21
			assert.equal("^thing.%..*$", paths.glob_to_pattern("thing?.*"))
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    22
		end);
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    23
	end)
11186
bab8d01e139a util_paths_spec: Trim trailing white space
Kim Alvefur <zash@zash.se>
parents: 11185
diff changeset
    24
11185
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    25
	describe("#resolve_relative_path()", function ()
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    26
		it("returns absolute paths as-is", function ()
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    27
			if sep == "/" then
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    28
				assert.equal("/tmp/path", paths.resolve_relative_path("/run", "/tmp/path"));
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    29
			elseif sep == "\\" then
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    30
				assert.equal("C:\\Program Files", paths.resolve_relative_path("A:\\", "C:\\Program Files"));
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    31
			end
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    32
		end);
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    33
		it("resolves relative paths", function ()
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    34
			if sep == "/" then
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    35
				assert.equal("/run/path", paths.resolve_relative_path("/run", "path"));
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    36
			end
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    37
		end);
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    38
	end)
d2b19560150d util.paths: Add some tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    39
end)