<!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="initial-scale=1.0, user-scalable=no">
  <script src="viewport_helpers.js"></script>
</head>
<body>
  <p>initial-scale=1.0, user-scalable=no</p>
  <script type="application/javascript">
    "use strict";

    add_task(async function test1() {
      await SpecialPowers.pushPrefEnv(scaleRatio(1.0));

      let info = getViewportInfo(800, 480);
      is(info.defaultZoom, 1,     "initial zoom is set explicitly");
      is(info.width,       800,   "width fits the initial zoom level");
      is(info.height,      480,   "height fits the initial zoom level");
      is(info.autoSize,    true,  "initial-scale=1 enables autoSize");
      is(info.allowZoom,   false, "zooming is explicitly disabled");

      info = getViewportInfo(480, 800);
      is(info.defaultZoom, 1,     "initial zoom is still set explicitly");
      is(info.width,       480,   "width changes to match the displayWidth");
      is(info.height,      800,   "height changes to match the displayHeight");
    });

    add_task(async function test2() {
      await SpecialPowers.pushPrefEnv(scaleRatio(1.5));

      let info = getViewportInfo(800, 480);
      is(info.defaultZoom, 1.5,   "initial zoom is adjusted for device pixel ratio");
      is(info.width,       533,   "width fits the initial zoom");
      is(info.height,      320,   "height fits the initial zoom");
    });
  </script>
</body>
</html>
