margin-rules-002.html (2488B)
1 <!DOCTYPE html> 2 <link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> 3 <link rel="help" href="https://drafts.csswg.org/css-page-3/#margin-at-rules"> 4 <meta name="assert" content="Test parsing of margin rule with/without preceding/following @page properties"> 5 <style id="nothing"> 6 @page { 7 @top-center { 8 content: "PASS"; 9 } 10 } 11 </style> 12 <style id="propertiesAfter"> 13 @page { 14 @top-center { 15 content: "PASS"; 16 } 17 padding-left: 10px; 18 } 19 </style> 20 <style id="propertiesBefore"> 21 @page { 22 padding-left: 10px; 23 @top-center { 24 content: "PASS"; 25 } 26 } 27 </style> 28 <style id="propertiesBetween"> 29 @page { 30 padding-left: 666px; 31 @top-left { 32 content: "left"; 33 } 34 padding-left: 10px; 35 @top-right { 36 content: "right"; 37 } 38 } 39 </style> 40 <script src="/resources/testharness.js"></script> 41 <script src="/resources/testharnessreport.js"></script> 42 <script> 43 test(()=>{ 44 assert_equals(nothing.sheet.rules.length, 1); 45 let pagerule = nothing.sheet.rules[0]; 46 assert_equals(pagerule.cssRules.length, 1); 47 let marginrule = pagerule.cssRules[0]; 48 assert_equals(marginrule.style.content, "\"PASS\""); 49 }, "margin rule without any preceding @page properties"); 50 51 test(()=>{ 52 assert_equals(propertiesAfter.sheet.rules.length, 1); 53 let pagerule = propertiesAfter.sheet.rules[0]; 54 assert_equals(pagerule.cssRules.length, 1); 55 let marginrule = pagerule.cssRules[0]; 56 assert_equals(marginrule.style.content, "\"PASS\""); 57 assert_equals(pagerule.style.paddingLeft, "10px"); 58 }, "margin rule followed by @page properties"); 59 60 test(()=>{ 61 assert_equals(propertiesAfter.sheet.rules.length, 1); 62 let pagerule = propertiesAfter.sheet.rules[0]; 63 assert_equals(pagerule.cssRules.length, 1); 64 let marginrule = pagerule.cssRules[0]; 65 assert_equals(marginrule.style.content, "\"PASS\""); 66 assert_equals(pagerule.style.paddingLeft, "10px"); 67 }, "margin rule preceded by @page properties"); 68 69 test(()=>{ 70 assert_equals(propertiesBetween.sheet.rules.length, 1); 71 let pagerule = propertiesBetween.sheet.rules[0]; 72 assert_equals(pagerule.cssRules.length, 2); 73 let marginrule = pagerule.cssRules[0]; 74 assert_equals(marginrule.style.content, "\"left\""); 75 marginrule = pagerule.cssRules[1]; 76 assert_equals(marginrule.style.content, "\"right\""); 77 assert_equals(pagerule.style.paddingLeft, "10px"); 78 }, "margin rules with @page properties between"); 79 </script>