fune/testing/web-platform/tests/css/css-ruby/ruby-position.html
Kent Tamura e943caf905 Bug 1636017 [wpt PR 23449] - css-ruby: Fix incorrect tests in ruby-position.html, a=testonly
Automatic update from web-platform-tests
css-ruby: Fix incorrect tests in ruby-position.html

ruby-position property should work with 'ruby text container boxes'. So
ruby-position on <rt> should not work.

https://drafts.csswg.org/css-ruby-1/#rubypos

Bug: https://github.com/web-platform-tests/wpt/issues/23386
Change-Id: I3c3e7a762c8f88d5ffce1101692b06b6e496e49d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2186615
Commit-Queue: Koji Ishii <kojii@chromium.org>
Auto-Submit: Kent Tamura <tkent@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#766290}

--

wpt-commits: bf9b762dad89dd35757cd160fc9d96c385a873b6
wpt-pr: 23449
2020-05-20 10:28:40 +00:00

47 lines
2.1 KiB
HTML

<!DOCTYPE html>
<link rel="help" href="https://drafts.csswg.org/css-ruby/#rubypos">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<p><ruby id="o1" style="ruby-position: over">base<rt>annotation</rt></ruby></p>
<p><ruby id="o2" style="ruby-position: over">base<rt style="ruby-position: under">annotation</rt></ruby></p>
<p><ruby id="o3" style="ruby-position: under">base<rtc style="ruby-position: over"><rt style="ruby-position: under">annotation</rt></rtc></ruby></p>
<p><ruby id="u1" style="ruby-position: under">base<rt>annotation</rt></ruby></p>
<p><ruby id="u2" style="ruby-position: under">base<rt style="ruby-position: over">annotation</rt></ruby></p>
<p><ruby id="u3" style="ruby-position: over">base<rtc style="ruby-position: under"><rt style="ruby-position: over">annotation</rt></rtc></ruby></p>
<script>
test(() => {
const o1 = document.querySelector('#o1');
assert_true(o1.querySelector('rt').getBoundingClientRect().top <= o1.getBoundingClientRect().top);
}, 'ruby-position:over on <ruby> works');
test(() => {
const o2 = document.querySelector('#o2');
assert_true(o2.querySelector('rt').getBoundingClientRect().top <= o2.getBoundingClientRect().top);
}, 'ruby-position:under on <rt> should not work');
test(() => {
const o3 = document.querySelector('#o3');
assert_true(o3.querySelector('rt').getBoundingClientRect().top <= o3.getBoundingClientRect().top);
}, 'ruby-position:over on <rtc> works');
test(() => {
const u1 = document.querySelector('#u1');
assert_true(u1.querySelector('rt').getBoundingClientRect().bottom >= u1.getBoundingClientRect().bottom);
}, 'ruby-position:under on <ruby> works');
test(() => {
const u2 = document.querySelector('#u2');
assert_true(u2.querySelector('rt').getBoundingClientRect().bottom >= u2.getBoundingClientRect().bottom);
}, 'ruby-position:over on <rt> should not work');
test(() => {
const u3 = document.querySelector('#u3');
assert_true(u3.querySelector('rt').getBoundingClientRect().bottom >= u3.getBoundingClientRect().bottom);
}, 'ruby-position:under on <rtc> works');
</script>
</body>