| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>CSS Values and Units Test: lh depending on @font-face</title> |
| <link rel="help" href="https://drafts.csswg.org/css-values-4/#font-relative-lengths"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <style> |
| #lh { |
| font-family: customfont; |
| font-size: 20px; |
| width: 10lh; |
| } |
| </style> |
| <div id="lh"> |
| X<br> |
| X<br> |
| X<br> |
| X<br> |
| X<br> |
| X<br> |
| X<br> |
| X<br> |
| X<br> |
| X |
| </div> |
| <script> |
| test(() => { |
| assert_equals(lh.offsetWidth, lh.offsetHeight); |
| }, "Line-height and lh before @font-face loads"); |
| |
| let original_size = lh.offsetHeight; |
| |
| promise_test(async (t) => { |
| let custom_font = new FontFace("customfont", "url(/css/css-fonts/support/fonts/Rochester.otf)"); |
| document.fonts.add(custom_font); |
| await document.fonts.load("20px customfont"); |
| assert_not_equals(lh.offsetHeight, original_size, |
| "Test is useless if normal line-height is the same for both the web font and the fallback font"); |
| assert_equals(lh.offsetWidth, lh.offsetHeight, |
| "lh and normal line-height both affected"); |
| }, "Line-height and lh after @font-face loaded"); |
| </script> |