| <!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 break-after:avoid"); | |
| function test() | |
| { | |
| createBlockWithRatioToPageHeight("page1", 0.5).style.breakBefore = "page"; | |
| // A block 'page2-1' must move to the next page because it has 'page-break-after:avoid' | |
| // and both 'page2-1' and 'page2-2' cannot be placed in the current page at the same time. | |
| createBlockWithRatioToPageHeight("page2-1", 0.3).style.breakAfter = "avoid"; | |
| createBlockWithRatioToPageHeight("page2-2", 0.3); | |
| createBlockWithRatioToPageHeight("page3-1", 0.5).style.breakBefore = "page"; | |
| // A page break can occur inside of 'page3-3' block because it has child elements. | |
| createBlockWithRatioToPageHeight("page3-2", 0.3).style.breakAfter = "avoid"; | |
| createBlockWithNumberOfLines("page3-3", 10); | |
| createBlockWithRatioToPageHeight("page5", 0.5).style.breakBefore = "page"; | |
| // It seems unrealistic, but block 'page6-1' must move to the next page. | |
| createBlockWithRatioToPageHeight("page6-1", 0.1).style.breakAfter = "avoid"; | |
| createBlockWithRatioToPageHeight("page6-2", 0.1).style.breakAfter = "avoid"; | |
| createBlockWithRatioToPageHeight("page6-3", 0.1).style.breakAfter = "avoid"; | |
| createBlockWithRatioToPageHeight("page6-4", 0.1).style.breakAfter = "avoid"; | |
| createBlockWithRatioToPageHeight("page6-5", 0.1).style.breakAfter = "avoid"; | |
| createBlockWithRatioToPageHeight("page6-6", 0.1).style.breakAfter = "avoid"; | |
| createBlockWithRatioToPageHeight("page6-7", 0.1); | |
| pageNumberForElementShouldBe("page1", 1); | |
| pageNumberForElementShouldBe("page2-1", 2); | |
| pageNumberForElementShouldBe("page2-2", 2); | |
| pageNumberForElementShouldBe("page3-1", 3); | |
| pageNumberForElementShouldBe("page3-2", 3); | |
| pageNumberForElementShouldBe("page3-3", 3); | |
| pageNumberForElementShouldBe("page5", 5); | |
| pageNumberForElementShouldBe("page6-1", 6); | |
| // Omit tests for intermediate blocks. | |
| pageNumberForElementShouldBe("page6-7", 6); | |
| document.body.removeChild(document.getElementById("sandbox")); | |
| } | |
| var successfullyParsed = true; | |
| </script> | |
| <script>runPrintingTest(test);</script> | |
| <script src="../resources/js-test-post.js"></script> | |
| </body> | |
| </html> |