зеркало из https://github.com/mozilla/pjs.git
Bug 589502 - Don't use two images in content/base/test/test_bug421602.html to prevent race conditions. r=bz a=tests
Instead, use one image and finish the test if the load or error event happens. If none of them happen, that means the test failed and it will properly time out.
This commit is contained in:
Родитель
88f832e4f2
Коммит
f0ab2642c1
|
@ -22,9 +22,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=421602
|
||||||
SimpleTest.waitForExplicitFinish();
|
SimpleTest.waitForExplicitFinish();
|
||||||
|
|
||||||
var img1loaded = false;
|
var img1loaded = false;
|
||||||
var img2loaded = false;
|
|
||||||
var img1errored = false;
|
var img1errored = false;
|
||||||
var img2errored = false;
|
|
||||||
|
|
||||||
function gc() {
|
function gc() {
|
||||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||||
|
@ -36,10 +34,13 @@ function gc() {
|
||||||
// Our test image
|
// Our test image
|
||||||
function loadTestImage() {
|
function loadTestImage() {
|
||||||
var img1 = new Image();
|
var img1 = new Image();
|
||||||
img1.onload = function() { img1loaded = true; }
|
img1.onload = function() {
|
||||||
|
img1loaded = true;
|
||||||
|
finishTest();
|
||||||
|
}
|
||||||
img1.onerror = function() {
|
img1.onerror = function() {
|
||||||
is(img2errored, false, "Image 2 should not error before image 1");
|
|
||||||
img1errored = true;
|
img1errored = true;
|
||||||
|
finishTest();
|
||||||
}
|
}
|
||||||
img1.src = window.location.href + "?image1=true";
|
img1.src = window.location.href + "?image1=true";
|
||||||
}
|
}
|
||||||
|
@ -48,17 +49,9 @@ loadTestImage();
|
||||||
// Probably overkill to gc() more than once, but let's be safe
|
// Probably overkill to gc() more than once, but let's be safe
|
||||||
gc(); gc(); gc();
|
gc(); gc(); gc();
|
||||||
|
|
||||||
// And now our "wrap the test up" image.
|
|
||||||
var img2 = new Image();
|
|
||||||
img2.onload = function() { img2loaded = true; }
|
|
||||||
img2.onerror = function() { img2errored = true; finishTest(); }
|
|
||||||
img2.src = window.location.href + "?image2=true";
|
|
||||||
|
|
||||||
function finishTest() {
|
function finishTest() {
|
||||||
is(img1errored, true, "Image 1 should error");
|
is(img1errored, true, "Image 1 should error");
|
||||||
is(img2errored, true, "Image 2 should error");
|
|
||||||
is(img1loaded, false, "Image 1 should not load");
|
is(img1loaded, false, "Image 1 should not load");
|
||||||
is(img2loaded, false, "Image 2 should not load");
|
|
||||||
SimpleTest.finish();
|
SimpleTest.finish();
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
Загрузка…
Ссылка в новой задаче