<!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: always</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.break {
        page-break-after:always;
    }

</style>
<script src="../resources/paged-media-test-utils.js"></script>
<script>

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

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

</script>
</head>
<body onload="runPrintingTest(test)">
    <div class="break">There must be a page break after this paragraph, followed by another line of content. This test should produce two pages of output.</div>
    <div id="test">
        This text should be at the top of the second and final page.
    </div>
</body>
</html>
