<!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-before :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 'auto' value of the 'page-break-before' property neither forces nor forbids a page break before the box." name="assert">
<style type="text/css">

    div.noBreak {
        page-break-before:always;
        page-break-before: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>There must <strong>not</strong> be a page break after this line of text.</div>
    <div class="noBreak" id="test">This test should produce only one page of output.</div>
</body>
</html>
