border-writing-mode-dynamic-001.html (1563B)
1 <!DOCTYPE html> 2 <meta charset="UTF-8"> 3 <title>Collapsed borders track writing mode changes</title> 4 <link rel="help" href="https://drafts.csswg.org/css-tables/#border-collapsing"> 5 <script src='/resources/testharness.js'></script> 6 <script src='/resources/testharnessreport.js'></script> 7 <script src="/common/rendering-utils.js"></script> 8 <style> 9 .bordermix { 10 border-top: 10px solid red; 11 border-bottom: 20px solid green; 12 border-left: 30px solid yellow; 13 border-right: 40px solid orange; 14 } 15 16 .vertical { 17 writing-mode: vertical-rl; 18 } 19 20 main td { 21 width:100px; 22 height:100px; 23 } 24 main table { 25 border-collapse: collapse; 26 } 27 </style> 28 29 <main> 30 31 <table class="bordermix targettable"> 32 <td>TABLE</td> 33 </table> 34 35 <table class="targettable"> 36 <tbody class="bordermix"> 37 <td>TBODY</td> 38 </tbody> 39 </table> 40 41 <table class="targettable"> 42 <tr class="bordermix"> 43 <td>TR</td> 44 </tr> 45 </table> 46 47 <table class="targettable"> 48 <td class="bordermix">TD</td> 49 </table> 50 51 </main> 52 <script> 53 var test = async_test("Table borders track writing mode changes"); 54 let targets = Array.from(document.querySelectorAll(".targettable")); 55 56 function assertTargetSize() { 57 for (let target of targets) { 58 assert_equals(target.offsetWidth, 172); 59 assert_equals(target.offsetHeight, 132); 60 } 61 } 62 test.step(assertTargetSize); 63 64 waitForAtLeastOneFrame().then( _ => { 65 for (let target of targets) 66 target.classList.toggle("vertical"); 67 document.body.offsetTop; 68 test.step(assertTargetSize); 69 test.done(); 70 }); 71 72 </script>