<html>
<body>
<pre id="console">
test
</pre>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();

    var msg = 'Document zoom should not apply when printing.';
    var pass = true;
    
    // Determine minium page size height where text fits on a single page.
    var height;
    for (var i = 10; i < 100; i += 5) {
        if (internals.numberOfPages(100, i) == 1) {
            height = i;
            break;
        }
    }
    
    // Zoom in and verify that page count does not change.
    for (var i = 0; i < 10; i++) {
        var numberOfPages = internals.numberOfPages(100, height);
        if (numberOfPages != 1) {
            pass = false;
            msg += 'Got ' + numberOfPages + ' pages, expected 1 page.\n';
        }
        eventSender.zoomPageIn();
    }

    msg = (pass ? 'PASS' : 'FAIL') + ' ' + msg;
    document.querySelector('#console').textContent = msg;
}
</script>
</body>
</html>
