blob: c051c1072c05128c51444fe871d05cd71e22101e [file] [log] [blame]
mstenshoc78e9702016-02-18 12:28:071<!DOCTYPE html>
2<div id="element"></div>
3<script src="../resources/js-test.js"></script>
4<script>
5description("Test parsing and getComputedStyle behavior for break controlling properties");
6
7var tests = [["break-after:always", ["break-after", "auto"], ["-webkit-column-break-after", "auto"], ["page-break-after", "auto"]], // Invalid declaration
8 ["break-after:auto", ["break-after", "auto"], ["-webkit-column-break-after", "auto"], ["page-break-after", "auto"]],
9 ["break-after:avoid", ["break-after", "avoid"], ["-webkit-column-break-after", "avoid"], ["page-break-after", "avoid"]],
10 ["break-after:avoid-column", ["break-after", "avoid-column"], ["-webkit-column-break-after", "avoid"], ["page-break-after", "auto"]],
11 ["break-after:avoid-page", ["break-after", "avoid-page"], ["-webkit-column-break-after", "auto"], ["page-break-after", "avoid"]],
12 ["break-after:column", ["break-after", "column"], ["-webkit-column-break-after", "always"], ["page-break-after", "auto"]],
13 ["break-after:left", ["break-after", "left"], ["-webkit-column-break-after", "auto"], ["page-break-after", "always"]],
14 ["break-after:page", ["break-after", "page"], ["-webkit-column-break-after", "auto"], ["page-break-after", "always"]],
15 ["break-after:recto", ["break-after", "recto"], ["-webkit-column-break-after", "auto"], ["page-break-after", "auto"]],
16 ["break-after:right", ["break-after", "right"], ["-webkit-column-break-after", "auto"], ["page-break-after", "always"]],
17 ["break-after:verso", ["break-after", "verso"], ["-webkit-column-break-after", "auto"], ["page-break-after", "auto"]],
18 ["break-before:always", ["break-before", "auto"], ["-webkit-column-break-before", "auto"], ["page-break-before", "auto"]], // Invalid declaration
19 ["break-before:auto", ["break-before", "auto"], ["-webkit-column-break-before", "auto"], ["page-break-before", "auto"]],
20 ["break-before:avoid", ["break-before", "avoid"], ["-webkit-column-break-before", "avoid"], ["page-break-before", "avoid"]],
21 ["break-before:avoid-column", ["break-before", "avoid-column"], ["-webkit-column-break-before", "avoid"], ["page-break-before", "auto"]],
22 ["break-before:avoid-page", ["break-before", "avoid-page"], ["-webkit-column-break-before", "auto"], ["page-break-before", "avoid"]],
23 ["break-before:column", ["break-before", "column"], ["-webkit-column-break-before", "always"], ["page-break-before", "auto"]],
24 ["break-before:left", ["break-before", "left"], ["-webkit-column-break-before", "auto"], ["page-break-before", "always"]],
25 ["break-before:page", ["break-before", "page"], ["-webkit-column-break-before", "auto"], ["page-break-before", "always"]],
26 ["break-before:recto", ["break-before", "recto"], ["-webkit-column-break-before", "auto"], ["page-break-before", "auto"]],
27 ["break-before:right", ["break-before", "right"], ["-webkit-column-break-before", "auto"], ["page-break-before", "always"]],
28 ["break-before:verso", ["break-before", "verso"], ["-webkit-column-break-before", "auto"], ["page-break-before", "auto"]],
29 ["break-inside:auto", ["break-inside", "auto"], ["-webkit-column-break-inside", "auto"], ["page-break-inside", "auto"]],
30 ["break-inside:avoid", ["break-inside", "avoid"], ["-webkit-column-break-inside", "avoid"], ["page-break-inside", "avoid"]],
31 ["break-inside:avoid-column", ["break-inside", "avoid-column"], ["-webkit-column-break-inside", "avoid"], ["page-break-inside", "auto"]],
32 ["break-inside:avoid-page", ["break-inside", "avoid-page"], ["-webkit-column-break-inside", "auto"], ["page-break-inside", "avoid"]],
33 ["-webkit-column-break-after:always", ["break-after", "column"], ["-webkit-column-break-after", "always"], ["page-break-after", "auto"]],
34 ["-webkit-column-break-after:avoid", ["break-after", "avoid-column"], ["-webkit-column-break-after", "avoid"], ["page-break-after", "auto"]],
35 ["-webkit-column-break-after:column", ["break-after", "auto"], ["-webkit-column-break-after", "auto"], ["page-break-after", "auto"]], // Invalid declaration
36 ["-webkit-column-break-before:always", ["break-before", "column"], ["-webkit-column-break-before", "always"], ["page-break-before", "auto"]],
37 ["-webkit-column-break-before:avoid", ["break-before", "avoid-column"], ["-webkit-column-break-before", "avoid"], ["page-break-before", "auto"]],
38 ["-webkit-column-break-before:column", ["break-before", "auto"], ["-webkit-column-break-before", "auto"], ["page-break-before", "auto"]], // Invalid declaration
39 ["-webkit-column-break-inside:avoid", ["break-inside", "avoid-column"], ["-webkit-column-break-inside", "avoid"], ["page-break-inside", "auto"]],
40 ["-webkit-column-break-before:avoid-column", ["break-before", "auto"], ["-webkit-column-break-before", "auto"], ["page-break-before", "auto"]], // Invalid declaration
41 ["page-break-after:always", ["break-after", "page"], ["-webkit-column-break-after", "auto"], ["page-break-after", "always"]],
42 ["page-break-after:avoid", ["break-after", "avoid-page"], ["-webkit-column-break-after", "auto"], ["page-break-after", "avoid"]],
43 ["page-break-after:left", ["break-after", "left"], ["-webkit-column-break-after", "auto"], ["page-break-after", "always"]],
44 ["page-break-after:right", ["break-after", "right"], ["-webkit-column-break-after", "auto"], ["page-break-after", "always"]],
45 ["page-break-after:verso", ["break-after", "auto"], ["-webkit-column-break-after", "auto"], ["page-break-after", "auto"]], // Invalid declaration
46 ["page-break-before:always", ["break-before", "page"], ["-webkit-column-break-before", "auto"], ["page-break-before", "always"]],
47 ["page-break-before:avoid", ["break-before", "avoid-page"], ["-webkit-column-break-before", "auto"], ["page-break-before", "avoid"]],
48 ["page-break-before:left", ["break-before", "left"], ["-webkit-column-break-before", "auto"], ["page-break-before", "always"]],
49 ["page-break-before:right", ["break-before", "right"], ["-webkit-column-break-before", "auto"], ["page-break-before", "always"]],
50 ["page-break-before:verso", ["break-before", "auto"], ["-webkit-column-break-before", "auto"], ["page-break-before", "auto"]], // Invalid declaration
51 ["page-break-inside:always", ["break-before", "auto"], ["-webkit-column-break-before", "auto"], ["page-break-before", "auto"]], // Invalid declaration
52 ["page-break-inside:avoid", ["break-inside", "avoid-page"], ["-webkit-column-break-inside", "auto"], ["page-break-inside", "avoid"]],
53 [""]];
54
55tests.forEach(function(test) {
56 debug(test[0]);
57 element.style.cssText = test[0];
58 for (var i = 1; i < test.length; i++)
59 shouldBeEqualToString("getComputedStyle(element)['"+test[i][0]+"']", test[i][1]);
60});
61</script>