size-valid.html (1487B)
1 <!DOCTYPE html> 2 <link rel="author" title="Mozilla" href="https://mozilla.org"> 3 <link rel="help" href="https://drafts.csswg.org/css-page-3/#page-size-prop"> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <style> 7 @page { 8 size: 640px 480px; 9 } 10 @page { 11 size: 8.5in 11in; 12 } 13 @page { 14 size: 3in 10in; 15 } 16 @page { 17 size: auto; 18 } 19 @page { 20 size: A5; 21 } 22 @page { 23 size: A4; 24 } 25 @page { 26 size: A3; 27 } 28 @page { 29 size: B5; 30 } 31 @page { 32 size: B4; 33 } 34 @page { 35 size: jis-B5; 36 } 37 @page { 38 size: jis-B4; 39 } 40 @page { 41 size: landscape; 42 } 43 @page { 44 size: letter portrait; 45 } 46 @page { 47 size: legal landscape; 48 } 49 </style> 50 51 <script> 52 "use strict"; 53 54 const expectedSizes = [ 55 "640px 480px", 56 "8.5in 11in", 57 "3in 10in", 58 "auto", 59 "a5", 60 "a4", 61 "a3", 62 "b5", 63 "b4", 64 "jis-b5", 65 "jis-b4", 66 "landscape", 67 "letter", 68 "legal landscape" 69 ]; 70 const sizePrefix = "size: "; 71 72 test(() => { 73 assert_equals(document.styleSheets.length, 1); 74 assert_equals(document.styleSheets[0].rules.length, expectedSizes.length); 75 }, "Test setup"); 76 77 for (let i = 0; i < expectedSizes.length; i++) { 78 test(() => { 79 let cssText = document.styleSheets[0].cssRules[i].style.cssText; 80 assert_true(cssText.startsWith(sizePrefix)); 81 cssText = cssText.slice(sizePrefix.length); 82 assert_equals(cssText, expectedSizes[i] + ";", "for rule " + i); 83 }, "size: " + expectedSizes[i]); 84 } 85 </script>