@@ -10,6 +10,7 @@ test('form', () => {
10
10
expect ( isValidHTMLNesting ( 'form' , 'select' ) ) . toBe ( true ) ;
11
11
expect ( isValidHTMLNesting ( 'form' , 'button' ) ) . toBe ( true ) ;
12
12
expect ( isValidHTMLNesting ( 'form' , 'label' ) ) . toBe ( true ) ;
13
+ expect ( isValidHTMLNesting ( 'form' , 'h1' ) ) . toBe ( true ) ;
13
14
} ) ;
14
15
15
16
test ( 'p' , ( ) => {
@@ -18,12 +19,16 @@ test('p', () => {
18
19
expect ( isValidHTMLNesting ( 'p' , 'div' ) ) . toBe ( false ) ;
19
20
expect ( isValidHTMLNesting ( 'p' , 'hr' ) ) . toBe ( false ) ;
20
21
expect ( isValidHTMLNesting ( 'p' , 'input' ) ) . toBe ( false ) ;
22
+ expect ( isValidHTMLNesting ( 'p' , 'blockquote' ) ) . toBe ( false ) ;
23
+ expect ( isValidHTMLNesting ( 'p' , 'pre' ) ) . toBe ( false ) ;
21
24
22
25
// valid
23
26
expect ( isValidHTMLNesting ( 'p' , 'a' ) ) . toBe ( true ) ;
24
27
expect ( isValidHTMLNesting ( 'p' , 'span' ) ) . toBe ( true ) ;
25
28
expect ( isValidHTMLNesting ( 'p' , 'abbr' ) ) . toBe ( true ) ;
26
29
expect ( isValidHTMLNesting ( 'p' , 'button' ) ) . toBe ( true ) ;
30
+ expect ( isValidHTMLNesting ( 'p' , 'b' ) ) . toBe ( true ) ;
31
+ expect ( isValidHTMLNesting ( 'p' , 'i' ) ) . toBe ( true ) ;
27
32
} ) ;
28
33
29
34
test ( 'a' , ( ) => {
@@ -35,15 +40,56 @@ test('a', () => {
35
40
expect ( isValidHTMLNesting ( 'a' , 'span' ) ) . toBe ( true ) ;
36
41
} ) ;
37
42
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
+
38
52
test ( 'table' , ( ) => {
39
53
// invalid
40
54
expect ( isValidHTMLNesting ( 'table' , 'tr' ) ) . toBe ( false ) ;
41
55
expect ( isValidHTMLNesting ( 'table' , 'table' ) ) . toBe ( false ) ;
42
56
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
43
72
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 ) ;
44
88
45
89
// valid
46
90
expect ( isValidHTMLNesting ( 'tbody' , 'tr' ) ) . toBe ( true ) ;
91
+ expect ( isValidHTMLNesting ( 'thead' , 'tr' ) ) . toBe ( true ) ;
92
+ expect ( isValidHTMLNesting ( 'tfoot' , 'tr' ) ) . toBe ( true ) ;
47
93
expect ( isValidHTMLNesting ( 'tr' , 'td' ) ) . toBe ( true ) ;
48
94
expect ( isValidHTMLNesting ( 'tr' , 'th' ) ) . toBe ( true ) ;
49
95
} ) ;
0 commit comments