1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.juneau.bean.html5;
18
19 import static org.apache.juneau.bean.html5.HtmlBuilder.*;
20 import static org.apache.juneau.junit.bct.BctAssertions.*;
21
22 import org.apache.juneau.*;
23 import org.junit.jupiter.api.*;
24
25 class Select_Test extends TestBase {
26
27 @Test void a01_basicSetters() {
28 Select x = select()
29 .autofocus("a")
30 .disabled("b")
31 .form("c")
32 .multiple("d")
33 .name("e")
34 .required("f")
35 .size("g")
36 ._class("h")
37 .accesskey("i")
38 .contenteditable("j")
39 .dir("k")
40 .hidden("l")
41 .id("m")
42 .lang("n")
43 .onabort("o")
44 .onblur("p")
45 .oncancel("q")
46 .oncanplay("r")
47 .oncanplaythrough("s")
48 .onchange("t")
49 .onclick("u")
50 .oncuechange("v")
51 .ondblclick("w")
52 .ondurationchange("x")
53 .onemptied("y")
54 .onended("y")
55 .onerror("aa")
56 .onfocus("ab")
57 .oninput("ac")
58 .oninvalid("ad")
59 .onkeydown("ae")
60 .onkeypress("af")
61 .onkeyup("ag")
62 .onload("ah")
63 .onloadeddata("ai")
64 .onloadedmetadata("aj")
65 .onloadstart("ak")
66 .onmousedown("al")
67 .onmouseenter("am")
68 .onmouseleave("an")
69 .onmousemove("ao")
70 .onmouseout("ap")
71 .onmouseover("aq")
72 .onmouseup("ar")
73 .onmousewheel("as")
74 .onpause("at")
75 .onplay("au")
76 .onplaying("av")
77 .onprogress("aw")
78 .onratechange("ax")
79 .onreset("ay")
80 .onresize("az")
81 .onscroll("ba")
82 .onseeked("bb")
83 .onseeking("bc")
84 .onselect("bd")
85 .onshow("be")
86 .onstalled("bf")
87 .onsubmit("bg")
88 .onsuspend("bh")
89 .ontimeupdate("bi")
90 .ontoggle("bj")
91 .onvolumechange("bk")
92 .onwaiting("bl")
93 .spellcheck("bm")
94 .style("bn")
95 .tabindex("bo")
96 .title("bp")
97 .translate("bq")
98 .child("child1")
99 .children("bs", strong("bs"));
100
101 assertString(
102 "<select autofocus='a' disabled='b' form='c' multiple='d' name='e' required='f' size='g' class='h' accesskey='i' contenteditable='j' dir='k' hidden='l' id='m' lang='n' onabort='o' onblur='p' oncancel='q' oncanplay='r' oncanplaythrough='s' onchange='t' onclick='u' oncuechange='v' ondblclick='w' ondurationchange='x' onemptied='y' onended='y' onerror='aa' onfocus='ab' oninput='ac' oninvalid='ad' onkeydown='ae' onkeypress='af' onkeyup='ag' onload='ah' onloadeddata='ai' onloadedmetadata='aj' onloadstart='ak' onmousedown='al' onmouseenter='am' onmouseleave='an' onmousemove='ao' onmouseout='ap' onmouseover='aq' onmouseup='ar' onmousewheel='as' onpause='at' onplay='au' onplaying='av' onprogress='aw' onratechange='ax' onreset='ay' onresize='az' onscroll='ba' onseeked='bb' onseeking='bc' onselect='bd' onshow='be' onstalled='bf' onsubmit='bg' onsuspend='bh' ontimeupdate='bi' ontoggle='bj' onvolumechange='bk' onwaiting='bl' spellcheck='bm' style='bn' tabindex='bo' title='bp' translate='bq'>child1bs<strong>bs</strong></select>",
103 x
104 );
105 }
106
107 @Test void a02_emptyBean() {
108 assertString("<select></select>", select());
109 }
110
111 @Test void a03_otherConstructors() {
112 Select x1 = new Select("a", "b1", strong("b2"));
113 assertString("<select name='a'>b1<strong>b2</strong></select>", x1);
114
115 }
116
117 @Test void a04_choose_withValue() {
118 Select x = select("test",
119 option("val1", "Option 1"),
120 option("val2", "Option 2"),
121 option("val3", "Option 3")
122 ).choose("val2");
123
124 assertString("<select name='test'><option value='val1'>Option 1</option><option value='val2' selected='selected'>Option 2</option><option value='val3'>Option 3</option></select>", x);
125 }
126
127 @Test void a04_choose_withNull() {
128 Select x = select("test",
129 option("val1", "Option 1"),
130 option("val2", "Option 2")
131 ).choose(null);
132
133 assertString("<select name='test'><option value='val1'>Option 1</option><option value='val2'>Option 2</option></select>", x);
134 }
135
136 @Test void a04_choose_withNonMatchingValue() {
137 Select x = select("test",
138 option("val1", "Option 1"),
139 option("val2", "Option 2")
140 ).choose("val3");
141
142 assertString("<select name='test'><option value='val1'>Option 1</option><option value='val2'>Option 2</option></select>", x);
143 }
144
145 @Test void a04_choose_withNonOptionChildren() {
146 Select x = select("test",
147 option("val1", "Option 1"),
148 "plain text",
149 div("not an option")
150 ).choose("val1");
151
152 assertString("<select name='test'><option value='val1' selected='selected'>Option 1</option>plain text<div>not an option</div></select>", x);
153 }
154 }