Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  test_bug351633-3.html

  Sprache: HTML
 

 products/Sources/formale Sprachen/C/Firefox/dom/jsurl/test/test_bug351633-3.html


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

<head>
  <title>Test for Bug 351633</title>
  <script src="/tests/SimpleTest/SimpleTest.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=351633">Mozilla Bug 351633</a>
<pre id="test">
<script class="testbody" type="text/javascript">
// String concatenation used to avoid incorrect detection of end of script elements.
/* eslint-disable no-useless-concat */

var passJSUrl;
var passJSUrl2;
var finishTest;

/** Test for Bug 351633 **/
function runTests() {
  $("testframe1").onload = test1;
  // test2 will be called as finishTest
  $("testframe3").onload = test3;
  $("testframe4").onload = test4;
  $("testframe5").onload = test5;
  passJSUrl = false;
  window.testframe1.location.href =
    'javascript:"<script>parent.passJSUrl = true</' + 'script>"'
}

function test1() {
  is(passJSUrl, true, "Script should have run in child");

  passJSUrl = false;
  passJSUrl2 = true;
  finishTest = test2;

  window.testframe2.location.href =
    'javascript: location = "pass.html"; ' +
    '"<script>parent.passJSUrl2 = false</' + 'script>"'
}

function test2() {
  is(passJSUrl, true, "pass.html should have loaded");
  is(passJSUrl2, true, "<script> should not have run");

  passJSUrl = true;
  passJSUrl2 = false;
  finishTest = function() { };

  window.testframe3.location.href = 'fail.html';
  window.testframe3.location.href =
    'javascript: "<script>parent.passJSUrl2 = true</' + 'script>"'
}

function test3() {
  if (window.testframe3.location.href == 'fail.html') {
    // Ignore this call; we expect the javascript: URI to still load.  Note
    // that whether onload fires for the fail.html load before the event for
    // the javascript: URI execution runs is a timing issue, so we can't depend
    // on the ordering.    
    return;
  }

  // Since fail.html could have loaded, the value of passJSUrl here is random

  // Something is bogus here.  Maybe we're ending up with the href being the
  // javascript: URI even though it hasn't run yet?  Or something?  In any
  // case, this test fails on some tinderboxen but not others....  Need to
  // sort it out.  
  // is(passJSUrl2, true, "<script> should have run");

  passJSUrl = false;
  passJSUrl2 = true;
  finishTest = function() { };

  window.testframe4.location.href = 'pass.html';
  window.testframe4.location.href =
    'javascript:void("<script>parent.passJSUrl2 = false</' + 'script>")'
}

function test4() {
  is(passJSUrl, true, "pass.html should have loaded again");
  is(passJSUrl2, true, "<script> should not have run in void");

  passJSUrl = false;
  passJSUrl2 = true;
  finishTest = function() { };

  window.testframe5.location.href =
    'javascript:"<script>parent.passJSUrl2 = false</' + 'script>"';
  window.testframe5.location.href = 'pass.html';  
}

function test5() {
  is(passJSUrl, true, "pass.html should have loaded yet again");
  is(passJSUrl2, true, "javascript: load should have been canceled");

  SimpleTest.finish();
}

SimpleTest.waitForExplicitFinish();
addLoadEvent(runTests);

</script>
</pre>
<p id="display">
  <iframe name="testframe1" id="testframe1"></iframe>
  <iframe name="testframe2" id="testframe2"></iframe>
  <iframe name="testframe3" id="testframe3"></iframe>
  <iframe name="testframe4" id="testframe4"></iframe>
  <iframe name="testframe5" id="testframe5"></iframe>
</p>
<div id="content" style="display: none">
  
</div>
</body>
</html>


Messung V0.5 in Prozent
C=100 H=100 G=100

¤ Dauer der Verarbeitung: 0.23 Sekunden  (vorverarbeitet am  2026-04-26) ¤

*© 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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge