-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLessToHtmlSpec.js
129 lines (119 loc) · 2.78 KB
/
LessToHtmlSpec.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
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
'use strict';
var _index = require('../lib/index.js');
var _index2 = _interopRequireDefault(_index);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Test Suite', () => {
var lth = new _index2.default();
let input = 'div.x{color:#fff}';
let result = "<div class=''><div class='x'></div></div>";
let inputTree = {
'a': {
'type': 'a',
'b': {
'type': 'b'
}
}
};
let expectTree = {
'a': {
'type': 'a',
'class': 'a',
'b': {
'type': 'b',
'class': 'b'
}
}
};
beforeEach(function () {
//console.log('start')
});
it('should be a instance of LessToHtml', () => {
expect(lth instanceof _index2.default).toBeTruthy();
});
it('should be parse correct', () => {
lth.parse(input).then(data => {
expect(data).toEqual(result);
});
});
it('should visit tree correct', () => {
expect(lth.visit(inputTree)).toEqual(expectTree);
});
describe('should renderTag correct', () => {
let inputDom = {
'tag': {
'name': 'div',
'className': ['a', 'b']
},
'children': [{
'tag': {
'name': 'a',
'className': ['c', 'd']
},
'children': [{
'tag': {
'name': 'p',
'className': ['e', 'f']
}
}]
}, {
'tag': {
'name': 'span',
'className': []
}
}]
};
let inputDom2 = {
'tag': {
'name': 'div',
'className': ['a', 'b']
},
'children': [{
'tag': {
'name': 'a',
'className': ['c', 'd']
},
'children': [{
'tag': {
'name': 'p',
'className': ['e', 'f']
}
}]
}, {
'tag': {
'name': 'span'
}
}]
};
let inputDom3 = {
'tag': {
'name': 'div',
'className': ['a', 'b']
},
'children': [{
'tag': {
'name': 'a',
'className': ['c', 'd']
},
'children': [{
'tag': {
'name': 'p',
'className': ['e', 'f']
}
}]
}, {
'tag': {}
}]
};
let expectDom = `<div class='a b'><a class='c d'><p class='e f'></p></a><span class=''></span></div>`;
let expectDom3 = `<div class='a b'><a class='c d'><p class='e f'></p></a><div class=''></div></div>`;
it('should renderTag correct', () => {
expect(lth.renderTag(inputDom)).toEqual(expectDom);
});
it('should renderTag correct', () => {
expect(lth.renderTag(inputDom2)).toEqual(expectDom);
});
it('should renderTag correct', () => {
expect(lth.renderTag(inputDom3)).toEqual(expectDom3);
});
});
});