-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
/
utils.spec.js
63 lines (55 loc) 路 1.69 KB
/
utils.spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
"use strict";
const utils = require("../lib/utils");
const { prettifyTargets, prettifyVersion, semverify, findSuggestion } = utils;
describe("utils", () => {
describe("semverify", () => {
it("returns", () => {
expect(semverify("1")).toBe("1.0.0");
expect(semverify("1.0")).toBe("1.0.0");
expect(semverify("1.0.0")).toBe("1.0.0");
expect(semverify(1)).toBe("1.0.0");
expect(semverify(1.2)).toBe("1.2.0");
});
it("throws", () => {
const invalidSemver = () => {
semverify("invalid");
};
expect(invalidSemver).toThrow();
});
});
describe("prettifyVersion", () => {
it("returns", () => {
expect(prettifyVersion(true)).toBe(true);
expect(prettifyVersion("0.16.0")).toBe("0.16");
expect(prettifyVersion("1.0.0")).toBe("1");
expect(prettifyVersion("1.1.0")).toBe("1.1");
expect(prettifyVersion("1.0.2")).toBe("1.0.2");
expect(prettifyVersion("1.2.3")).toBe("1.2.3");
});
});
describe("prettifyTargets", () => {
it("returns", () => {
expect(prettifyTargets({})).toEqual({});
expect(
prettifyTargets({
chrome: "54.0.0",
electron: "1.6.0",
node: "0.12.0",
}),
).toEqual({
chrome: "54",
electron: "1.6",
node: "0.12",
});
});
});
describe("findSuggestion", () => {
it("returns", () => {
const options = ["one", "two", "three"];
expect(findSuggestion(options, "onr")).toEqual("one");
expect(findSuggestion(options, "tree")).toEqual("three");
expect(findSuggestion(options, "")).toEqual("one");
expect(findSuggestion(options, "xxx")).toEqual("one");
});
});
});