Skip to content

Commit 617fcbc

Browse files
committed
- remove empty children array from results
- fix handling of vnode.text result
1 parent 8e38f0e commit 617fcbc

File tree

1 file changed

+27
-28
lines changed

1 file changed

+27
-28
lines changed

tests/Tests.hx

Lines changed: 27 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -121,14 +121,14 @@ class TestHTMLRenderer extends TestCase implements IthrilView {
121121
class TestIthil extends TestCase implements IthrilView {
122122

123123
public function testBasic() {
124-
assert({tag: 'div', attrs: {}, children: []}, [(div)]);
124+
assert({tag: 'div', attrs: {}}, [(div)]);
125125
}
126126

127127
public function testClassname() {
128-
assert({tag: 'div', attrs: {'class': 'test'}, children: []}, [(div.test)]);
129-
assert({tag: 'div', attrs: {'class': 'test second'}, children: []}, [(div.test.second)]);
130-
assert({tag: 'div', attrs: {'class': 'test-with-hyphen'}, children: []}, [(div.test-with-hyphen)]);
131-
assert({tag: 'div', attrs: {'class': ['c1', 'c2']}, children: []}, [(div ('class' = ['c1', 'c2']))]);
128+
assert({tag: 'div', attrs: {'class': 'test'}}, [(div.test)]);
129+
assert({tag: 'div', attrs: {'class': 'test second'}}, [(div.test.second)]);
130+
assert({tag: 'div', attrs: {'class': 'test-with-hyphen'}}, [(div.test-with-hyphen)]);
131+
assert({tag: 'div', attrs: {'class': ['c1', 'c2']}}, [(div ('class' = ['c1', 'c2']))]);
132132
}
133133

134134
/**
@@ -138,92 +138,91 @@ class TestIthil extends TestCase implements IthrilView {
138138
* It does not, however, de-dupe classes if the same class is declared twice.
139139
*/
140140
public function testClassnameCombine() {
141-
assert({tag: 'div', attrs: {'class': 'test test2'}, children: []}, [(div.test ('class' = 'test2'))]);
142-
assert({tag: 'div', attrs: {'class': 'test test2'}, children: []}, [(div.test ('class' = ['test2']))]);
143-
assert({tag: 'div', attrs: {'class': 'test test2'}, children: []}, [(div ('class' = 'test') ('class' = 'test2'))]);
141+
assert({tag: 'div', attrs: {'class': 'test test2'}}, [(div.test ('class' = 'test2'))]);
142+
assert({tag: 'div', attrs: {'class': 'test test2'}}, [(div.test ('class' = ['test2']))]);
143+
assert({tag: 'div', attrs: {'class': 'test test2'}}, [(div ('class' = 'test') ('class' = 'test2'))]);
144144
}
145145

146146
public function testId() {
147-
assert({tag: 'div', attrs: {'id': 'test'}, children: []}, [(div+test)]);
148-
assert({tag: 'div', attrs: {'id': 'test-with-hyphen'}, children: []}, [(div+test-with-hyphen)]);
147+
assert({tag: 'div', attrs: {'id': 'test'}}, [(div+test)]);
148+
assert({tag: 'div', attrs: {'id': 'test-with-hyphen'}}, [(div+test-with-hyphen)]);
149149
}
150150

151151
public function testChildren() {
152-
assert({tag: 'div', children: ([{tag: 'div', attrs: {}, children: []}]:Dynamic)}, [
152+
assert({tag: 'div', children: ([{tag: 'div', attrs: {}}]:Dynamic)}, [
153153
(div)
154154
(div)
155155
]);
156156

157-
assert({tag: 'div', children: ([{tag: 'div', children: [{tag: 'div', attrs: {}, children: []}]}]:Dynamic)}, [
157+
assert({tag: 'div', children: ([{tag: 'div', children: [{tag: 'div', attrs: {}}]}]:Dynamic)}, [
158158
(div)
159159
(div)
160160
(div)
161161
]);
162162

163-
assert({tag: 'div', children: ([{tag: 'div', attrs: {}, children: []}, {tag: 'div', attrs: {}, children: []}]:Dynamic)}, [
163+
assert({tag: 'div', children: ([{tag: 'div', attrs: {}}, {tag: 'div', attrs: {}}]:Dynamic)}, [
164164
(div)
165165
(div)(div)
166166
]);
167167

168-
assert({tag: 'div', children: ([{tag: 'div', attrs: {}, children: []}, {tag: 'div', attrs: {}, children: []}]:Dynamic)}, [
168+
assert({tag: 'div', children: ([{tag: 'div', attrs: {}}, {tag: 'div', attrs: {}}]:Dynamic)}, [
169169
(div)
170170
(div)
171171
(div)
172172
]);
173173

174-
assert(([ { "children": [ { "children": [], "tag": "div", "attrs": {} } ], "tag": "div" }, { "children": [], "tag": "div", "attrs": {} } ]: Dynamic), [
174+
assert(([ { "children": [ { "tag": "div", "attrs": {} } ], "tag": "div" }, { "tag": "div", "attrs": {} } ]: Dynamic), [
175175
(div)
176176
(div)
177177
(div)
178178
]);
179179
}
180180

181181
public function testAttribute() {
182-
assert({tag: 'div', attrs: {attr: 'test'}, children: []}, [(div[attr='test'])]);
183-
assert({tag: 'div', attrs: {attr: 'test', second: 'test'}, children: []}, [(div[attr='test'][second='test'])]);
182+
assert({tag: 'div', attrs: {attr: 'test'}}, [(div[attr='test'])]);
183+
assert({tag: 'div', attrs: {attr: 'test', second: 'test'}}, [(div[attr='test'][second='test'])]);
184184
}
185185

186186
public function testCallableAttribute() {
187187
function attr(): {attr:String} return {
188188
attr: 'test'
189189
}
190-
assert({tag: 'div', attrs: {attr: 'test'}, children: []}, [(div (attr))]);
190+
assert({tag: 'div', attrs: {attr: 'test'}}, [(div (attr))]);
191191
}
192192

193193
public function testCombineAttributes() {
194-
assert({tag: 'div', attrs: {a: 1, b: 2}, children: []}, [
194+
assert({tag: 'div', attrs: {a: 1, b: 2}}, [
195195
(div (a=1) (b=2))
196196
]);
197-
assert({tag: 'div', attrs: {a: 1}, children: []}, [
197+
assert({tag: 'div', attrs: {a: 1}}, [
198198
(div (a=1) (a=2))
199199
]);
200200
function attr() return {
201201
attr: 'test'
202202
}
203-
assert({tag: 'div', attrs: {a: 1, attr: 'test'}, children: []}, [
203+
assert({tag: 'div', attrs: {a: 1, attr: 'test'}}, [
204204
(div (a=1) (attr))
205205
]);
206-
assert({ "children": "ok", "tag": "div", "attrs": { "attr": "test", "a": 1, "id": "id" } }, [
206+
assert({ "text": "ok", "tag": "div", "attrs": { "attr": "test", "a": 1, "id": "id" } }, [
207207
(div+id (a=1) (attr) > 'ok')
208208
]);
209209
}
210210

211211
public function testCombination() {
212-
assert({tag: 'div', attrs: {'class': 'test', id: 'test', attr: 'test'}, children: []}, [(div[attr='test'].test+test)]);
213-
assert({ "children": "a", "tag": "div", "attrs": { "attr": "test", "class": "test", "id": "test" } }, [(div[attr='test'].test+test > 'a')]);
214-
assert({tag: 'div', attrs: {'class': 'test', id: 'test', attr: 'test', attr2: 'test'}, children: []}, [(div[attr='test'].test+test[attr2='test'])]);
212+
assert({tag: 'div', attrs: {'class': 'test', id: 'test', attr: 'test'}}, [(div[attr='test'].test+test)]);
213+
assert({ "text": "a", "tag": "div", "attrs": { "attr": "test", "class": "test", "id": "test" } }, [(div[attr='test'].test+test > 'a')]);
214+
assert({tag: 'div', attrs: {'class': 'test', id: 'test', attr: 'test', attr2: 'test'}}, [(div[attr='test'].test+test[attr2='test'])]);
215215
}
216216

217217
public function testTextnode() {
218218
assert({
219219
"text": "Test",
220-
"children": [],
221220
"tag": "div"
222221
}, [(div > 'Test')]);
223222
}
224223

225224
public function testAddToExistingAttributes() {
226-
var expected = {tag: 'div', attrs: {attr: 'test', id: 'test', 'class': 'test'}, children: []};
225+
var expected = {tag: 'div', attrs: {attr: 'test', id: 'test', 'class': 'test'}};
227226
assert(expected, [(div.test+test (attr ='test'))]);
228227
assert(expected, [(div.test+test
229228
((function(): Dynamic {
@@ -268,7 +267,7 @@ class TestIthil extends TestCase implements IthrilView {
268267
}
269268

270269
public function testCustomElement() {
271-
assert({tag: 'div', attrs: {attr: 'test'}, children: []}, new CustomElement().view({ tag: '', attrs: { attr: 'test' } }));
270+
assert({tag: 'div', attrs: {attr: 'test'}}, new CustomElement({ }).view({ tag: '', attrs: { attr: 'test' } }));
272271
}
273272

274273
public function testCustomElementKeepRef() {

0 commit comments

Comments
 (0)