summaryrefslogtreecommitdiffstats
path: root/dom/html/test/test_bug567938-2.html
blob: 4a9751680525e84374a5b68ec6bb888950d2c986 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=567938
-->
<head>
  <title>Test for Bug 567938</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <script src="/tests/SimpleTest/EventUtils.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=567938">Mozilla Bug 567938</a>
<p id="display"></p>
<iframe id='iframe' name="submit_frame" style="visibility: hidden;"></iframe>
<div id="content" style="display: none">
  <form id='f' method='get' target='submit_frame'>
  </form>
</div>
<pre id="test">
<script type="application/javascript">

/** Test for Bug 567938 **/

SimpleTest.waitForExplicitFinish();
addLoadEvent(runTests);

var gTestData = ["submit", "image"];
var gCurrentTest = 0;

function initializeNextTest()
{
  var form = document.forms[0];

  // Cleaning-up.
  form.textContent = "";

  // Add the new element.
  var element = document.createElement("input");
  element.id = 'i';
  element.type = gTestData[gCurrentTest];
  element.onclick = function() { form.submit(); element.type='text'; };
  form.action = gTestData[gCurrentTest];
  form.appendChild(element);

  sendMouseEvent({type: 'click'}, 'i');
}

function runTests()
{
  document.getElementById('iframe').addEventListener('load', function(aEvent) {
    is(frames.submit_frame.location.href,
       `${location.origin}/tests/dom/html/test/${gTestData[gCurrentTest]}?`,
       "The form should have been submitted");
    gCurrentTest++;
    if (gCurrentTest < gTestData.length) {
      initializeNextTest();
    } else {
      aEvent.target.removeEventListener('load', arguments.callee);
      SimpleTest.finish();
    }
    });

  initializeNextTest();
}

</script>
</pre>
</body>
</html>