mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
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:
parent
69c0a8afb5
commit
4f4e2b1dc1
@ -22,9 +22,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=421602
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
var img1loaded = false;
|
||||
var img2loaded = false;
|
||||
var img1errored = false;
|
||||
var img2errored = false;
|
||||
|
||||
function gc() {
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
@ -36,10 +34,13 @@ function gc() {
|
||||
// Our test image
|
||||
function loadTestImage() {
|
||||
var img1 = new Image();
|
||||
img1.onload = function() { img1loaded = true; }
|
||||
img1.onload = function() {
|
||||
img1loaded = true;
|
||||
finishTest();
|
||||
}
|
||||
img1.onerror = function() {
|
||||
is(img2errored, false, "Image 2 should not error before image 1");
|
||||
img1errored = true;
|
||||
finishTest();
|
||||
}
|
||||
img1.src = window.location.href + "?image1=true";
|
||||
}
|
||||
@ -48,17 +49,9 @@ loadTestImage();
|
||||
// Probably overkill to gc() more than once, but let's be safe
|
||||
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() {
|
||||
is(img1errored, true, "Image 1 should error");
|
||||
is(img2errored, true, "Image 2 should error");
|
||||
is(img1loaded, false, "Image 1 should not load");
|
||||
is(img2loaded, false, "Image 2 should not load");
|
||||
SimpleTest.finish();
|
||||
}
|
||||
</script>
|
||||
|
Loading…
Reference in New Issue
Block a user