| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> | |
| <html> | |
| <head> | |
| <script src="../resources/js-test-pre.js"></script> | |
| <script src="resources/paged-media-test-utils.js"></script> | |
| </head> | |
| <body> | |
| <p id="description"></p> | |
| <div id="console"></div> | |
| <div id="sandbox"></div> | |
| <script> | |
| description("Test for allowed page breaks"); | |
| function test() | |
| { | |
| // See CSS3: Paged Media 9.4. Allowed page breaks. | |
| // http://dev.w3.org/csswg/css3-page/#allowed-pg-brk | |
| createBlockWithRatioToPageHeight("page1", 0.8).style.breakBefore = "page"; | |
| // We shoud break a page between block 'page1' and block 'page2' instead of | |
| // breaking inside block 'page2' because there is no allowed page break points | |
| // inside block 'page2'. Breaking at non-allowed position should be a last resort. | |
| createBlockWithRatioToPageHeight("page2", 0.8); | |
| createBlockWithRatioToPageHeight("page3-1", 0.6).style.breakBefore = "page"; | |
| // We can break inside block 'page3-2' because page breaks may occur between | |
| // line boxes inside a block box. | |
| createBlockWithNumberOfLines("page3-2", 20); | |
| pageNumberForElementShouldBe("page1", 1); | |
| pageNumberForElementShouldBe("page2", 2); | |
| pageNumberForElementShouldBe("page3-1", 3); | |
| pageNumberForElementShouldBe("page3-2", 3); | |
| document.body.removeChild(document.getElementById("sandbox")); | |
| } | |
| var successfullyParsed = true; | |
| </script> | |
| <script>runPrintingTest(test);</script> | |
| <script src="../resources/js-test-post.js"></script> | |
| </body> | |
| </html> |