Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- Manifest: dom/html/test/browser.toml
// Globals
var ctx = { loadsDone: 0 };
// Entry point from Mochikit
function test() {
waitForExplicitFinish();
ctx.tab1 = BrowserTestUtils.addTab(gBrowser, testPath + "bug592641_img.jpg");
ctx.tab1Browser = gBrowser.getBrowserForTab(ctx.tab1);
BrowserTestUtils.browserLoaded(ctx.tab1Browser).then(load1Soon);
}
function checkTitle(title) {
ctx.loadsDone++;
ok(
/^bug592641_img\.jpg \(JPEG Image, 1500\u00A0\u00D7\u00A01500 pixels\)/.test(
title
),
"Title should be correct on load #" + ctx.loadsDone + ", was: " + title
);
}
function load1Soon() {
// onload is fired in OnStopDecode, so let's use executeSoon() to make sure
// that any other OnStopDecode event handlers get the chance to fire first.
executeSoon(load1Done);
}
function load1Done() {
// Check the title
var title = ctx.tab1Browser.contentTitle;
checkTitle(title);
// Try loading the same image in a new tab to make sure things work in
// the cached case.
ctx.tab2 = BrowserTestUtils.addTab(gBrowser, testPath + "bug592641_img.jpg");
ctx.tab2Browser = gBrowser.getBrowserForTab(ctx.tab2);
BrowserTestUtils.browserLoaded(ctx.tab2Browser).then(load2Soon);
}
function load2Soon() {
// onload is fired in OnStopDecode, so let's use executeSoon() to make sure
// that any other OnStopDecode event handlers get the chance to fire first.
executeSoon(load2Done);
}
function load2Done() {
// Check the title
var title = ctx.tab2Browser.contentTitle;
checkTitle(title);
// Clean up
gBrowser.removeTab(ctx.tab1);
gBrowser.removeTab(ctx.tab2);
// Test done
finish();
}