dom/events/test/test_bug855741.html

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/dom/events/test/test_bug855741.html	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,90 @@
     1.4 +<!DOCTYPE HTML>
     1.5 +<html>
     1.6 +<!--
     1.7 +https://bugzilla.mozilla.org/show_bug.cgi?id=855741
     1.8 +-->
     1.9 +<head>
    1.10 +  <title>Test for Bug 855741</title>
    1.11 +  <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
    1.12 +  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
    1.13 +  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
    1.14 +</head>
    1.15 +<body>
    1.16 +<p id="display"></p>
    1.17 +<div id="content" style="display: none">
    1.18 +</div>
    1.19 +<input type="text" id="testTarget"  value="focus">
    1.20 +<pre id="test">
    1.21 +<script class="testbody" type="text/javascript">
    1.22 +
    1.23 +/** Test for Bug 855741 **/
    1.24 +function testFocusEvent(event) {
    1.25 +  ok(('relatedTarget' in event), 'FocusEvent.relatedTarget exists');
    1.26 +
    1.27 +  if (event.construct_test == true) {
    1.28 +    ok(event.relatedTarget == $("content"), 'FocusEvent.relatedTarget is ' + $("content").id);
    1.29 +  }
    1.30 +}
    1.31 +
    1.32 +function testUIEvent(event) {
    1.33 +  ok((event.detail == 0),
    1.34 +     'UIEvent.detail should be 0 in ' + event.target.value + ' event');
    1.35 +
    1.36 +  ok((event.defaultView == null),
    1.37 +     'UIEvent.defaultView should be null in ' + event.target.value + ' event');
    1.38 +}
    1.39 +
    1.40 +function testEventType(event, type) {
    1.41 +  ok((event.type == type), 'Event.type match: ' + type);
    1.42 +}
    1.43 +
    1.44 +function eventhandle(event) {
    1.45 +  testFocusEvent(event);
    1.46 +  testUIEvent(event);
    1.47 +  testEventType(event, event.target.value);
    1.48 +
    1.49 +  if (event.target.value == 'blur') {
    1.50 +    event.target.value = 'focus';
    1.51 +  } else {
    1.52 +    event.target.value = 'blur';
    1.53 +  }
    1.54 +}
    1.55 +
    1.56 +//
    1.57 +// event handler:
    1.58 +//
    1.59 +$("testTarget").addEventListener("focus", eventhandle, true);
    1.60 +$("testTarget").addEventListener("blur", eventhandle, true);
    1.61 +
    1.62 +//
    1.63 +// FocusEvent structure test
    1.64 +//
    1.65 +$("testTarget").focus();
    1.66 +$("testTarget").blur();
    1.67 +
    1.68 +//
    1.69 +// Focus/Blur constructor test
    1.70 +//
    1.71 +var focus_event = new FocusEvent("focus",
    1.72 +                                 {bubbles: true,
    1.73 +                                  cancelable: true,
    1.74 +                                  relatedTarget: $("content")});
    1.75 +focus_event.construct_test = true;
    1.76 +
    1.77 +var blur_event = new FocusEvent("blur",
    1.78 +                                {bubbles: true,
    1.79 +                                 cancelable: true,
    1.80 +                                 relatedTarget: $("content")});
    1.81 +blur_event.construct_test = true;
    1.82 +
    1.83 +// create cycle referece for leak test
    1.84 +$("content").foo_focus = focus_event;
    1.85 +$("content").foo_blur = blur_event;
    1.86 +
    1.87 +$("testTarget").dispatchEvent(focus_event);
    1.88 +$("testTarget").dispatchEvent(blur_event);
    1.89 +
    1.90 +</script>
    1.91 +</pre>
    1.92 +</body>
    1.93 +</html>

mercurial