1 | <!DOCTYPE html> |
---|
2 | <html> |
---|
3 | <head> |
---|
4 | <meta http-equiv="Content-type" content="text/html; charset=utf-8"> |
---|
5 | <title>Dojo Tooltip Placement Test</title> |
---|
6 | |
---|
7 | <script type="text/javascript" src="boilerplate.js"></script> |
---|
8 | |
---|
9 | <style type="text/css"> |
---|
10 | div {font-size:9px} |
---|
11 | </style> |
---|
12 | |
---|
13 | <script type="text/javascript"> |
---|
14 | require([ |
---|
15 | "doh/runner", |
---|
16 | "dojo/dom", "dojo/dom-geometry", "dojo/dom-style", "dojo/query", "dojo/sniff", "dojo/window", |
---|
17 | "dijit/Tooltip", |
---|
18 | "dojo/domReady!" |
---|
19 | ], function(doh, dom, domGeom, domStyle, query, has, winUtils, Tooltip){ |
---|
20 | doh.register("setup", function(){ |
---|
21 | Tooltip._MasterTooltip.prototype.duration = 0.05; // speed up tooltip fading |
---|
22 | var view = winUtils.getBox(); |
---|
23 | var width = view.w; |
---|
24 | var height = view.h; |
---|
25 | |
---|
26 | if(width < 600){ |
---|
27 | //Make the larger tooltips smaller so they fit on the page and pass all tests |
---|
28 | dom.byId("test2").setAttribute("promptMessage", "really really really really really really really really really really really really really really really really really really really really"); |
---|
29 | dom.byId("test5").setAttribute("promptMessage", "really really really really really really really really really really really really really really really really really really really really"); |
---|
30 | dom.byId("test12").setAttribute("promptMessage", "really really really really really really really really really really really really really really really really really really really really"); |
---|
31 | dom.byId("test17").setAttribute("promptMessage", "really really really really really really really really really really really really really really really really really really really really"); |
---|
32 | dom.byId("test19").setAttribute("promptMessage", "really really really really really really really really really really really really really really really really really really really really"); |
---|
33 | }else if(width > 1200){ |
---|
34 | //Make a shorter tooltip longer in order to span the whole width |
---|
35 | dom.byId("test1").setAttribute("promptMessage", "really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really<br><br><br><br><br><br><br><br><br><br><br><br><br><br>a"); |
---|
36 | dom.byId("test4").setAttribute("promptMessage", "really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really<br><br><br><br><br><br><br><br><br>a"); |
---|
37 | dom.byId("test10").setAttribute("promptMessage", "really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really<br><br><br><br><br><br><br><br><br>a"); |
---|
38 | dom.byId("test20").setAttribute("promptMessage", "really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really<br><br><br><br><br><br><br><br><br>a"); |
---|
39 | } |
---|
40 | |
---|
41 | if(height < 600){ |
---|
42 | //Make the taller tooltips shorter |
---|
43 | for(var i=1;i<22;i++){ |
---|
44 | if(i==7){ |
---|
45 | //skip |
---|
46 | }else{ |
---|
47 | dom.byId("test"+i+"_tall_skinny").setAttribute("promptMessage", "<br><br><br><br>a"); |
---|
48 | } |
---|
49 | } |
---|
50 | } |
---|
51 | |
---|
52 | domStyle.set("test1", "width", width*(0.3)+"px"); |
---|
53 | domStyle.set("test1_tall_skinny", "width", width*(0.3)+"px"); |
---|
54 | domStyle.set("test2", "width", width*(0.6)+"px"); |
---|
55 | domStyle.set("test2_tall_skinny", "width", width*(0.6)+"px"); |
---|
56 | domStyle.set("test3", "width", width*(0.9)+"px"); |
---|
57 | domStyle.set("test3_tall_skinny", "width", width*(0.9)+"px"); |
---|
58 | domStyle.set("test4", "width", width*(0.3)+"px"); |
---|
59 | domStyle.set("test4_tall_skinny", "width", width*(0.3)+"px"); |
---|
60 | domStyle.set("test5", "width", width*(0.6)+"px"); |
---|
61 | domStyle.set("test5_tall_skinny", "width", width*(0.6)+"px"); |
---|
62 | domStyle.set("test6", "width", width*(0.9)+"px"); |
---|
63 | domStyle.set("test6_tall_skinny", "width", width*(0.9)+"px"); |
---|
64 | domStyle.set("test7", "width", width*(1.1)+"px"); |
---|
65 | domStyle.set("test8", "width", width*(0.2)+"px"); |
---|
66 | domStyle.set("test8_tall_skinny", "width", width*(0.2)+"px"); |
---|
67 | domStyle.set("test9", "width", width*(0.3)+"px"); |
---|
68 | domStyle.set("test9_tall_skinny", "width", width*(0.3)+"px"); |
---|
69 | domStyle.set("test10", "width", width*(0.6)+"px"); |
---|
70 | domStyle.set("test10_tall_skinny", "width", width*(0.6)+"px"); |
---|
71 | domStyle.set("test11", "width", width*(0.9)+"px"); |
---|
72 | domStyle.set("test11_tall_skinny", "width", width*(0.9)+"px"); |
---|
73 | domStyle.set("test12", "width", width*(0.3)+"px"); |
---|
74 | domStyle.set("test12_tall_skinny", "width", width*(0.3)+"px"); |
---|
75 | domStyle.set("test13", "width", width*(0.6)+"px"); |
---|
76 | domStyle.set("test13_tall_skinny", "width", width*(0.6)+"px"); |
---|
77 | domStyle.set("test14", "width", width*(0.9)+"px"); |
---|
78 | domStyle.set("test14_tall_skinny", "width", width*(0.9)+"px"); |
---|
79 | domStyle.set("test15", "width", width*(0.9)+"px"); |
---|
80 | domStyle.set("test15_tall_skinny", "width", width*(0.9)+"px"); |
---|
81 | domStyle.set("test16", "width", width*(0.3)+"px"); |
---|
82 | domStyle.set("test16_tall_skinny", "width", width*(0.3)+"px"); |
---|
83 | domStyle.set("test17", "width", width*(0.6)+"px"); |
---|
84 | domStyle.set("test17_tall_skinny", "width", width*(0.6)+"px"); |
---|
85 | domStyle.set("test18", "width", width*(0.9)+"px"); |
---|
86 | domStyle.set("test18_tall_skinny", "width", width*(0.9)+"px"); |
---|
87 | domStyle.set("test19", "width", width*(0.3)+"px"); |
---|
88 | domStyle.set("test19_tall_skinny", "width", width*(0.3)+"px"); |
---|
89 | domStyle.set("test20", "width", width*(0.6)+"px"); |
---|
90 | domStyle.set("test20_tall_skinny", "width", width*(0.6)+"px"); |
---|
91 | domStyle.set("test21", "width", width*(0.9)+"px"); |
---|
92 | domStyle.set("test21_tall_skinny", "width", width*(0.9)+"px"); |
---|
93 | }); |
---|
94 | |
---|
95 | //Verify the following is true: |
---|
96 | // 1. The tooltip is displayed to the right or the left of the textbox |
---|
97 | // 2. The tooltip arrow is next to the textbox |
---|
98 | // 3. The user can view the entire tooltip on the screen OR the tooltip is displayed on the side with the largest width available |
---|
99 | // 4. If the tooltip is not completely visible, verify that it uses all available height |
---|
100 | function testRightOrLeft(textbox, verifyFullWidthIsUtilized){ |
---|
101 | verifyTooltipArrowPosition(textbox); |
---|
102 | |
---|
103 | var textboxPos = domGeom.position(textbox); |
---|
104 | var tooltipContainerPos = domGeom.position(query(".dijitTooltip")[0]); |
---|
105 | |
---|
106 | var xDiff = textboxPos.x - tooltipContainerPos.x - tooltipContainerPos.w; |
---|
107 | var toTheLeft = xDiff >= -0.5 && xDiff < 2; |
---|
108 | |
---|
109 | xDiff = tooltipContainerPos.x - textboxPos.x - textboxPos.w; |
---|
110 | var toTheRight = xDiff >= -0.5 && xDiff < 2; |
---|
111 | |
---|
112 | doh.t(toTheLeft || toTheRight, "The tooltip was not to the left or right"); |
---|
113 | |
---|
114 | var tooltip = Tooltip._masterTT.containerNode; |
---|
115 | var tooltipPos = domGeom.position(tooltip); |
---|
116 | |
---|
117 | var view = winUtils.getBox(); |
---|
118 | var isIE6 = has("ie") < 7; |
---|
119 | //verify the entire width is utilized. Small tooltips will not utilize the entire width. |
---|
120 | if(verifyFullWidthIsUtilized && !isIE6 && !has("opera")){ |
---|
121 | if(toTheLeft){ |
---|
122 | doh.t(tooltipContainerPos.w + 3/*space in between arrow and textbox*/ >= textboxPos.x, "The entire width was not utilized to the left"); |
---|
123 | }else{ |
---|
124 | doh.t(tooltipContainerPos.w + 3/*space in between arrow and textbox*/ >= view.w - tooltipContainerPos.x, "The entire width was not utilized to the right"); |
---|
125 | } |
---|
126 | } |
---|
127 | |
---|
128 | //If we cannot view the entire tooltip, verify they side with the most space was choosen and the entire height was utilized. |
---|
129 | var canViewEntireTooltip = (tooltipContainerPos.x + tooltipContainerPos.w <= view.w+1) && |
---|
130 | (tooltipPos.y + tooltipPos.h <= view.h+1); |
---|
131 | if(!canViewEntireTooltip && !isIE6 && !has("opera")){ |
---|
132 | if(toTheLeft){ |
---|
133 | //verify there is more space on the left than the right |
---|
134 | doh.t(textboxPos.x >= (view.w - textboxPos.x - textboxPos.w), "There is not more space on the left than the right"); |
---|
135 | }else{ |
---|
136 | doh.t(textboxPos.x <= (view.w - textboxPos.x - textboxPos.w), "There is not more space on the right than the left"); |
---|
137 | } |
---|
138 | //verify the entire height is utilized |
---|
139 | doh.t(tooltipPos.h >= view.h, "The entire height was not utilized. Tooltip height="+tooltipPos.h+". View height="+view.h); |
---|
140 | } |
---|
141 | } |
---|
142 | |
---|
143 | function toTheLeftOrRight(textbox){ |
---|
144 | var textboxPos = domGeom.position(textbox); |
---|
145 | var tooltipContainerPos = domGeom.position(query(".dijitTooltip")[0]); |
---|
146 | |
---|
147 | var xDiff = textboxPos.x - tooltipContainerPos.x - tooltipContainerPos.w; |
---|
148 | var toTheLeft = xDiff >= -1 && xDiff < 2; |
---|
149 | |
---|
150 | xDiff = tooltipContainerPos.x - textboxPos.x - textboxPos.w; |
---|
151 | var toTheRight = xDiff >= -1 && xDiff < 2; |
---|
152 | |
---|
153 | doh.t(toTheLeft || toTheRight, "The tooltip was not to the left or right"); |
---|
154 | } |
---|
155 | |
---|
156 | //Verify the tooltip arrow is next to the textbox |
---|
157 | function verifyTooltipArrowPosition(textbox){ |
---|
158 | var textboxPos = domGeom.position(textbox); |
---|
159 | var tooltipConnectorPos = domGeom.position(query(".dijitTooltipConnector")[0]); |
---|
160 | |
---|
161 | var middleOfTextbox = textboxPos.y + (textboxPos.h / 2); |
---|
162 | var middleOfTooltipConnector = tooltipConnectorPos.y + (tooltipConnectorPos.h /2); |
---|
163 | |
---|
164 | var yDiff = middleOfTextbox - middleOfTooltipConnector; |
---|
165 | var yAxisValid = yDiff <= 2 && yDiff >= -1.5; //tooltip arrow is at a similar y coord as the box |
---|
166 | doh.t(yAxisValid, "Y axis is invalid. yDiff was: "+yDiff); |
---|
167 | } |
---|
168 | |
---|
169 | // Test for when the tooltip has large words or nowrap so that it can't be displayed properly, |
---|
170 | // given the space available. Verify the following is true: |
---|
171 | // 1. The tooltip arrow is next to the textbox |
---|
172 | // Note that tooltip text may be cut off if there wasn't enough room to display the tooltip |
---|
173 | // to the left/right of the anchor node |
---|
174 | function testNoWrapOrLargeWords(textbox){ |
---|
175 | verifyTooltipArrowPosition(textbox); |
---|
176 | } |
---|
177 | |
---|
178 | function testAboveBelow(textbox, verifyConnectorPosition){ |
---|
179 | var textboxPos = domGeom.position(textbox); |
---|
180 | var tooltipConnectorPos = domGeom.position(query(".dijitTooltipConnector")[0]); |
---|
181 | var tooltipContainerPos = domGeom.position(query(".dijitTooltip")[0]); |
---|
182 | |
---|
183 | if(verifyConnectorPosition){ |
---|
184 | var xAxisValid = textboxPos.x <= tooltipConnectorPos.x && tooltipConnectorPos.x <= (textboxPos.x + textboxPos.w); |
---|
185 | doh.t(xAxisValid, "X axis is invalid"); |
---|
186 | } |
---|
187 | |
---|
188 | //verify the tooltip is above or below the textbox |
---|
189 | var yDiff = textboxPos.y - tooltipContainerPos.y - tooltipContainerPos.h; |
---|
190 | var above = yDiff >= -0.5 && yDiff < 1; |
---|
191 | |
---|
192 | yDiff = tooltipContainerPos.y - textboxPos.y - textboxPos.h; |
---|
193 | var below = yDiff >= -0.5 && yDiff < 1; |
---|
194 | |
---|
195 | doh.t(above || below, "above || below, yDiff == " + yDiff); |
---|
196 | } |
---|
197 | |
---|
198 | for(var i=1; i<=21; i++){ |
---|
199 | if(i==7){ continue; } |
---|
200 | (function(i){ |
---|
201 | // Need the closure to run tests on each node, rather than repeating on "test21" node |
---|
202 | var node = dom.byId("test"+i), |
---|
203 | skinnyNode = dom.byId("test"+i+"_tall_skinny"), |
---|
204 | nowrapTest = (i==3 || i==6 || i==8 || i==9 || i==13 || i==16 || i==21); |
---|
205 | doh.register("test" + i, [ |
---|
206 | { |
---|
207 | name: "test"+i+"_tall_skinny", |
---|
208 | runTest: function(){ |
---|
209 | var d = new doh.Deferred(); |
---|
210 | winUtils.scrollIntoView(skinnyNode); |
---|
211 | Tooltip.show(skinnyNode.getAttribute("promptMessage"), skinnyNode); |
---|
212 | setTimeout(d.getTestCallback(function(){ |
---|
213 | // use timeout to wait for fade out of tooltip from old position, and fade in to new position |
---|
214 | testRightOrLeft(skinnyNode, false); |
---|
215 | }), 100); |
---|
216 | return d; |
---|
217 | } |
---|
218 | }, |
---|
219 | { |
---|
220 | name: "test"+i, |
---|
221 | runTest: function(){ |
---|
222 | var d = new doh.Deferred(); |
---|
223 | winUtils.scrollIntoView(node); |
---|
224 | Tooltip.show(node.getAttribute("promptMessage"), node); |
---|
225 | setTimeout(d.getTestCallback(function(){ |
---|
226 | // use timeout to wait for fade out of tooltip from old position, and fade in to new position |
---|
227 | if(nowrapTest){ |
---|
228 | // For nowrap tests we should only verify the arrow is pointing to the textbox |
---|
229 | testNoWrapOrLargeWords(node); |
---|
230 | }else{ |
---|
231 | testRightOrLeft(node, true); |
---|
232 | } |
---|
233 | }), 100); |
---|
234 | return d; |
---|
235 | } |
---|
236 | }, |
---|
237 | { |
---|
238 | name: "test"+i+"_lrs", |
---|
239 | runTest: function(){ |
---|
240 | var d = new doh.Deferred(); |
---|
241 | Tooltip.show("!", node); |
---|
242 | setTimeout(d.getTestCallback(function(){ |
---|
243 | // use timeout to wait for fade out of tooltip from old position, and fade in to new position |
---|
244 | testRightOrLeft(node, false); |
---|
245 | }), 100); |
---|
246 | return d; |
---|
247 | } |
---|
248 | }, |
---|
249 | { |
---|
250 | name: "test"+i+"_abs", |
---|
251 | runTest: function(){ |
---|
252 | var d = new doh.Deferred(); |
---|
253 | winUtils.scrollIntoView(node); |
---|
254 | Tooltip.hide(node); // needed since show() below matches node & content of show() above |
---|
255 | Tooltip.show("!", node, ["below", "above"]); |
---|
256 | setTimeout(d.getTestCallback(function(){ |
---|
257 | // use timeout to wait for fade out of tooltip from old position, and fade in to new position |
---|
258 | testAboveBelow(node, true); |
---|
259 | }), 100); |
---|
260 | return d; |
---|
261 | } |
---|
262 | }, |
---|
263 | { |
---|
264 | name: "test"+i+"_ab", |
---|
265 | runTest: function(){ |
---|
266 | var d = new doh.Deferred(); |
---|
267 | Tooltip.show(node.getAttribute("promptMessage"), node, ["below", "above"]); |
---|
268 | setTimeout(d.getTestCallback(function(){ |
---|
269 | // use timeout to wait for fade out of tooltip from old position, and fade in to new position |
---|
270 | if(nowrapTest){ |
---|
271 | // For nowrap tests we should only verify the arrow is pointing to the textbox |
---|
272 | // (in most cases it's off the screen) |
---|
273 | testAboveBelow(node, false); |
---|
274 | }else{ |
---|
275 | testAboveBelow(node, true); |
---|
276 | } |
---|
277 | }), 100); |
---|
278 | return d; |
---|
279 | } |
---|
280 | }, |
---|
281 | { |
---|
282 | name: "test"+i+"_ab_tall_skinny", |
---|
283 | runTest: function(){ |
---|
284 | var d = new doh.Deferred(); |
---|
285 | winUtils.scrollIntoView(skinnyNode); |
---|
286 | Tooltip.show(skinnyNode.getAttribute("promptMessage"), skinnyNode, ["below", "above"]); |
---|
287 | setTimeout(d.getTestCallback(function(){ |
---|
288 | // use timeout to wait for fade out of tooltip from old position, and fade in to new position |
---|
289 | testAboveBelow(skinnyNode, true); |
---|
290 | }), 100); |
---|
291 | return d; |
---|
292 | } |
---|
293 | } |
---|
294 | ]); |
---|
295 | })(i); // end closure |
---|
296 | } |
---|
297 | |
---|
298 | doh.register("anchor inside overflowed div", [ |
---|
299 | { |
---|
300 | name: "test22", |
---|
301 | runTest: function(){ |
---|
302 | var d = new doh.Deferred(); |
---|
303 | var node = dom.byId("test22"); |
---|
304 | var cp = dom.byId("test22_cp"); |
---|
305 | winUtils.scrollIntoView(cp); |
---|
306 | Tooltip.hide(node); // needed since show() below matches node & content of show() above |
---|
307 | Tooltip.show(node.getAttribute("promptMessage"), node); |
---|
308 | setTimeout(d.getTestCallback(function(){ |
---|
309 | // use timeout to wait for fade out of tooltip from old position, and fade in to new position |
---|
310 | toTheLeftOrRight(cp, true); |
---|
311 | }), 100); |
---|
312 | return d; |
---|
313 | } |
---|
314 | }, |
---|
315 | { |
---|
316 | name: "test23", |
---|
317 | runTest: function(){ |
---|
318 | var d = new doh.Deferred(); |
---|
319 | var node = dom.byId("test23"); |
---|
320 | var cp = dom.byId("test23_cp"); |
---|
321 | Tooltip.show(node.getAttribute("promptMessage"), node, null, true); |
---|
322 | setTimeout(d.getTestCallback(function(){ |
---|
323 | // use timeout to wait for fade out of tooltip from old position, and fade in to new position |
---|
324 | toTheLeftOrRight(cp, true); |
---|
325 | }), 100); |
---|
326 | return d; |
---|
327 | } |
---|
328 | } |
---|
329 | ]); |
---|
330 | |
---|
331 | doh.run(); |
---|
332 | }); |
---|
333 | </script> |
---|
334 | </head> |
---|
335 | <body class="claro"> |
---|
336 | <table> |
---|
337 | |
---|
338 | <tr> |
---|
339 | <td style="text-align:right;"> |
---|
340 | <input type="text" id="test1" promptMessage='really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really<br><br><br><br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
341 | </td> |
---|
342 | </tr> |
---|
343 | <tr> |
---|
344 | <td style="text-align:right;"> |
---|
345 | <input type="text" id="test1_tall_skinny" name="test1_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
346 | </td> |
---|
347 | </tr> |
---|
348 | <tr> |
---|
349 | <td style="text-align:right;"> |
---|
350 | <input type="text" id="test2" promptMessage='really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really reallyreally really really really really really really really really really really really really reallyreally really really really really really really really really really really really really reallyreally really really really really really really really really really really really really reallyreally really really really really really really really really really really really really reallyreally really really really really really really really really really really really really reallyreally really really really really really really really really really really really really reallyreally really really really really really really really really really really really really reallyreally really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really really really really really really really really really really really really reallybig'/> |
---|
351 | </td> |
---|
352 | </tr> |
---|
353 | <tr> |
---|
354 | <td style="text-align:right;"> |
---|
355 | <input type="text" id="test2_tall_skinny" name="test2_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
356 | </td> |
---|
357 | </tr> |
---|
358 | <tr> |
---|
359 | <td style="text-align:right;"> |
---|
360 | <input type="text" id="test3" promptMessage='reallyreallylonggermanwordreallyreallyreallyreallyreallyreallyreallylongword big'/> |
---|
361 | </td> |
---|
362 | </tr> |
---|
363 | <tr> |
---|
364 | <td style="text-align:right;"> |
---|
365 | <input type="text" id="test3_tall_skinny" name="test3_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
366 | </td> |
---|
367 | </tr> |
---|
368 | <tr> |
---|
369 | <td style="text-align:left;"> |
---|
370 | <input type="text" id="test4" promptMessage='really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really<br><br><br><br><br><br><br><br><br>a'/> |
---|
371 | </td> |
---|
372 | </tr> |
---|
373 | <tr> |
---|
374 | <td style="text-align:left;"> |
---|
375 | <input type="text" id="test4_tall_skinny" name="test4_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
376 | </td> |
---|
377 | </tr> |
---|
378 | <tr> |
---|
379 | <td style="text-align:left;"> |
---|
380 | <input type="text" id="test5" promptMessage='really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallybig'/> |
---|
381 | </td> |
---|
382 | </tr> |
---|
383 | <tr> |
---|
384 | <td style="text-align:left;"> |
---|
385 | <input type="text" id="test5_tall_skinny" name="test5_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
386 | </td> |
---|
387 | </tr> |
---|
388 | <tr> |
---|
389 | <td style="text-align:left;"> |
---|
390 | <input type="text" id="test6" promptMessage="<div style='white-space: nowrap'>really really really really big</div>"/> |
---|
391 | </td> |
---|
392 | </tr> |
---|
393 | <tr> |
---|
394 | <td style="text-align:left;"> |
---|
395 | <input type="text" id="test6_tall_skinny" name="test6_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
396 | </td> |
---|
397 | </tr> |
---|
398 | <tr> |
---|
399 | <td style="text-align:left;"> |
---|
400 | <input type="text" id="test7" name="test7"/> |
---|
401 | </td> |
---|
402 | </tr> |
---|
403 | <tr> |
---|
404 | <td style="text-align:left;"> |
---|
405 | <input type="text" id="test8" promptMessage="<div style='white-space: nowrap'>really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really<br><br><br><br><br><br><br><br><br><br><br><br><br><br>a</div>"/> |
---|
406 | </td> |
---|
407 | </tr> |
---|
408 | <tr> |
---|
409 | <td style="text-align:left;"> |
---|
410 | <input type="text" id="test8_tall_skinny" name="test8_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
411 | </td> |
---|
412 | </tr> |
---|
413 | <tr> |
---|
414 | <td style="text-align:left;"> |
---|
415 | <br><br> |
---|
416 | </td> |
---|
417 | </tr> |
---|
418 | <tr> |
---|
419 | <td style="text-align:right;"> |
---|
420 | <input type="text" id="test9" promptMessage='reallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallylongword'/> |
---|
421 | </td> |
---|
422 | </tr> |
---|
423 | <tr> |
---|
424 | <td style="text-align:right;"> |
---|
425 | <input type="text" id="test9_tall_skinny" name="test9_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
426 | </td> |
---|
427 | </tr> |
---|
428 | <tr> |
---|
429 | <td style="text-align:right;"> |
---|
430 | <input type="text" id="test10" promptMessage='really really really really really really really really really really really really really really really really really really really<br><br><br><br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
431 | </td> |
---|
432 | </tr> |
---|
433 | <tr> |
---|
434 | <td style="text-align:right;"> |
---|
435 | <input type="text" id="test10_tall_skinny" name="test10_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
436 | </td> |
---|
437 | </tr> |
---|
438 | <tr> |
---|
439 | <td style="text-align:right;"> |
---|
440 | <input type="text" id="test11" promptMessage='a a a a a a a a a a a a a a a a a a a a a a a a a a a a<br><br><br><br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
441 | </td> |
---|
442 | </tr> |
---|
443 | <tr> |
---|
444 | <td style="text-align:right;"> |
---|
445 | <input type="text" id="test11_tall_skinny" name="test11_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
446 | </td> |
---|
447 | </tr> |
---|
448 | <tr> |
---|
449 | <td style="text-align:left;"> |
---|
450 | <input type="text" id="test12" promptMessage='really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really really big'/> |
---|
451 | </td> |
---|
452 | </tr> |
---|
453 | <tr> |
---|
454 | <td style="text-align:left;"> |
---|
455 | <input type="text" id="test12_tall_skinny" name="test12_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
456 | </td> |
---|
457 | </tr> |
---|
458 | <tr> |
---|
459 | <td style="text-align:left;"> |
---|
460 | <input type="text" id="test13" promptMessage="<div style='white-space: nowrap'>really really really really really really really really really really really really really really really really really big</div>"/> |
---|
461 | </td> |
---|
462 | </tr> |
---|
463 | <tr> |
---|
464 | <td style="text-align:left;"> |
---|
465 | <input type="text" id="test13_tall_skinny" name="test13_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
466 | </td> |
---|
467 | </tr> |
---|
468 | <tr> |
---|
469 | <td style="text-align:left;"> |
---|
470 | <input type="text" id="test14" promptMessage='really really really really really really really really really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really really big'/> |
---|
471 | </td> |
---|
472 | </tr> |
---|
473 | <tr> |
---|
474 | <td style="text-align:left;"> |
---|
475 | <input type="text" id="test14_tall_skinny" name="test14_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
476 | </td> |
---|
477 | </tr> |
---|
478 | <tr> |
---|
479 | <td style="text-align:left;"> |
---|
480 | <input type="text" id="test15" promptMessage='a a a a a a a a a a a a a a a a a a<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
481 | </td> |
---|
482 | </tr> |
---|
483 | <tr> |
---|
484 | <td style="text-align:left;"> |
---|
485 | <input type="text" id="test15_tall_skinny" name="test15_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
486 | </td> |
---|
487 | </tr> |
---|
488 | <tr> |
---|
489 | <td style="text-align:left;"> |
---|
490 | <br> |
---|
491 | </td> |
---|
492 | </tr> |
---|
493 | <tr> |
---|
494 | <td style="text-align:right;"> |
---|
495 | <input type="text" id="test16" promptMessage='reallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallylongword big word really big word'/> |
---|
496 | </td> |
---|
497 | </tr> |
---|
498 | <tr> |
---|
499 | <td style="text-align:right;"> |
---|
500 | <input type="text" id="test16_tall_skinny" name="test16_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
501 | </td> |
---|
502 | </tr> |
---|
503 | <tr> |
---|
504 | <td style="text-align:right;"> |
---|
505 | <input type="text" id="test17" promptMessage='really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really really big'/> |
---|
506 | </td> |
---|
507 | </tr> |
---|
508 | <tr> |
---|
509 | <td style="text-align:right;"> |
---|
510 | <input type="text" id="test17_tall_skinny" name="test17_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
511 | </td> |
---|
512 | </tr> |
---|
513 | <tr> |
---|
514 | <td style="text-align:right;"> |
---|
515 | <input type="text" id="test18" promptMessage='a a a a a a a a a a a a a a a a a a a a a a<br><br><br><br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
516 | </td> |
---|
517 | </tr> |
---|
518 | <tr> |
---|
519 | <td style="text-align:right;"> |
---|
520 | <input type="text" id="test18_tall_skinny" name="test18_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
521 | </td> |
---|
522 | </tr> |
---|
523 | <tr> |
---|
524 | <td style="text-align:left;"> |
---|
525 | <input type="text" id="test19" promptMessage='really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really reallyreally really really really really really really really really really really really really really really really really big'/> |
---|
526 | </td> |
---|
527 | </tr> |
---|
528 | <tr> |
---|
529 | <td style="text-align:left;"> |
---|
530 | <input type="text" id="test19_tall_skinny" name="test19_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
531 | </td> |
---|
532 | </tr> |
---|
533 | <tr> |
---|
534 | <td style="text-align:left;"> |
---|
535 | <input type="text" id="test20" promptMessage='really really really really really really really really really really really really really really really really really really really<br><br><br><br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
536 | </td> |
---|
537 | </tr> |
---|
538 | <tr> |
---|
539 | <td style="text-align:left;"> |
---|
540 | <input type="text" id="test20_tall_skinny" name="test20_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
541 | </td> |
---|
542 | </tr> |
---|
543 | <tr> |
---|
544 | <td style="text-align:left;"> |
---|
545 | <input type="text" id="test21" promptMessage='reallyreallyreallyreallyreallyreallylongword<br><br><br><br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
546 | </td> |
---|
547 | </tr> |
---|
548 | <tr> |
---|
549 | <td style="text-align:left;"> |
---|
550 | <input type="text" id="test21_tall_skinny" name="test21_tall_skinny" promptMessage='<br><br><br><br><br><br><br><br><br><br><br>a'/> |
---|
551 | </td> |
---|
552 | </tr> |
---|
553 | </table> |
---|
554 | |
---|
555 | <div id="test22_cp" style="height:90px; width:100px; padding:0px; overflow: auto;"> |
---|
556 | <input type="text" id="test22" style="fontSize:100pt" promptMessage='test overflow'/> |
---|
557 | <br><br><br><br><br> |
---|
558 | </div> |
---|
559 | |
---|
560 | <table width='100%' align='left'><tr><td width='95%'></td><td style="width:5%"> |
---|
561 | <div id="test23_cp" dir='rtl' style="height:100px; width:100px; border:1px; overflow:scroll"> |
---|
562 | <input type="text" id="test23" dir='rtl' style="fontSize:20pt" promptMessage='test overflow'/> |
---|
563 | </div> |
---|
564 | </td></tr></table> |
---|
565 | |
---|
566 | </body> |
---|
567 | </html> |
---|