Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/dom/html/test/forms/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 5 kB image not shown  

Quelle  test_formaction_attribute.html   Sprache: HTML

 
 products/sources/formale Sprachen/C/Firefox/dom/html/test/forms/test_formaction_attribute.html


<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=566160
-->

<head>
  <title>Test for Bug 566160</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=566160">Mozilla Bug 566160</a>
<p id="display"></p>
<style>
  iframe { width: 130px; height: 100px;}
</style>
<iframe name='frame1' id='frame1'></iframe>
<iframe name='frame2' id='frame2'></iframe>
<iframe name='frame3' id='frame3'></iframe>
<iframe name='frame3bis' id='frame3bis'></iframe>
<iframe name='frame4' id='frame4'></iframe>
<iframe name='frame5' id='frame5'></iframe>
<iframe name='frame6' id='frame6'></iframe>
<iframe name='frame7' id='frame7'></iframe>
<div id="content">
  <!-- submit controls with formaction that are validated with a CLICK -->
  <form target="frame1" action="FAIL.html" method="GET">
    <input name='foo' value='foo'>
    <input type='submit' id='is' formaction="PASS.html">
  </form>
  <form target="frame2" action="FAIL.html" method="GET">
    <input name='bar' value='bar'>
    <input type='image' id='ii' formaction="PASS.html">
  </form>
  <form target="frame3" action="FAIL.html" method="GET">
    <input name='tulip' value='tulip'>
    <button type='submit' id='bs' formaction="PASS.html">submit</button>
  </form>
  <form target="frame3bis" action="FAIL.html" method="GET">
    <input name='tulipbis' value='tulipbis'>
    <button type='submit' id='bsbis' formaction="PASS.html">submit</button>
  </form>

  <!-- submit controls with formaction that are validated with ENTER -->
  <form target="frame4" action="FAIL.html" method="GET">
    <input name='footulip' value='footulip'>
    <input type='submit' id='is2' formaction="PASS.html">
  </form>
  <form target="frame5" action="FAIL.html" method="GET">
    <input name='foobar' value='foobar'>
    <input type='image' id='ii2' formaction="PASS.html">
  </form>
  <form target="frame6" action="FAIL.html" method="GET">
    <input name='tulip2' value='tulip2'>
    <button type='submit' id='bs2' formaction="PASS.html">submit</button>
  </form>

  <!-- check that when submitting a from from an element
       which is not a submit control, @formaction isn't used -->

  <form target='frame7' action="PASS.html" method="GET">
    <input id='enter' name='input' value='enter' formaction="FAIL.html">
  </form>
</div>
<pre id="test">
<script type="application/javascript">

/** Test for Bug 566160 **/

SimpleTest.waitForExplicitFinish();
SimpleTest.waitForFocus(runTests);

const BASE_URI = `${location.origin}/tests/dom/html/test/forms/PASS.html`;
var gTestResults = {
  frame1: BASE_URI + "?foo=foo",
  frame2: BASE_URI + "?bar=bar&x=0&y=0",
  frame3: BASE_URI + "?tulip=tulip",
  frame3bis: BASE_URI + "?tulipbis=tulipbis",
  frame4: BASE_URI + "?footulip=footulip",
  frame5: BASE_URI + "?foobar=foobar&x=0&y=0",
  frame6: BASE_URI + "?tulip2=tulip2",
  frame7: BASE_URI + "?input=enter",
};

var gPendingLoad = 0; // Has to be set after depending on the frames number.

function runTests()
{
  // We add a load event for the frames which will be called when the forms
  // will be submitted.
  var frames = [ document.getElementById('frame1'),
                 document.getElementById('frame2'),
                 document.getElementById('frame3'),
                 document.getElementById('frame3bis'),
                 document.getElementById('frame4'),
                 document.getElementById('frame5'),
                 document.getElementById('frame6'),
                 document.getElementById('frame7'),
               ];
  gPendingLoad = frames.length;

  for (var i=0; i<frames.length; i++) {
    frames[i].setAttribute('onload'"frameLoaded(this);");
  }

  /**
   * We are going to focus each element before interacting with either for
   * simulating the ENTER key (synthesizeKey) or a click (synthesizeMouse) or
   * using .click(). This because it may be needed (ENTER) and because we want
   * to have the element visible in the iframe.
   *
   * Focusing the first element (id='is') is launching the tests.
   */
  document.getElementById('is').addEventListener('focus', function(aEvent) {
    synthesizeMouse(document.getElementById('is'), 5, 5, {});
    document.getElementById('ii').focus();
  }, {once: true});

  document.getElementById('ii').addEventListener('focus', function(aEvent) {
    synthesizeMouse(document.getElementById('ii'), 5, 5, {});
    document.getElementById('bs').focus();
  }, {once: true});

  document.getElementById('bs').addEventListener('focus', function(aEvent) {
    synthesizeMouse(document.getElementById('bs'), 5, 5, {});
    document.getElementById('bsbis').focus();
  }, {once: true});

  document.getElementById('bsbis').addEventListener('focus', function(aEvent) {
    document.getElementById('bsbis').click();
    document.getElementById('is2').focus();
  }, {once: true});

  document.getElementById('is2').addEventListener('focus', function(aEvent) {
    synthesizeKey("KEY_Enter");
    document.getElementById('ii2').focus();
  }, {once: true});

  document.getElementById('ii2').addEventListener('focus', function(aEvent) {
    synthesizeKey("KEY_Enter");
    document.getElementById('bs2').focus();
  }, {once: true});

  document.getElementById('bs2').addEventListener('focus', function(aEvent) {
    synthesizeKey("KEY_Enter");
    document.getElementById('enter').focus();
  }, {once: true});

  document.getElementById('enter').addEventListener('focus', function(aEvent) {
    synthesizeKey("KEY_Enter");
  }, {once: true});

  document.getElementById('is').focus();
}

function frameLoaded(aFrame) {
  // Check if formaction/action has the correct behavior.
  is(aFrame.contentWindow.location.href, gTestResults[aFrame.name],
     "the action attribute doesn't have the correct behavior");

  if (--gPendingLoad == 0) {
    SimpleTest.finish();
  }
}

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

Messung V0.5
C=98 H=100 G=98

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.