Skip to content

Commit 6558d90

Browse files
committed
add more tests
1 parent fed7482 commit 6558d90

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

tests/validation.test.js

+46
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ test('form', () => {
1010
expect(isValidHTMLNesting('form', 'select')).toBe(true);
1111
expect(isValidHTMLNesting('form', 'button')).toBe(true);
1212
expect(isValidHTMLNesting('form', 'label')).toBe(true);
13+
expect(isValidHTMLNesting('form', 'h1')).toBe(true);
1314
});
1415

1516
test('p', () => {
@@ -18,12 +19,16 @@ test('p', () => {
1819
expect(isValidHTMLNesting('p', 'div')).toBe(false);
1920
expect(isValidHTMLNesting('p', 'hr')).toBe(false);
2021
expect(isValidHTMLNesting('p', 'input')).toBe(false);
22+
expect(isValidHTMLNesting('p', 'blockquote')).toBe(false);
23+
expect(isValidHTMLNesting('p', 'pre')).toBe(false);
2124

2225
// valid
2326
expect(isValidHTMLNesting('p', 'a')).toBe(true);
2427
expect(isValidHTMLNesting('p', 'span')).toBe(true);
2528
expect(isValidHTMLNesting('p', 'abbr')).toBe(true);
2629
expect(isValidHTMLNesting('p', 'button')).toBe(true);
30+
expect(isValidHTMLNesting('p', 'b')).toBe(true);
31+
expect(isValidHTMLNesting('p', 'i')).toBe(true);
2732
});
2833

2934
test('a', () => {
@@ -35,15 +40,56 @@ test('a', () => {
3540
expect(isValidHTMLNesting('a', 'span')).toBe(true);
3641
});
3742

43+
test('button', () => {
44+
// invalid
45+
expect(isValidHTMLNesting('button', 'button')).toBe(false);
46+
47+
// valid
48+
expect(isValidHTMLNesting('button', 'div')).toBe(true);
49+
expect(isValidHTMLNesting('button', 'span')).toBe(true);
50+
});
51+
3852
test('table', () => {
3953
// invalid
4054
expect(isValidHTMLNesting('table', 'tr')).toBe(false);
4155
expect(isValidHTMLNesting('table', 'table')).toBe(false);
4256
expect(isValidHTMLNesting('table', 'td')).toBe(false);
57+
58+
// valid
59+
expect(isValidHTMLNesting('table', 'thead')).toBe(true);
60+
expect(isValidHTMLNesting('table', 'tbody')).toBe(true);
61+
expect(isValidHTMLNesting('table', 'tfoot')).toBe(true);
62+
expect(isValidHTMLNesting('table', 'caption')).toBe(true);
63+
expect(isValidHTMLNesting('table', 'colgroup')).toBe(true);
64+
});
65+
66+
test('td', () => {
67+
// valid
68+
expect(isValidHTMLNesting('td', 'span')).toBe(true);
69+
expect(isValidHTMLNesting('tr', 'td')).toBe(true);
70+
71+
// invalid
4372
expect(isValidHTMLNesting('td', 'td')).toBe(false);
73+
expect(isValidHTMLNesting('div', 'td')).toBe(false);
74+
});
75+
76+
test('tbody', () => {
77+
// invalid
78+
expect(isValidHTMLNesting('tbody', 'td')).toBe(false);
79+
80+
// valid
81+
expect(isValidHTMLNesting('tbody', 'tr')).toBe(true);
82+
});
83+
84+
test('tr', () => {
85+
// invalid
86+
expect(isValidHTMLNesting('tr', 'tr')).toBe(false);
87+
expect(isValidHTMLNesting('table', 'tr')).toBe(false);
4488

4589
// valid
4690
expect(isValidHTMLNesting('tbody', 'tr')).toBe(true);
91+
expect(isValidHTMLNesting('thead', 'tr')).toBe(true);
92+
expect(isValidHTMLNesting('tfoot', 'tr')).toBe(true);
4793
expect(isValidHTMLNesting('tr', 'td')).toBe(true);
4894
expect(isValidHTMLNesting('tr', 'th')).toBe(true);
4995
});

0 commit comments

Comments
 (0)