4 https://bugzilla.mozilla.org/show_bug.cgi?id=855741
7 <title>Test for Bug
855741</title>
8 <script type=
"text/javascript" src=
"/MochiKit/MochiKit.js"></script>
9 <script src=
"/tests/SimpleTest/SimpleTest.js"></script>
10 <link rel=
"stylesheet" type=
"text/css" href=
"/tests/SimpleTest/test.css" />
14 <div id=
"content" style=
"display: none">
16 <input type=
"text" id=
"testTarget" value=
"focus">
18 <script class=
"testbody" type=
"text/javascript">
20 /** Test for Bug
855741 **/
21 function testFocusEvent(event) {
22 ok(('relatedTarget' in event), 'FocusEvent.relatedTarget exists');
24 if (event.construct_test == true) {
25 ok(event.relatedTarget == $(
"content"), 'FocusEvent.relatedTarget is ' + $(
"content").id);
29 function testUIEvent(event) {
30 ok((event.detail ==
0),
31 'UIEvent.detail should be
0 in ' + event.target.value + ' event');
33 ok((event.defaultView == null),
34 'UIEvent.defaultView should be null in ' + event.target.value + ' event');
37 function testEventType(event, type) {
38 ok((event.type == type), 'Event.type match: ' + type);
41 function eventhandle(event) {
42 testFocusEvent(event);
44 testEventType(event, event.target.value);
46 if (event.target.value == 'blur') {
47 event.target.value = 'focus';
49 event.target.value = 'blur';
56 $(
"testTarget").addEventListener(
"focus", eventhandle, true);
57 $(
"testTarget").addEventListener(
"blur", eventhandle, true);
60 // FocusEvent structure test
62 $(
"testTarget").focus();
63 $(
"testTarget").blur();
66 // Focus/Blur constructor test
68 var focus_event = new FocusEvent(
"focus",
71 relatedTarget: $(
"content")});
72 focus_event.construct_test = true;
74 var blur_event = new FocusEvent(
"blur",
77 relatedTarget: $(
"content")});
78 blur_event.construct_test = true;
80 // create cycle referece for leak test
81 $(
"content").foo_focus = focus_event;
82 $(
"content").foo_blur = blur_event;
84 $(
"testTarget").dispatchEvent(focus_event);
85 $(
"testTarget").dispatchEvent(blur_event);