| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>CSSOM View - getBoxQuads() returns proper border and margin boxes for block and flex</title> |
| <link rel="help" href="https://drafts.csswg.org/cssom-view/#the-geometryutils-interface"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| |
| <style> |
| .container { |
| width: 100px; |
| height: 50px; |
| background-color: gray; |
| } |
| span { |
| display: block; |
| background: gold; |
| height: 4px; |
| width: 14px; |
| margin: auto; |
| padding: 0px; |
| border: 3px solid blue; |
| } |
| </style> |
| </head> |
| <body> |
| <div class="container"> |
| <span id="block-block"></span> |
| </div> |
| |
| <div class="container" style="display:flex"> |
| <span id="flex-block"></span> |
| </div> |
| |
| <script> |
| test(function() { |
| let bb = document.getElementById("block-block"); |
| assert_equals(bb.getBoxQuads({box: "border"})[0].bounds.width, 20, "Block layout border box is expected width."); |
| assert_equals(bb.getBoxQuads({box: "margin"})[0].bounds.width, 100, "Block layout margin box is expected width."); |
| |
| // For containers that expand items to fill block-axis space, measure the box heights also. |
| let fb = document.getElementById("flex-block"); |
| assert_equals(fb.getBoxQuads({box: "border"})[0].bounds.width, 20, "Flex layout border box is expected width."); |
| assert_equals(fb.getBoxQuads({box: "margin"})[0].bounds.width, 100, "Flex layout margin box is expected width."); |
| |
| assert_equals(fb.getBoxQuads({box: "border"})[0].bounds.height, 10, "Flex layout border box is expected height."); |
| assert_equals(fb.getBoxQuads({box: "margin"})[0].bounds.height, 50, "Flex layout margin box is expected height."); |
| }); |
| </script> |
| </body> |
| </html> |