| description("Test page-break-{before,after}:always for overflow:{visible,hidden,scroll,auto} elements."); |
| |
| function test() |
| { |
| var overflowValues = ["visible", "hidden", "scroll", "auto"]; |
| var pageBreakPositions = ["page-break-before", "page-break-after"]; |
| |
| var testHtml = ""; |
| for (var position = 0; position < pageBreakPositions.length; position++) { |
| for (var value = 0; value < overflowValues.length; value++) { |
| var overflowStyle = "overflow:" + overflowValues[value]; |
| var pageBreakStyle = pageBreakPositions[position] + ":always"; |
| var testId = 'test-' + pageBreakStyle + '-for-' + overflowStyle; |
| testHtml += '<div style="' + overflowStyle + '"><p id="' + testId + '" style="' + pageBreakStyle + '">' + overflowStyle + ', ' + pageBreakStyle + '</p></div>\n'; |
| } |
| } |
| testHtml += '<p id="test-last-page">end</p>'; |
| document.getElementById("sandbox").innerHTML = testHtml; |
| |
| var expectedValues = [ |
| // page-break-{before,after}:always should take effect regardless of overflow value. |
| ['test-page-break-before:always-for-overflow:visible', 1], |
| ['test-page-break-before:always-for-overflow:hidden', 2], |
| ['test-page-break-before:always-for-overflow:scroll', 3], |
| ['test-page-break-before:always-for-overflow:auto', 4], |
| ['test-page-break-after:always-for-overflow:visible', 4], |
| ['test-page-break-after:always-for-overflow:hidden', 5], |
| ['test-page-break-after:always-for-overflow:scroll', 6], |
| ['test-page-break-after:always-for-overflow:auto', 7], |
| ['test-last-page', 8] |
| ]; |
| |
| for (var i = 0; i < expectedValues.length; i++) |
| pageNumberForElementShouldBe(expectedValues[i][0], expectedValues[i][1]); |
| |
| document.body.removeChild(document.getElementById("sandbox")); |
| } |
| |
| var successfullyParsed = true; |