Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(191)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/events/onchange-js.html

Issue 2796823002: Convert onchange-js.html test for testharness.js. (Closed)
Patch Set: Remove </html> Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/fast/events/onchange-js-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../../resources/js-test.js"></script>
5 </head>
6 <body>
7 <div id=container>
8 <input id="input" type="text" onchange="changeHandler()">
9 <input id="number" type="number" onchange="changeHandler()">
10 <textarea id="textarea" onchange="changeHandler()"></textarea>
11 </div>
12 <script>
13 description('This test verifies that the change event is fired, when value is ch anged by JavaScript code.');
14 var changeEventCounter = 0;
15 // shouldBe*() can refer to only global variables.
16 var element;
17 function changeHandler()
18 {
19 changeEventCounter++;
20 element.value = '';
21 }
22
23 function testValueUpdateOnChange(userInput) {
24 debug('Value is updated in change event handler.');
25 changeEventCounter = 0;
26 element.focus();
27 document.execCommand('InsertText', false, userInput);
28 shouldBeEqualToString('element.value', userInput);
29 element.blur();
30 shouldBe('changeEventCounter', '1');
31 shouldBeEqualToString('element.value', '');
32
33 element.focus();
34 document.execCommand('InsertText', false, userInput);
35 shouldBeEqualToString('element.value', userInput);
36 element.blur();
37 shouldBe('changeEventCounter', '2');
38 }
39
40 function testValueUpdateWithoutUserEdit(jsInput) {
41 debug('Value is updated while element is focused.');
42 changeEventCounter = 0;
43 element.value = '';
44 element.focus();
45 element.value = jsInput;
46 element.blur();
47 shouldBe('changeEventCounter', '0');
48 }
49
50 function testValueUpdateAfterUserEdit(userInput, jsInput) {
51 debug('Value is updated after a user edit.');
52 changeEventCounter = 0;
53 element.value = '0';
54 element.focus();
55 document.execCommand('InsertText', false, userInput);
56 element.value = jsInput;
57 element.blur();
58 shouldBe('changeEventCounter', '1');
59 }
60
61 debug('===> Tests for INPUT[type=text]');
62 element = document.getElementById('input');
63 testValueUpdateOnChange('foo bar');
64 testValueUpdateWithoutUserEdit('FOO BAR');
65 testValueUpdateAfterUserEdit('foo bar', 'FOO BAR');
66
67 debug('===> Tests for INPUT[type=number]');
68 element = document.getElementById('number');
69 testValueUpdateOnChange('123');
70 testValueUpdateWithoutUserEdit('999');
71 testValueUpdateAfterUserEdit('123', '999');
72
73 debug('===> Tests for TEXTAREA');
74 element = document.getElementById('textarea');
75 testValueUpdateOnChange('foo bar');
76 testValueUpdateWithoutUserEdit('FOO BAR');
77 testValueUpdateAfterUserEdit('foo bar', 'FOO BAR');
78
79 document.querySelector('#container').remove();
80 </script>
81 </body>
82 </html>
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/fast/events/onchange-js-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698