diff options
Diffstat (limited to 'testing/web-platform/tests/svg/text/scripted/lengthadjust.html')
-rw-r--r-- | testing/web-platform/tests/svg/text/scripted/lengthadjust.html | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/testing/web-platform/tests/svg/text/scripted/lengthadjust.html b/testing/web-platform/tests/svg/text/scripted/lengthadjust.html new file mode 100644 index 0000000000..51b06675b0 --- /dev/null +++ b/testing/web-platform/tests/svg/text/scripted/lengthadjust.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<title>lengthAdjust content/IDL attribute</title> +<link rel="help" href="https://svgwg.org/svg2-draft/text.html#TextElementLengthAdjustAttribute"> +<link rel="help" href="https://svgwg.org/svg2-draft/text.html#__svg__SVGTextContentElement__getComputedTextLength"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<svg> + <text x="0" y="215" textLength="200">Stretched text</text> + <text x="0" y="215" textLength="200">Stretched text</text> +</svg> + +<script> +test(() => { + const text = document.querySelectorAll('text')[0]; + assert_equals(text.getAttribute('lengthAdjust'), null); + assert_equals(text.lengthAdjust.baseVal, SVGTextContentElement.LENGTHADJUST_SPACING); + assert_equals(text.textLength.baseVal.value, 200); + let lastLength = text.getComputedTextLength(); + assert_between_exclusive(lastLength, 0, 200); + + text.setAttribute('lengthAdjust', 'spacingAndGlyphs'); + assert_equals(text.lengthAdjust.baseVal, SVGTextContentElement.LENGTHADJUST_SPACINGANDGLYPHS); + assert_equals(text.textLength.baseVal.value, 200); + assert_greater_than(text.getComputedTextLength(), lastLength); +}, 'Tests dynamic updates of the "lengthAdjust" content attribute'); + +test(() => { + const text = document.querySelectorAll('text')[1]; + assert_equals(text.getAttribute('lengthAdjust'), null); + assert_equals(text.lengthAdjust.baseVal, SVGTextContentElement.LENGTHADJUST_SPACING); + assert_equals(text.textLength.baseVal.value, 200); + let lastLength = text.getComputedTextLength(); + assert_between_exclusive(lastLength, 0, 200); + + text.lengthAdjust.baseVal = SVGTextContentElement.LENGTHADJUST_SPACINGANDGLYPHS; + assert_equals(text.getAttribute('lengthAdjust'), 'spacingAndGlyphs'); + assert_equals(text.lengthAdjust.baseVal, SVGTextContentElement.LENGTHADJUST_SPACINGANDGLYPHS); + assert_equals(text.textLength.baseVal.value, 200); + assert_greater_than(text.getComputedTextLength(), lastLength); +}, 'Tests dynamic updates of the "lengthAdjust" IDL attribute'); +</script> |