-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathparse.test.js
More file actions
68 lines (56 loc) · 1.81 KB
/
parse.test.js
File metadata and controls
68 lines (56 loc) · 1.81 KB
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
'use strict';
const parse = require('./parse');
test('Usage test', () => {
const myname = 'leecjson';
const src = `<img src="@ref(./b.png)" /> <img src="@ref(./c.png)" /> <img src="@ref(happy)" />`;
// expect output
let e = '\"\"';
e += ' + ' + JSON.stringify(`<img src="`);
e += ' + ' + myname;
e += ' + ' + JSON.stringify(`" /> <img src="`);
e += ' + ' + myname;
e += ' + ' + JSON.stringify(`" /> <img src="`);
e += ' + ' + myname;
e += ' + ' + JSON.stringify(`" />`);
expect(parse(src, ref => myname)).toBe(e);
});
test('Specific test A', () => {
const src = `A@ref(./b.png)@ref(./c.png)@ref(zz)`; // @ref are end of src
// expect output
let e = '\"\"';
e += ' + ' + JSON.stringify('A');
e += ' + ' + './b.png';
e += ' + ' + './c.png';
e += ' + ' + 'zz';
expect(parse(src, ref => ref)).toBe(e);
});
test('Specific test B', () => {
const src = `@ref(./b.png)@ref(./c.png)@ref(zz)A`; // @ref are front of src
// expect output
let e = '\"\"';
e += ' + ' + './b.png';
e += ' + ' + './c.png';
e += ' + ' + 'zz';
e += ' + ' + JSON.stringify('A');
expect(parse(src, ref => ref)).toBe(e);
});
test('Specific test C', () => {
const src = '';
// expect output
let e = '\"\"';
expect(parse(src, ref => ref)).toBe(e);
});
test('Specific test D', () => {
const src = '.html { background-color: red; }';
// expect output
let e = '\"\"' + ' + ' + JSON.stringify('.html { background-color: red; }');
expect(parse(src, ref => ref)).toBe(e);
});
test('Error test A', () => {
const src = `@ref(./b.png)@ref(./c.png A`; // Should throw an Error
expect(parse.bind(undefined, src, ref => ref)).toThrow(Error);
});
test('Error test B', () => {
const src = `... @ref() ... @ref(./c.png) A`; // Should throw an Error
expect(parse.bind(undefined, src, ref => ref)).toThrow(Error);
});