mirror of https://github.com/coder/code-server.git
56 lines
1.8 KiB
TypeScript
56 lines
1.8 KiB
TypeScript
import * as assert from "assert"
|
|
import { normalize } from "../src/common/util"
|
|
import { extend } from "../src/node/util"
|
|
|
|
describe("util", () => {
|
|
describe("extend", () => {
|
|
it("should extend", () => {
|
|
const a = { foo: { bar: 0, baz: 2 }, garply: 4, waldo: 6 }
|
|
const b = { foo: { bar: 1, qux: 3 }, garply: "5", fred: 7 }
|
|
const extended = extend(a, b)
|
|
assert.deepEqual(extended, {
|
|
foo: { bar: 1, baz: 2, qux: 3 },
|
|
garply: "5",
|
|
waldo: 6,
|
|
fred: 7,
|
|
})
|
|
})
|
|
|
|
it("should make deep copies of the original objects", () => {
|
|
const a = { foo: 0, bar: { frobnozzle: 2 }, mumble: { qux: { thud: 4 } } }
|
|
const b = { foo: 1, bar: { chad: 3 } }
|
|
const extended = extend(a, b)
|
|
assert.notEqual(a.bar, extended.bar)
|
|
assert.notEqual(b.bar, extended.bar)
|
|
assert.notEqual(a.mumble, extended.mumble)
|
|
assert.notEqual(a.mumble.qux, extended.mumble.qux)
|
|
})
|
|
|
|
it("should handle mismatch in type", () => {
|
|
const a = { foo: { bar: 0, baz: 2, qux: { mumble: 11 } }, garply: 4, waldo: { thud: 10 } }
|
|
const b = { foo: { bar: [1], baz: { plugh: 8 }, qux: 12 }, garply: { nox: 9 }, waldo: 7 }
|
|
const extended = extend(a, b)
|
|
assert.deepEqual(extended, {
|
|
foo: { bar: [1], baz: { plugh: 8 }, qux: 12 },
|
|
garply: { nox: 9 },
|
|
waldo: 7,
|
|
})
|
|
})
|
|
})
|
|
|
|
describe("normalize", () => {
|
|
it("should remove multiple slashes", () => {
|
|
assert.equal(normalize("//foo//bar//baz///mumble"), "/foo/bar/baz/mumble")
|
|
})
|
|
|
|
it("should remove trailing slashes", () => {
|
|
assert.equal(normalize("qux///"), "qux")
|
|
})
|
|
|
|
it("should preserve trailing slash if it exists", () => {
|
|
assert.equal(normalize("qux///", true), "qux/")
|
|
assert.equal(normalize("qux", true), "qux")
|
|
})
|
|
})
|
|
})
|