Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / fast / dom / inline-event-attributes-lookup.html
blob6e12e223fe387a6776f95a7f012ac5cefefe1226
1 <!DOCTYPE html>
2 <script src="../../resources/js-test.js"></script>
3 <form id="test-form">
4 <input id="test-input">
5 </form>
6 <script>
8 description('Tests the lookup in inline event handlers');
10 function dispatchClick(element)
12 var clickEvent = document.createEvent('MouseEvent');
13 clickEvent.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
14 element.dispatchEvent(clickEvent);
17 var result;
18 var testForm = document.getElementById('test-form');
19 var testInput = document.getElementById('test-input');
21 document.a = 'document-a';
22 testForm.a = 'test-form-a';
23 testInput.a = 'test-input-a';
25 document.b = 'document-b';
26 testForm.b = 'test-form-b';
28 document.c = 'document-c';
30 testInput.setAttribute('onclick', 'result = a');
31 dispatchClick(testInput);
32 shouldBeEqualToString('result', 'test-input-a');
34 testInput.setAttribute('onclick', 'result = b');
35 dispatchClick(testInput);
36 shouldBeEqualToString('result', 'test-form-b');
38 testInput.setAttribute('onclick', 'result = c');
39 dispatchClick(testInput);
40 shouldBeEqualToString('result', 'document-c');
43 var div = document.createElement('div');
45 div.a = 'div-a';
46 div.setAttribute('onclick', 'result = a');
47 dispatchClick(div);
48 shouldBeEqualToString('result', 'div-a');
50 div.form = {b: 'fake-b'};
51 div.setAttribute('onclick', 'result = b');
52 dispatchClick(div);
53 shouldBeEqualToString('result', 'document-b');
55 div.ownerDocument = {c: 'fake-c'};
56 div.setAttribute('onclick', 'result = c');
57 dispatchClick(div);
58 shouldBeEqualToString('result', 'document-c');
60 div.setAttribute('onclick', 'result = this');
61 dispatchClick(div);
62 shouldBe('result', 'div');
64 div.event = 'FAIL';
65 div.setAttribute('onclick', 'result = event');
66 dispatchClick(div);
67 shouldNotBe('result', '"FAIL"');
69 </script>