- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / test / chromedriver / js / focus_test.html
1 <!DOCTYPE HTML>
2 <html>
3 <script src='test.js'></script>
4 <script src='focus.js'></script>
5 <script>
6
7 function testInactiveElement() {
8   var a = document.getElementById('a');
9   a.value = 'abc';
10   a.setSelectionRange(0, 2);
11   assertEquals(0, a.selectionStart);
12   assertEquals(2, a.selectionEnd);
13   var c = document.getElementById('c');
14   c.focus();
15   assertEquals(c, document.activeElement);
16   focus(a);
17   assertEquals(3, a.selectionStart);
18   assertEquals(3, a.selectionEnd);
19 }
20
21 function testActiveElement() {
22   var a = document.getElementById('a');
23   a.focus();
24   var is_blurred = false;
25   var onBlur = function() {
26     is_blurred = true;
27   }
28   a.addEventListener('blur', onBlur, false);
29   try {
30     focus(a);
31     assert(!is_blurred);
32   } catch (error) {
33     a.removeEventListener('blur', onBlur, false);
34     throw error;
35   }
36 }
37
38 function testNonTextInput() {
39   var a = document.getElementById('a');
40   a.focus();
41   assertEquals(a, document.activeElement);
42   var c = document.getElementById('c');
43   focus(c);
44   assertEquals(c, document.activeElement);
45 }
46
47 function testEditableDiv() {
48   var a = document.getElementById('a');
49   a.focus();
50   assertEquals(a, document.activeElement);
51   var d = document.getElementById('d');
52   focus(d);
53   assertEquals(d, document.activeElement);
54 }
55
56 function testNonFocusableChildOfEditableDiv() {
57   var a = document.getElementById('a');
58   a.focus();
59   assertEquals(a, document.activeElement);
60   try {
61     focus(document.getElementById('e'));
62     assert(false);
63   } catch (error) {
64   }
65 }
66
67 function testFocusableChildOfEditableDiv() {
68   var a = document.getElementById('a');
69   a.focus();
70   assertEquals(a, document.activeElement);
71   var f = document.getElementById('f');
72   focus(f);
73   assertEquals(f, document.activeElement);
74 }
75
76 function testTransparentElement() {
77   var a = document.getElementById('a');
78   a.focus();
79   assertEquals(a, document.activeElement);
80   var g = document.getElementById('g');
81   focus(g);
82   assertEquals(g, document.activeElement);
83 }
84
85 </script>
86 <body>
87   <input type="text" id="a">
88   <br>
89   <textarea id="b">
90   </textarea>
91   <br>
92   <input type="button" value="c" id="c">
93   <br>
94   <div id="d" contentEditable="true">
95   </div>
96   <div contentEditable="true">
97     <div id="e">editable</div>
98   </div>
99   <div contentEditable="true">
100     <input id="f" type="text">
101   </div>
102   <div>
103     <input id="g" style='opacity: 0' type='text'>
104   </div>
105 </body>
106 </html>