forked from rnewman/services-central-old
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug 246620 - Simple view-source test; r=ehsan
- Loading branch information
Curtis Bartley
committed
Dec 25, 2011
1 parent
561df56
commit 5c31f17
Showing
2 changed files
with
64 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,63 @@ | |||
<!DOCTYPE HTML> | |||
<html> | |||
<head> | |||
<title>Test for view source</title> | |||
<script type="text/javascript" src="/MochiKit/packed.js"></script> | |||
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> | |||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> | |||
</head> | |||
|
|||
<body> | |||
|
|||
<!-- | |||
this is a multi-line comment | |||
--> | |||
|
|||
<script class="testbody" type="text/javascript"> | |||
|
|||
SimpleTest.waitForExplicitFinish(); | |||
|
|||
// Return the source text of the document at the given URL. | |||
function fetch(url) { | |||
var xhr = new XMLHttpRequest(); | |||
xhr.open("GET", url, false); // None of this async silliness, | |||
xhr.send(); // we'll just wait. | |||
return xhr.responseText; | |||
} | |||
|
|||
// Start a "view source" test using the document at "testUrl". Note that | |||
// the test will actually complete asynchronously. | |||
function startViewSourceTest(testUrl) { | |||
|
|||
// We will "view" the source of the document in an IFRAME. | |||
// If everything is working correctly, the "source" will simply be the | |||
// text content of the IFRAME document's top element. | |||
|
|||
// Create the IFRAME. | |||
var iframe = document.createElement('iframe'); | |||
iframe.src = "view-source:" + testUrl; | |||
|
|||
// The actual test will be carried out inside the IFRAME's onload handler. | |||
iframe.onload = function () { | |||
|
|||
var apparentSource = this.contentDocument.body.textContent; | |||
var actualSource = fetch(testUrl); | |||
|
|||
// OK, verify that the apparent source and the actual source agree. | |||
ok(apparentSource == actualSource, "Sources should match"); | |||
|
|||
SimpleTest.finish(); | |||
} | |||
|
|||
// Our test IFRAME is ready to go. However, it will not load until we | |||
// actually append it to the document. Do that now. Note that the test | |||
// itself will run asynchronously some time after this function returns. | |||
document.body.appendChild(iframe); | |||
} | |||
|
|||
// Start a test using this document as the test document. | |||
startViewSourceTest(document.location.href); | |||
</script> | |||
|
|||
</body> | |||
</html> |