diff options
Diffstat (limited to 'dom/base/test/meta_viewport/test_meta_viewport7.html')
-rw-r--r-- | dom/base/test/meta_viewport/test_meta_viewport7.html | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/dom/base/test/meta_viewport/test_meta_viewport7.html b/dom/base/test/meta_viewport/test_meta_viewport7.html new file mode 100644 index 0000000000..1f40c27109 --- /dev/null +++ b/dom/base/test/meta_viewport/test_meta_viewport7.html @@ -0,0 +1,71 @@ +<!DOCTYPE HTML> +<html> +<head> + <meta charset="utf-8"> + <title>meta viewport test</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> + <meta name="viewport" content="width=320"> + <script src="viewport_helpers.js"></script> +</head> +<body> + <p>Dynamic viewport updates</p> + <script type="application/javascript"> + "use strict"; + + add_task(async function test1() { + await SpecialPowers.pushPrefEnv(scaleRatio(1.0)); + + updateViewport("width=device-width"); + let info = getViewportInfo(800, 480); + is(info.defaultZoom, 1, "initial zoom is 100%"); + is(info.width, 800, "width is the same as the displayWidth"); + is(info.height, 480, "height is the same as the displayHeight"); + is(info.autoSize, true, "width=device-width enables autoSize"); + is(info.allowZoom, true, "zooming is enabled by default"); + + info = getViewportInfo(900, 600); + is(info.width, 900, "changing the displayWidth changes the width"); + is(info.height, 600, "changing the displayHeight changes the height"); + }); + + add_task(async function test2() { + await SpecialPowers.pushPrefEnv(scaleRatio(1.0)); + + updateViewport("width=320"); + let info = getViewportInfo(800, 80); + is(info.defaultZoom, 2.5, "initial zoom fits the displayWidth"); + is(info.width, 320, "width is set explicitly"); + is(info.height, 40, "height is at the absolute minimum"); + is(info.autoSize, false, "width=device-width enables autoSize"); + is(info.allowZoom, true, "zooming is enabled by default"); + + info = getViewportInfo(480, 800); + is(info.defaultZoom, 1.5, "initial zoom fits the new displayWidth"); + is(info.width, 320, "explicit width is unchanged"); + is(info.height, 533, "height changes proportional to displayHeight"); + }); + + add_task(async function test3() { + await SpecialPowers.pushPrefEnv(scaleRatio(1.0)); + + updateViewport("user-scalable=no"); + let info = getViewportInfo(800, 480); + is(info.allowZoom, false, "zooming is explicitly disabled"); + }); + + add_task(async function test4() { + await SpecialPowers.pushPrefEnv(scaleRatio(1.0)); + + updateViewport("user-scalable=yes"); + let info = getViewportInfo(800, 480); + is(info.allowZoom, true, "zooming is explicitly allowed"); + }); + + function updateViewport(content) { + let meta = document.querySelector("meta[name=viewport]"); + meta.content = content; + } + </script> +</body> +</html> |