<!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 (no inherit)</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 'page-break-after' property is not inherited." name="assert">
<style type="text/css">

    div {
        page-break-after:always;
    }

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

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

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

</script>
</head>
<body onload="runPrintingTest(test)">
    <div>
        <p>There must <strong>not</strong> be a page break after this line of text.</p>
        <span id="test1">This test should produce two pages of output.</span>
    </div>
    <div id="test2">
        This text should be at the top of the second and final page.
    </div>
</body>
</html>
