mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-23 10:15:41 +00:00
0d460e3432
This is split from the previous changeset since if we include dom/ the file size is too large for phabricator to handle. This is an autogenerated commit to handle scripts loading mochitest harness files, in the simple case where the script src is on the same line as the tag. This was generated with https://bug1544322.bmoattachments.org/attachment.cgi?id=9058170 using the `--part 2` argument. Differential Revision: https://phabricator.services.mozilla.com/D27457 --HG-- extra : moz-landing-system : lando
150 lines
5.5 KiB
HTML
150 lines
5.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=369370
|
|
-->
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title>Test for Bug 369370</title>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
|
</head>
|
|
<body>
|
|
<script type="text/javascript">
|
|
/*
|
|
* Test strategy:
|
|
*/
|
|
function makeClickFor(x, y) {
|
|
var event = kidDoc.createEvent("mouseevent");
|
|
event.initMouseEvent("click",
|
|
true, true, kidWin, 1, // bubbles, cancelable, view, single-click
|
|
x, y, x, y, // screen X/Y, client X/Y
|
|
false, false, false, false, // no key modifiers
|
|
0, null); // left click, not relatedTarget
|
|
return event;
|
|
}
|
|
|
|
function childLoaded() {
|
|
kidDoc = kidWin.document;
|
|
ok(true, "Child window loaded");
|
|
|
|
var elements = kidDoc.getElementsByTagName("img");
|
|
is(elements.length, 1, "looking for imagedoc img");
|
|
var img = elements[0];
|
|
|
|
// Need to use innerWidth/innerHeight of the window
|
|
// since the containing image is absolutely positioned,
|
|
// causing clientHeight to be zero.
|
|
is(kidWin.innerWidth, 400, "Checking doc width");
|
|
is(kidWin.innerHeight, 300, "Checking doc height");
|
|
|
|
// Image just loaded and is scaled to window size.
|
|
is(img.width, 400, "image width");
|
|
is(img.height, 300, "image height");
|
|
is(kidDoc.body.scrollLeft, 0, "Checking scrollLeft");
|
|
is(kidDoc.body.scrollTop, 0, "Checking scrollTop");
|
|
|
|
// ========== test 1 ==========
|
|
// Click in the upper left to zoom in
|
|
var event = makeClickFor(25,25);
|
|
img.dispatchEvent(event);
|
|
ok(true, "----- click 1 -----");
|
|
|
|
is(img.width, 800, "image width");
|
|
is(img.height, 600, "image height");
|
|
is(kidDoc.body.scrollLeft, 0, "Checking scrollLeft");
|
|
is(kidDoc.body.scrollTop, 0, "Checking scrollTop");
|
|
|
|
// ========== test 2 ==========
|
|
// Click there again to zoom out
|
|
event = makeClickFor(25,25);
|
|
img.dispatchEvent(event);
|
|
ok(true, "----- click 2 -----");
|
|
|
|
is(img.width, 400, "image width");
|
|
is(img.height, 300, "image height");
|
|
is(kidDoc.body.scrollLeft, 0, "Checking scrollLeft");
|
|
is(kidDoc.body.scrollTop, 0, "Checking scrollTop");
|
|
|
|
// ========== test 3 ==========
|
|
// Click in the lower right to zoom in
|
|
event = makeClickFor(350, 250);
|
|
img.dispatchEvent(event);
|
|
ok(true, "----- click 3 -----");
|
|
|
|
is(img.width, 800, "image width");
|
|
is(img.height, 600, "image height");
|
|
is(kidDoc.body.scrollLeft, 400, "Checking scrollLeft");
|
|
is(kidDoc.body.scrollTop, 300, "Checking scrollTop");
|
|
|
|
// ========== test 4 ==========
|
|
// Click there again to zoom out
|
|
event = makeClickFor(350, 250);
|
|
img.dispatchEvent(event);
|
|
ok(true, "----- click 4 -----");
|
|
|
|
is(img.width, 400, "image width");
|
|
is(img.height, 300, "image height");
|
|
is(kidDoc.body.scrollLeft, 0, "Checking scrollLeft");
|
|
is(kidDoc.body.scrollTop, 0, "Checking scrollTop");
|
|
|
|
// ========== test 5 ==========
|
|
// Click in the upper left to zoom in again
|
|
event = makeClickFor(25, 25);
|
|
img.dispatchEvent(event);
|
|
ok(true, "----- click 5 -----");
|
|
is(img.width, 800, "image width");
|
|
is(img.height, 600, "image height");
|
|
is(kidDoc.body.scrollLeft, 0, "Checking scrollLeft");
|
|
is(kidDoc.body.scrollTop, 0, "Checking scrollTop");
|
|
is(img.getBoundingClientRect().top, 0, "Image is in view vertically");
|
|
|
|
// ========== test 6 ==========
|
|
// Now try resizing the window so the image fits vertically.
|
|
function test6() {
|
|
kidWin.addEventListener("resize", function() {
|
|
// Give the image document time to respond
|
|
SimpleTest.executeSoon(function() {
|
|
is(img.height, 600, "image height");
|
|
is(img.getBoundingClientRect().top, 25, "Image is vertically centered");
|
|
test7();
|
|
});
|
|
}, {once: true});
|
|
|
|
var decorationSize = kidWin.outerHeight - kidWin.innerHeight;
|
|
kidWin.resizeTo(400, 600 + 50 + decorationSize);
|
|
}
|
|
|
|
// ========== test 7 ==========
|
|
// Now try resizing the window so the image no longer fits vertically.
|
|
function test7() {
|
|
kidWin.addEventListener("resize", function() {
|
|
// Give the image document time to respond
|
|
SimpleTest.executeSoon(function() {
|
|
is(img.height, 600, "image height");
|
|
is(img.getBoundingClientRect().top, 0, "Image is at top again");
|
|
kidWin.close();
|
|
SimpleTest.finish();
|
|
});
|
|
}, {once: true});
|
|
|
|
var decorationSize = kidWin.outerHeight - kidWin.innerHeight;
|
|
kidWin.resizeTo(400, 300 + decorationSize);
|
|
}
|
|
|
|
test6();
|
|
}
|
|
var kidWin;
|
|
var kidDoc;
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
SpecialPowers.pushPrefEnv({"set":[["browser.enable_automatic_image_resizing", true]]}, function() {
|
|
kidWin = window.open("bug369370-popup.png", "bug369370", "width=400,height=300,scrollbars=no");
|
|
// will init onload
|
|
ok(kidWin, "opened child window");
|
|
kidWin.onload = childLoaded;
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|