<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>CSS Test: page-break-after: auto</title>
<link rel="author" href="mailto:mturnwall@revenution.com" title="Michael Turnwall">
<link rel="author" href="http://www.hp.com/" title="Hewlett-Packard Company">
<link rel="help" href="http://www.w3.org/TR/CSS21/page.html#page-break-props">
<meta content="paged" name="flags">
<meta content="The 'always' value of the 'page-break-after' property forces a page break after the box." name="assert">
<style type="text/css">
    div.noBreak {
        page-break-after:always;
        page-break-after:auto;
    }
</style>
<script src="../resources/paged-media-test-utils.js"></script>
<script>

    if (window.testRunner)
        testRunner.dumpAsText();

    function test()
    {
        pageNumberForElementShouldBe('test', 0);
        numberOfPagesShouldBe(1);
    }

</script>
</head>
<body onload="runPrintingTest(test)">
    <div class="noBreak">There must <strong>not</strong> be a page break after this line of text.</div>
    <div id="test">This test should produce only one page of output.</div>
</body>
</html>
