| <!doctype html> | |
| <script src='/resources/testharness.js'></script> | |
| <script src='/resources/testharnessreport.js'></script> | |
| <link rel='stylesheet' href='./support/base.css' /> | |
| <link rel="help" href="https://drafts.csswg.org/css-tables-3/#caption-side-property"> | |
| <main> | |
| <h1>Caption-side</h1> | |
| <p>Checks that browsers implement properly the caption-side property</p> | |
| <hr/> | |
| <p>This should read ABC:</p> | |
| <p> | |
| The first caption (C) should be put on the bottom because it inherits caption-side:bottom from the table;<br/> | |
| The second captin (A) should be put on the top because it has caption-side:top specified; | |
| </p> | |
| <div><table style="caption-side:bottom"><caption>C</caption><tbody><tr><td>B</td></tr></tbody><caption style="caption-side:top">A</caption></table></div> | |
| <script>void function() { var table; while(table = document.querySelector('.to-remove')) table.parentNode.replaceChild(table.firstChild,table) }();</script> | |
| <script>void function() { var td; while(td = document.querySelector('table.no-td td')) td.parentNode.replaceChild(document.createElement('x-td'),td) }();</script> | |
| <script>void function() { var divs = document.querySelectorAll("main > div"); for(var i = divs.length; i--;) { var div = divs[i]; var pre = document.createElement('pre'); pre.title = pre.textContent = div.innerHTML; div.parentNode.insertBefore(pre, div); }; }();</script> | |
| <hr/> | |
| </main> | |
| <script> | |
| var i = 1; | |
| generate_tests(assert_equals, [ | |
| [ | |
| "Caption-side inherits and reorder captions properly", | |
| document.querySelector("main > div:nth-of-type("+(i++)+") caption:first-child").offsetTop > document.querySelector("main > div:nth-of-type("+(i-1)+") caption:last-child").offsetTop, | |
| true | |
| ], | |
| [ | |
| "Multiple captions can be rendered", | |
| document.querySelector("main > div:nth-of-type("+(i-1)+") table").offsetHeight > 3 * 16, | |
| true | |
| ], | |
| ]) | |
| </script> |