-
Notifications
You must be signed in to change notification settings - Fork 0
/
extractSourceMapURL.test.ts
100 lines (93 loc) · 2.43 KB
/
extractSourceMapURL.test.ts
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import { expectErr, expectOk } from "./deps/option-t.ts";
import { assertEquals } from "./deps/testing.ts";
import { extractSourceMapURL } from "./extractSourceMapURL.ts";
Deno.test("extractSourceMapURL()", async (t) => {
const base = "https://example.com";
await t.step("in single-line comment", () => {
const code = `
// Some code
//# sourceMappingURL=example.map
`;
assertEquals(
expectOk(extractSourceMapURL(code, base), "Source map URL not found"),
{ url: new URL("example.map", base), start: 43, end: 54 },
);
});
await t.step("in /* comment", () => {
const code = `
Some code
/*# sourceMappingURL=example.map */
`;
assertEquals(
expectOk(extractSourceMapURL(code, base), "Source map URL not found"),
{ url: new URL("example.map", base), start: 44, end: 55 },
);
});
await t.step("in unclosed multi-line comment", () => {
const code = `
/*
Some code
//# sourceMappingURL=example.map
`;
assertEquals(
expectOk(extractSourceMapURL(code, base), "Source map URL not found"),
{ url: new URL("example.map", base), start: 51, end: 62 },
);
});
await t.step("as trailing whitespace", () => {
const code = `
// Some code
//# sourceMappingURL=example.map
`;
assertEquals(
expectOk(extractSourceMapURL(code, base), "Source map URL not found"),
{ url: new URL("example.map", base), start: 43, end: 54 },
);
});
await t.step("as code character", () => {
const code = `
// Some code
//# sourceMappingURL=example.map
const url = "https://example.com";
`;
assertEquals(
expectOk(extractSourceMapURL(code, base), "Source map URL not found"),
{ url: new URL("example.map", base), start: 43, end: 54 },
);
});
await t.step("not found", () => {
assertEquals(
expectErr(
extractSourceMapURL(
`
// Some code
const url = "https://example.com";
`,
base,
),
"Source map URL found",
),
{
name: "NotFoundError",
message: "Source map URL is not found",
},
);
});
assertEquals(
expectErr(
extractSourceMapURL(
`
// Some code
const url = "https://example.com";
/*# sourceMappingURL=example.map
`,
base,
),
"Source map URL found",
),
{
name: "NotFoundError",
message: "Source map URL is not found",
},
);
});