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

Side by Side Diff: LayoutTests/fast/events/constructors/mouse-event-constructor.html

Issue 85263002: Improve handling of dictionary conversions. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Have conversion methods take a context argument; elaborate error msgs further. Created 7 years 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
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../../../resources/js-test.js"></script> 4 <script src="../../../resources/js-test.js"></script>
5 </head> 5 </head>
6 <body> 6 <body>
7 <script> 7 <script>
8 8
9 description("This tests the constructor for the MouseEvent DOM class."); 9 description("This tests the constructor for the MouseEvent DOM class.");
10 10
(...skipping 24 matching lines...) Expand all
35 // cancelable is passed. 35 // cancelable is passed.
36 shouldBe("new MouseEvent('eventType', { cancelable: false }).cancelable", "false "); 36 shouldBe("new MouseEvent('eventType', { cancelable: false }).cancelable", "false ");
37 shouldBe("new MouseEvent('eventType', { cancelable: true }).cancelable", "true") ; 37 shouldBe("new MouseEvent('eventType', { cancelable: true }).cancelable", "true") ;
38 38
39 // view is passed. 39 // view is passed.
40 // Window objects. 40 // Window objects.
41 shouldBe("new MouseEvent('eventType', { view: window }).view", "window"); 41 shouldBe("new MouseEvent('eventType', { view: window }).view", "window");
42 shouldBe("new MouseEvent('eventType', { view: this }).view", "this"); 42 shouldBe("new MouseEvent('eventType', { view: this }).view", "this");
43 43
44 // Non-window objects. 44 // Non-window objects.
45 shouldBe("new MouseEvent('eventType', { view: testObject }).view", "null"); 45 shouldThrow("new MouseEvent('eventType', { view: testObject }).view");
46 shouldBe("new MouseEvent('eventType', { view: document }).view", "null"); 46 shouldThrow("new MouseEvent('eventType', { view: document }).view");
47 shouldBe("new MouseEvent('eventType', { view: undefined }).view", "null"); 47 shouldBe("new MouseEvent('eventType', { view: undefined }).view", "null");
48 shouldBe("new MouseEvent('eventType', { view: null }).view", "null"); 48 shouldBe("new MouseEvent('eventType', { view: null }).view", "null");
49 shouldBe("new MouseEvent('eventType', { view: false }).view", "null"); 49 shouldThrow("new MouseEvent('eventType', { view: false }).view");
50 shouldBe("new MouseEvent('eventType', { view: true }).view", "null"); 50 shouldThrow("new MouseEvent('eventType', { view: true }).view");
51 shouldBe("new MouseEvent('eventType', { view: '' }).view", "null"); 51 shouldThrow("new MouseEvent('eventType', { view: '' }).view");
52 shouldBe("new MouseEvent('eventType', { view: 'chocolate' }).view", "null"); 52 shouldThrow("new MouseEvent('eventType', { view: 'chocolate' }).view");
53 shouldBe("new MouseEvent('eventType', { view: 12345 }).view", "null"); 53 shouldThrow("new MouseEvent('eventType', { view: 12345 }).view");
54 shouldBe("new MouseEvent('eventType', { view: 18446744073709551615 }).view", "nu ll"); 54 shouldThrow("new MouseEvent('eventType', { view: 18446744073709551615 }).view");
55 shouldBe("new MouseEvent('eventType', { view: NaN }).view", "null"); 55 shouldThrow("new MouseEvent('eventType', { view: NaN }).view");
56 // Note that valueOf() is not called, when the left hand side is evaluated. 56 // Note that valueOf() is not called, when the left hand side is evaluated.
57 shouldBeFalse("new MouseEvent('eventType', { view: {valueOf: function () { retur n window; } } }).view == window"); 57 shouldThrow("new MouseEvent('eventType', { view: {valueOf: function () { return window; } } }).view == window");
58 shouldBe("new MouseEvent('eventType', { get view() { return 123; } }).view", "nu ll"); 58 shouldBe("new MouseEvent('eventType', { get view() { return window; } }).view", "window");
59 shouldThrow("new MouseEvent('eventType', { get view() { return 123; } }).view");
59 shouldThrow("new MouseEvent('eventType', { get view() { throw 'MouseEvent Error' ; } })"); 60 shouldThrow("new MouseEvent('eventType', { get view() { throw 'MouseEvent Error' ; } })");
60 61
61 // Max/min for client positions (LayoutUnit max/min). 62 // Max/min for client positions (LayoutUnit max/min).
62 var MAX_CLIENT_SIZE = "33554431"; 63 var MAX_CLIENT_SIZE = "33554431";
63 var MIN_CLIENT_SIZE = "-33554432"; 64 var MIN_CLIENT_SIZE = "-33554432";
64 65
65 // detail, screenX, screenY, clientX and clientY are passed. 66 // detail, screenX, screenY, clientX and clientY are passed.
66 ["detail", "screenX", "screenY", "clientX", "clientY"].forEach(function (attr) { 67 ["detail", "screenX", "screenY", "clientX", "clientY"].forEach(function (attr) {
67 // numbers within the long range. 68 // numbers within the long range.
68 shouldBe("new MouseEvent('eventType', { " + attr + ": 0 })." + attr, "0"); 69 shouldBe("new MouseEvent('eventType', { " + attr + ": 0 })." + attr, "0");
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 shouldBe("new MouseEvent('eventType', { button: {valueOf: function () { return 1 2345; }} }).button", "12345"); 134 shouldBe("new MouseEvent('eventType', { button: {valueOf: function () { return 1 2345; }} }).button", "12345");
134 135
135 // relatedTarget is passed. 136 // relatedTarget is passed.
136 // Valid objects. 137 // Valid objects.
137 shouldBe("new MouseEvent('eventType', { relatedTarget: testDiv }).relatedTarget" , "testDiv"); 138 shouldBe("new MouseEvent('eventType', { relatedTarget: testDiv }).relatedTarget" , "testDiv");
138 shouldBe("new MouseEvent('eventType', { relatedTarget: document }).relatedTarget ", "document"); 139 shouldBe("new MouseEvent('eventType', { relatedTarget: document }).relatedTarget ", "document");
139 shouldBe("new MouseEvent('eventType', { relatedTarget: xhr }).relatedTarget", "x hr"); 140 shouldBe("new MouseEvent('eventType', { relatedTarget: xhr }).relatedTarget", "x hr");
140 shouldBe("new MouseEvent('eventType', { relatedTarget: window }).relatedTarget", "window"); 141 shouldBe("new MouseEvent('eventType', { relatedTarget: window }).relatedTarget", "window");
141 142
142 // Invalid objects. 143 // Invalid objects.
143 shouldBe("new MouseEvent('eventType', { relatedTarget: testObject }).relatedTarg et", "null"); 144 shouldThrow("new MouseEvent('eventType', { relatedTarget: testObject }).relatedT arget");
144 shouldBe("new MouseEvent('eventType', { relatedTarget: undefined }).relatedTarge t", "null"); 145 shouldBe("new MouseEvent('eventType', { relatedTarget: undefined }).relatedTarge t", "null");
145 shouldBe("new MouseEvent('eventType', { relatedTarget: null }).relatedTarget", " null"); 146 shouldBe("new MouseEvent('eventType', { relatedTarget: null }).relatedTarget", " null");
146 shouldBe("new MouseEvent('eventType', { relatedTarget: false }).relatedTarget", "null"); 147 shouldThrow("new MouseEvent('eventType', { relatedTarget: false }).relatedTarget ");
147 shouldBe("new MouseEvent('eventType', { relatedTarget: true }).relatedTarget", " null"); 148 shouldThrow("new MouseEvent('eventType', { relatedTarget: true }).relatedTarget" );
148 shouldBe("new MouseEvent('eventType', { relatedTarget: '' }).relatedTarget", "nu ll"); 149 shouldThrow("new MouseEvent('eventType', { relatedTarget: '' }).relatedTarget");
149 shouldBe("new MouseEvent('eventType', { relatedTarget: 'chocolate' }).relatedTar get", "null"); 150 shouldThrow("new MouseEvent('eventType', { relatedTarget: 'chocolate' }).related Target");
150 shouldBe("new MouseEvent('eventType', { relatedTarget: 12345 }).relatedTarget", "null"); 151 shouldThrow("new MouseEvent('eventType', { relatedTarget: 12345 }).relatedTarget ");
151 shouldBe("new MouseEvent('eventType', { relatedTarget: 18446744073709551615 }).r elatedTarget", "null"); 152 shouldThrow("new MouseEvent('eventType', { relatedTarget: 18446744073709551615 } ).relatedTarget");
152 shouldBe("new MouseEvent('eventType', { relatedTarget: NaN }).relatedTarget", "n ull"); 153 shouldThrow("new MouseEvent('eventType', { relatedTarget: NaN }).relatedTarget") ;
153 // Note that valueOf() is not called, when the left hand side is evaluated. 154 // Note that valueOf() is not called, when the left hand side is evaluated.
154 shouldBeFalse("new MouseEvent('eventType', { relatedTarget: {valueOf: function ( ) { return testDiv; } } }).relatedTarget == testDiv"); 155 shouldThrow("new MouseEvent('eventType', { relatedTarget: {valueOf: function () { return testDiv; } } }).relatedTarget == testDiv");
155 shouldBe("new MouseEvent('eventType', { get relatedTarget() { return 123; } }).r elatedTarget", "null"); 156 shouldBe("new MouseEvent('eventType', { get relatedTarget() { return testDiv; } }).relatedTarget", "testDiv");
157 shouldThrow("new MouseEvent('eventType', { get relatedTarget() { return 123; } } ).relatedTarget");
156 shouldThrow("new MouseEvent('eventType', { get relatedTarget() { throw 'MouseEve nt Error'; } })"); 158 shouldThrow("new MouseEvent('eventType', { get relatedTarget() { throw 'MouseEve nt Error'; } })");
157 159
158 // All initializers are passed. 160 // All initializers are passed.
159 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).bubbles", "true"); 161 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).bubbles", "true");
160 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).cancelable", "true"); 162 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).cancelable", "true");
161 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).view", "window"); 163 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).view", "window");
162 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).detail", "111"); 164 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).detail", "111");
163 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).screenX", "222"); 165 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).screenX", "222");
164 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).screenY", "333"); 166 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).screenY", "333");
165 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).clientX", "444"); 167 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).clientX", "444");
166 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).clientY", "555"); 168 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).clientY", "555");
167 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).ctrlKey", "true"); 169 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).ctrlKey", "true");
168 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).shiftKey", "true"); 170 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).shiftKey", "true");
169 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).altKey", "true"); 171 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).altKey", "true");
170 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).metaKey", "true"); 172 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).metaKey", "true");
171 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).button", "666"); 173 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).button", "666");
172 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).relatedTarget", "testDiv"); 174 shouldBe("new MouseEvent('eventType', { bubbles: true, cancelable: true, view: w indow, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrl Key: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarg et: testDiv }).relatedTarget", "testDiv");
173 </script> 175 </script>
174 </body> 176 </body>
175 </html> 177 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698