blob: 28a8181575304587ba4509b99b6f440558758308 [file] [log] [blame]
description("Test for page-break-inside:avoid");
function createParagraph(id, height)
{
var element = document.createElement("div");
element.id = id;
element.style.height = height;
element.appendChild(document.createTextNode("foobar"));
document.getElementById("sandbox").appendChild(element);
return element;
}
var pageHeightInPixels = 1000;
function pageNumber(id) {
return layoutTestController.pageNumberForElementById(id, 1000, pageHeightInPixels);
}
createParagraph("page1", 900).style.pageBreakBefore = "always";
createParagraph("page2", 900).style.pageBreakInside = "avoid";
createParagraph("page3-1", 900).style.pageBreakBefore = "always";
createParagraph("page3-2", 100).style.pageBreakInside = "avoid";
createParagraph("page4", 900).style.pageBreakBefore = "always";
createParagraph("page5", 101).style.pageBreakInside = "avoid";
createParagraph("page6", 100).style.pageBreakBefore = "always";
createParagraph("page7", 2100).style.pageBreakInside = "avoid";
createParagraph("page9", 100);
createParagraph("page10-1", 100).style.pageBreakBefore = "always";
createParagraph("page10-2", 100).style.pageBreakAfter = "always";
// Make sure page-break only happens once, not twice.
createParagraph("page11", 900).style.pageBreakInside = "avoid";
// Before calling "shouldBe" tests, sets "display: none" style to |console| element so that the results of pageNumber should not be affected.
// FIXME: Use functions defined in printing/resources/paged-media-test-utils.js instead of this hack.
document.getElementById("console").style.display = 'none';
shouldBe("pageNumber('page1')", "1");
shouldBe("pageNumber('page2')", "2");
shouldBe("pageNumber('page3-1')", "3");
shouldBe("pageNumber('page3-2')", "3");
shouldBe("pageNumber('page4')", "4");
shouldBe("pageNumber('page5')", "5");
shouldBe("pageNumber('page6')", "6");
shouldBe("pageNumber('page7')", "7");
shouldBe("pageNumber('page9')", "9");
shouldBe("pageNumber('page10-1')", "10");
shouldBe("pageNumber('page10-2')", "10");
shouldBe("pageNumber('page11')", "11");
document.getElementById("console").style.display = 'block';
document.body.removeChild(document.getElementById("sandbox"));
var successfullyParsed = true;