|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
|
Packit |
f0b94e |
width="600"
|
|
Packit |
f0b94e |
height="600"
|
|
Packit |
f0b94e |
onload="nextTestAsync();"
|
|
Packit |
f0b94e |
title="bug 582176 test">
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
<script type="application/javascript" src= "chrome://mochikit/content/chrome-harness.js" />
|
|
Packit |
f0b94e |
<script type="application/javascript" src="docshell_helpers.js" />
|
|
Packit |
f0b94e |
<script type="application/javascript">
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
// Define the generator-iterator for the tests.
|
|
Packit |
f0b94e |
var tests = testIterator();
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
////
|
|
Packit |
f0b94e |
// Execute the next test in the generator function.
|
|
Packit |
f0b94e |
//
|
|
Packit |
f0b94e |
function nextTestAsync() {
|
|
Packit |
f0b94e |
SimpleTest.executeSoon(tests.next.bind(tests));
|
|
Packit |
f0b94e |
}
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
////
|
|
Packit |
f0b94e |
// Generator function for test steps for bug 582176:
|
|
Packit |
f0b94e |
// Description goes here.
|
|
Packit |
f0b94e |
//
|
|
Packit |
f0b94e |
function* testIterator()
|
|
Packit |
f0b94e |
{
|
|
Packit |
f0b94e |
var browser = document.getElementById('content');
|
|
Packit |
f0b94e |
browser.addEventListener("pageshow", nextTestAsync, true);
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
enableBFCache(true);
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
var notificationCount = 0;
|
|
Packit |
f0b94e |
var observer = {
|
|
Packit |
f0b94e |
observe: function(aSubject, aTopic, aData) {
|
|
Packit |
f0b94e |
is(aSubject, browser.contentWindow,
|
|
Packit |
f0b94e |
"correct subject");
|
|
Packit |
f0b94e |
is(aTopic, "content-document-global-created",
|
|
Packit |
f0b94e |
"correct topic");
|
|
Packit |
f0b94e |
is(aData, "http://mochi.test:8888",
|
|
Packit |
f0b94e |
"correct data");
|
|
Packit |
f0b94e |
notificationCount++;
|
|
Packit |
f0b94e |
}
|
|
Packit |
f0b94e |
};
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
os = Cc["@mozilla.org/observer-service;1"].
|
|
Packit |
f0b94e |
getService(Ci.nsIObserverService);
|
|
Packit |
f0b94e |
os.addObserver(observer, "content-document-global-created");
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
browser.loadURI("http://mochi.test:8888/tests/docshell/test/chrome/582176_dummy.html");
|
|
Packit |
f0b94e |
yield undefined;
|
|
Packit |
f0b94e |
is(browser.contentWindow.testVar, undefined,
|
|
Packit |
f0b94e |
"variable unexpectedly there already");
|
|
Packit |
f0b94e |
browser.contentWindow.wrappedJSObject.testVar = 1;
|
|
Packit |
f0b94e |
is(notificationCount, 1, "Should notify on first navigation");
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
browser.loadURI("http://mochi.test:8888/tests/docshell/test/chrome/582176_dummy.html?2");
|
|
Packit |
f0b94e |
yield undefined;
|
|
Packit |
f0b94e |
is(browser.contentWindow.wrappedJSObject.testVar, undefined,
|
|
Packit |
f0b94e |
"variable should no longer be there");
|
|
Packit |
f0b94e |
is(notificationCount, 2, "Should notify on second navigation");
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
browser.goBack();
|
|
Packit |
f0b94e |
yield undefined;
|
|
Packit |
f0b94e |
is(browser.contentWindow.wrappedJSObject.testVar, 1,
|
|
Packit |
f0b94e |
"variable should still be there");
|
|
Packit |
f0b94e |
is(notificationCount, 2, "Should not notify on back navigation");
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
browser.loadURI("http://mochi.test:8888/tests/docshell/test/chrome/582176_xml.xml");
|
|
Packit |
f0b94e |
yield undefined;
|
|
Packit |
f0b94e |
is(browser.contentDocument.body.textContent, "xslt result",
|
|
Packit |
f0b94e |
"Transform performed successfully");
|
|
Packit |
f0b94e |
is(notificationCount, 3, "Should notify only once on XSLT navigation");
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
os.removeObserver(observer, "content-document-global-created")
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
// Tell the framework the test is finished.
|
|
Packit |
f0b94e |
finish();
|
|
Packit |
f0b94e |
}
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
]]></script>
|
|
Packit |
f0b94e |
<browser type="content" primary="true" flex="1" id="content" src="about:blank"/>
|
|
Packit |
f0b94e |
</window>
|