gecko-dev/dom/html/test/test_bug369370.html

106 строки
3.8 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 type="text/javascript" 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");
kidWin.close();
SpecialPowers.clearUserPref("browser.enable_automatic_image_resizing");
SimpleTest.finish();
}
SimpleTest.waitForExplicitFinish();
SpecialPowers.setBoolPref("browser.enable_automatic_image_resizing", true);
var kidWin = window.open("bug369370-popup.png", "bug369370", "width=400,height=300");
var kidDoc; // will init onload
ok(kidWin, "opened child window");
kidWin.onload = childLoaded;
</script>
</body>
</html>