mirror of
https://github.com/thelounge/thelounge
synced 2024-11-10 06:34:21 +00:00
Add some unit tests for Helper.expandHome
This commit is contained in:
parent
52d5cb2311
commit
22237658cb
2 changed files with 41 additions and 0 deletions
|
@ -157,6 +157,8 @@ function ip2hex(address) {
|
|||
}).join("");
|
||||
}
|
||||
|
||||
// Expand ~ into the current user home dir.
|
||||
// This does *not* support `~other_user/tmp` => `/home/other_user/tmp`.
|
||||
function expandHome(shortenedPath) {
|
||||
if (!shortenedPath) {
|
||||
return "";
|
||||
|
|
39
test/src/helperTest.js
Normal file
39
test/src/helperTest.js
Normal file
|
@ -0,0 +1,39 @@
|
|||
"use strict";
|
||||
|
||||
const expect = require("chai").expect;
|
||||
const os = require("os");
|
||||
const Helper = require("../../src/helper");
|
||||
|
||||
describe("Helper", function() {
|
||||
describe("#expandHome", function() {
|
||||
it("should correctly expand a Unix path", function() {
|
||||
expect([`${os.homedir()}/tmp`, `${os.homedir()}\\tmp`])
|
||||
.to.include(Helper.expandHome("~/tmp"));
|
||||
});
|
||||
|
||||
it("should correctly expand a Windows path", function() {
|
||||
expect(Helper.expandHome("~\\tmp")).to.equal(`${os.homedir()}\\tmp`);
|
||||
});
|
||||
|
||||
it("should correctly expand when not given a specific path", function() {
|
||||
expect(Helper.expandHome("~")).to.equal(os.homedir());
|
||||
});
|
||||
|
||||
it("should not expand paths not starting with tilde", function() {
|
||||
expect(Helper.expandHome("/tmp")).to.match(/^\/tmp|[A-Z]:\\tmp$/);
|
||||
});
|
||||
|
||||
it("should not expand a tilde in the middle of a string", function() {
|
||||
expect(Helper.expandHome("/tmp/~foo"))
|
||||
.to.match(/^\/tmp\/~foo|[A-Z]:\\tmp\\~foo$/);
|
||||
});
|
||||
|
||||
it("should return an empty string when given an empty string", function() {
|
||||
expect(Helper.expandHome("")).to.equal("");
|
||||
});
|
||||
|
||||
it("should return an empty string when given undefined", function() {
|
||||
expect(Helper.expandHome(undefined)).to.equal("");
|
||||
});
|
||||
});
|
||||
});
|
Loading…
Reference in a new issue