| <!doctype html> |
| <title>{Element,Range}.prototype.getBoundingClientRect on SVG <tspan></title> |
| <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> |
| <link rel="help" href="https://drafts.csswg.org/cssom-view/#dom-element-getboundingclientrect"> |
| <link rel="help" href="https://drafts.csswg.org/cssom-view/#dom-range-getboundingclientrect"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <svg> |
| <text y="180" font-size="100" font-family="Ahem" |
| fill="lightblue">X<tspan fill="blue">XX</tspan></text> |
| </svg> |
| <script> |
| function check(object) { |
| let rect = object.getBoundingClientRect(); |
| assert_equals(rect.left, 108, 'left'); |
| assert_equals(rect.top, 108, 'top'); |
| assert_equals(rect.width, 200, 'width'); |
| assert_equals(rect.height, 100, 'height'); |
| } |
| async_test(t => { |
| window.addEventListener("load", t.step_func_done(() => { |
| let tspan = document.querySelector('tspan'); |
| check(tspan); |
| })); |
| }, document.title + ', Element'); |
| async_test(t => { |
| window.addEventListener("load", t.step_func_done(() => { |
| let tspan = document.querySelector('tspan'); |
| let range = new Range(); |
| range.selectNode(tspan); |
| check(range); |
| })); |
| }, document.title + ', Range'); |
| </script> |