70 lines
1.8 KiB
HTML
70 lines
1.8 KiB
HTML
<!DOCTYPE html>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<form id="test-form">
|
|
<input id="test-input">
|
|
</form>
|
|
<script>
|
|
|
|
description('Tests the lookup in inline event handlers');
|
|
|
|
function dispatchClick(element)
|
|
{
|
|
var clickEvent = document.createEvent('MouseEvent');
|
|
clickEvent.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
|
|
element.dispatchEvent(clickEvent);
|
|
}
|
|
|
|
var result;
|
|
var testForm = document.getElementById('test-form');
|
|
var testInput = document.getElementById('test-input');
|
|
|
|
document.a = 'document-a';
|
|
testForm.a = 'test-form-a';
|
|
testInput.a = 'test-input-a';
|
|
|
|
document.b = 'document-b';
|
|
testForm.b = 'test-form-b';
|
|
|
|
document.c = 'document-c';
|
|
|
|
testInput.setAttribute('onclick', 'result = a');
|
|
dispatchClick(testInput);
|
|
shouldBeEqualToString('result', 'test-input-a');
|
|
|
|
testInput.setAttribute('onclick', 'result = b');
|
|
dispatchClick(testInput);
|
|
shouldBeEqualToString('result', 'test-form-b');
|
|
|
|
testInput.setAttribute('onclick', 'result = c');
|
|
dispatchClick(testInput);
|
|
shouldBeEqualToString('result', 'document-c');
|
|
|
|
|
|
var div = document.createElement('div');
|
|
|
|
div.a = 'div-a';
|
|
div.setAttribute('onclick', 'result = a');
|
|
dispatchClick(div);
|
|
shouldBeEqualToString('result', 'div-a');
|
|
|
|
div.form = {b: 'fake-b'};
|
|
div.setAttribute('onclick', 'result = b');
|
|
dispatchClick(div);
|
|
shouldBeEqualToString('result', 'document-b');
|
|
|
|
div.ownerDocument = {c: 'fake-c'};
|
|
div.setAttribute('onclick', 'result = c');
|
|
dispatchClick(div);
|
|
shouldBeEqualToString('result', 'document-c');
|
|
|
|
div.setAttribute('onclick', 'result = this');
|
|
dispatchClick(div);
|
|
shouldBe('result', 'div');
|
|
|
|
div.event = 'FAIL';
|
|
div.setAttribute('onclick', 'result = event');
|
|
dispatchClick(div);
|
|
shouldNotBe('result', '"FAIL"');
|
|
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script> |