File tree 1 file changed +84
-0
lines changed
html/semantics/forms/the-select-element
1 file changed +84
-0
lines changed Original file line number Diff line number Diff line change
1
+ <!DOCTYPE html>
2
+ < link rel =
author href ="
mailto:[email protected] "
>
3
+ < link rel =help href ="https://github.com/whatwg/html/issues/9799 ">
4
+ < script src ="/resources/testharness.js "> </ script >
5
+ < script src ="/resources/testharnessreport.js "> </ script >
6
+
7
+ < select id =s1 >
8
+ < div > div 1</ div >
9
+ < button > button</ button >
10
+ < div > div 2</ div >
11
+ < datalist >
12
+ < option > option</ option >
13
+ </ datalist >
14
+ < div > div 3</ div >
15
+ </ select >
16
+
17
+ < select id =s2 >
18
+ < div > div 1</ div >
19
+ < button >
20
+ < span > level 1</ span >
21
+ < button >
22
+ < span > level 2</ span >
23
+ </ button >
24
+ </ button >
25
+ < div > div 2</ div >
26
+ </ select >
27
+
28
+ < select id =s3 >
29
+ < button > button
30
+ </ select >
31
+
32
+ < select id =s4 >
33
+ < datalist > datalist
34
+ </ select >
35
+
36
+ < select id =s5 >
37
+ < button >
38
+ < select > </ select >
39
+ </ button >
40
+ </ select >
41
+
42
+ < script >
43
+ test ( ( ) => {
44
+ assert_equals ( document . getElementById ( 's1' ) . innerHTML , `
45
+ div 1
46
+ <button>button</button>
47
+ div 2
48
+ <datalist>
49
+ <option>option</option>
50
+ </datalist>
51
+ div 3
52
+ ` ) ;
53
+ } , '<button>s and <datalist>s should be allowed in <select>.' ) ;
54
+
55
+ test ( ( ) => {
56
+ assert_equals ( document . getElementById ( 's2' ) . innerHTML , `
57
+ div 1
58
+ <button>
59
+ <span>level 1</span>
60
+ </button><button>
61
+ <span>level 2</span>
62
+ </button>
63
+ \n div 2
64
+ ` ) ;
65
+ } , 'Nested <button>s in <select> should be flattened out.' ) ;
66
+
67
+ test ( ( ) => {
68
+ assert_equals ( document . getElementById ( 's3' ) . innerHTML , `
69
+ <button>button
70
+ </button>` ) ;
71
+ } , '</select> should close <button>.' ) ;
72
+
73
+ test ( ( ) => {
74
+ assert_equals ( document . getElementById ( 's4' ) . innerHTML , `
75
+ <datalist>datalist
76
+ </datalist>` ) ;
77
+ } , '</select> should close <datalist>.' ) ;
78
+
79
+ test ( ( ) => {
80
+ assert_equals ( document . getElementById ( 's5' ) . innerHTML , `
81
+ <button>
82
+ </button>` ) ;
83
+ } , '<select> in <button> in <select> should remove inner <select>.' ) ;
84
+ </ script >
You can’t perform that action at this time.
0 commit comments