diff options
Diffstat (limited to 'testing/web-platform/tests/css/css-fonts/parsing/font-size-adjust-computed.html')
-rw-r--r-- | testing/web-platform/tests/css/css-fonts/parsing/font-size-adjust-computed.html | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-fonts/parsing/font-size-adjust-computed.html b/testing/web-platform/tests/css/css-fonts/parsing/font-size-adjust-computed.html new file mode 100644 index 0000000000..4910ddd284 --- /dev/null +++ b/testing/web-platform/tests/css/css-fonts/parsing/font-size-adjust-computed.html @@ -0,0 +1,50 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Fonts Module Level 5: getComputedStyle().fontSizeAdjust</title> +<link rel="help" href="https://www.w3.org/TR/css-fonts-5/#font-size-adjust-prop"> +<meta name="assert" content="font-size-adjust computed value is as specified."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/computed-testcommon.js"></script> +<style> +/* Use a font with known metrics so we can verify that from-font + computes to the expected value from the font. */ +@font-face { + font-family: ahem-ex-500; + src: url(ahem-ex-500.otf); +} +#target { + font-family: ahem-ex-500 !important; + font-size: 1000px; +} +</style> +</head> +<body> +<div id="target"></div> +<script> +promise_test(async (t) => { + await document.fonts.load("1000px ahem-ex-500"); + + test_computed_value('font-size-adjust', 'none'); + + test_computed_value('font-size-adjust', '0.5'); + test_computed_value('font-size-adjust', 'ex-height 0.5', '0.5'); // default basis 'ex-height' omitted from serialization + test_computed_value('font-size-adjust', 'cap-height 0.8'); + test_computed_value('font-size-adjust', 'ch-width 0.4'); + test_computed_value('font-size-adjust', 'ic-width 0.9'); + test_computed_value('font-size-adjust', 'ic-height 1.1'); + + // The ahem-ex-500 font has both ex-height and cap-height set at 0.5em, and ch-width is 1em. + // Ideographic metrics are not available, so fall back to 1em. + test_computed_value('font-size-adjust', 'from-font', '0.5'); + test_computed_value('font-size-adjust', 'ex-height from-font', '0.5'); // default basis 'ex-height' omitted from serialization + test_computed_value('font-size-adjust', 'cap-height from-font', 'cap-height 0.5'); + test_computed_value('font-size-adjust', 'ch-width from-font', 'ch-width 1'); + test_computed_value('font-size-adjust', 'ic-width from-font', 'ic-width 1'); + test_computed_value('font-size-adjust', 'ic-height from-font', 'ic-height 1'); +}) +</script> +</body> +</html> |