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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
import * as parsers from "../../src/shared/urls";
import { expect } from "chai";
import Search from "../../src/shared/settings/Search";
describe("shared/commands/parsers", () => {
describe("#searchUrl", () => {
const config = Search.fromJSON({
default: "google",
engines: {
google: "https://google.com/search?q={}",
yahoo: "https://yahoo.com/search?q={}",
},
});
it("convertes search url", () => {
expect(parsers.searchUrl("google.com", config)).to.equal(
"http://google.com"
);
expect(parsers.searchUrl("google apple", config)).to.equal(
"https://google.com/search?q=apple"
);
expect(parsers.searchUrl("yahoo apple", config)).to.equal(
"https://yahoo.com/search?q=apple"
);
expect(parsers.searchUrl("google apple banana", config)).to.equal(
"https://google.com/search?q=apple%20banana"
);
expect(parsers.searchUrl("yahoo C++CLI", config)).to.equal(
"https://yahoo.com/search?q=C%2B%2BCLI"
);
});
it("user default search engine", () => {
expect(parsers.searchUrl("apple banana", config)).to.equal(
"https://google.com/search?q=apple%20banana"
);
});
it("searches with a word containing a colon", () => {
expect(parsers.searchUrl("foo:", config)).to.equal(
"https://google.com/search?q=foo%3A"
);
expect(parsers.searchUrl("std::vector", config)).to.equal(
"https://google.com/search?q=std%3A%3Avector"
);
});
it("localhost urls", () => {
expect(parsers.searchUrl("localhost", config)).to.equal(
"http://localhost"
);
expect(parsers.searchUrl("http://localhost", config)).to.equal(
"http://localhost/"
);
expect(parsers.searchUrl("localhost:8080", config)).to.equal(
"http://localhost:8080"
);
expect(parsers.searchUrl("localhost:80nan", config)).to.equal(
"https://google.com/search?q=localhost%3A80nan"
);
expect(parsers.searchUrl("localhost 8080", config)).to.equal(
"https://google.com/search?q=localhost%208080"
);
expect(parsers.searchUrl("localhost:80/build", config)).to.equal(
"http://localhost:80/build"
);
});
});
describe("#normalizeUrl", () => {
it("normalize urls", () => {
expect(parsers.normalizeUrl("https://google.com/")).to.equal(
"https://google.com/"
);
expect(parsers.normalizeUrl("google.com")).to.equal("http://google.com");
});
});
});
|