Skip to content

Commit

Permalink
[css-anchor-position-1] Import Web Platform Tests
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=274926
rdar://129025250

Reviewed by Ryan Reno, Matthieu Dubet and Sammy Gill.

Import CSS anchor positioning WPT.

Upstream commit: web-platform-tests/wpt@c426a43

* LayoutTests/TestExpectations:
* LayoutTests/imported/w3c/resources/import-expectations.json:
* LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/

Canonical link: https://commits.webkit.org/279590@main
  • Loading branch information
RWDavid authored and vitorroriz committed May 31, 2024
1 parent b91c02d commit 452498e
Show file tree
Hide file tree
Showing 527 changed files with 31,491 additions and 1 deletion.
87 changes: 87 additions & 0 deletions LayoutTests/TestExpectations
Original file line number Diff line number Diff line change
Expand Up @@ -7501,3 +7501,90 @@ webkit.org/b/272417 imported/w3c/web-platform-tests/svg/path/property/priority.s

# re-import css/css-align WPT failure
webkit.org/b/271692 imported/w3c/web-platform-tests/css/css-align/blocks/align-content-block-break-overflow-020.html [ ImageOnlyFailure ]

# -- Anchor Positioning -- #
# Anchor positioning is not yet implemented...

# general failures
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-center-002.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-center-scroll.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-circular.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-dynamic-005.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-top-layer-001.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-top-layer-002.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-top-layer-003.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-top-layer-004.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-top-layer-005.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-top-layer-006.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-001.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-chained-001.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-chained-002.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-chained-003.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-chained-004.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-chained-fallback.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-composited-scrolling-006.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-fixedpos-002.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-fixedpos.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-nested.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-overflow-hidden.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-012.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-scrollable-anchor.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-to-sticky-001.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-to-sticky-002.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-to-sticky-003.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-to-sticky-004.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-update-001.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-update-002.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-update-003.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-update-004.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-update-005.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-update-006.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-update-007.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-vlr.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-vrl.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/inset-area-abs-inline-container.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/inset-area-inline-container.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/inset-area-scroll-adjust.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-anchor-001.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-anchor-002.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-try-switch-from-fixed-anchor.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-try-switch-to-fixed-anchor.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-add-no-overflow.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-anchors-valid.tentative.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-anchors-visible-after-scroll-in.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-anchors-visible-after-scroll-out.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-anchors-visible-both-position-fixed.tentative.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-anchors-visible-chained-001.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-anchors-visible-chained-002.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-anchors-visible-chained-003.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-anchors-visible-chained-004.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-anchors-visible-change-anchor.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-anchors-visible-change-css-visibility.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-anchors-visible-css-visibility.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-anchors-visible-non-intervening-container.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-anchors-visible-position-fixed.tentative.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-anchors-visible-stacked-child.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-anchors-visible-stacked-child.tentative.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-anchors-visible.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-no-overflow-scroll.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-no-overflow-stacked-child.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-no-overflow.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-remove-anchors-visible.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-remove-no-overflow.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-anchor-position/sticky-anchor-position-invalid.html [ ImageOnlyFailure ]

# ios-wk2-wpt and mac-AS-debug-wk2 failures (leaving in the general TestExpectations for now since these are not useful failures)
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-borders-002.html [ Failure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-007.html [ Failure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-008.html [ Failure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-010.html [ Failure ]

# wpe-wk2 AND gtk-wk2 AND wincairo failures (leaving in the general TestExpectations for now since these are not useful failures)
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-center-htb-htb.html [ Failure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-center-htb-vrl.html [ Failure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-center-vrl-htb.html [ Failure ]
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-center-vrl-vrl.html [ Failure ]
# minus wincairo
imported/w3c/web-platform-tests/css/css-anchor-position/anchor-getComputedStyle-002.html [ Failure ]

# -- End: Anchor Positioning -- #
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
"web-platform-tests/css/WOFF2": "import",
"web-platform-tests/css/compositing": "import",
"web-platform-tests/css/css-align": "import",
"web-platform-tests/css/css-anchor-position": "skip",
"web-platform-tests/css/css-anchor-position": "import",
"web-platform-tests/css/css-animations": "import",
"web-platform-tests/css/css-backgrounds": "import",
"web-platform-tests/css/css-borders": "skip",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
features:
- name: anchor-positioning
files: "**"
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

FAIL e.style['align-self'] = "anchor-center" should set the property value assert_not_equals: property should be set got disallowed value ""
FAIL e.style['align-items'] = "anchor-center" should set the property value assert_not_equals: property should be set got disallowed value ""
FAIL e.style['justify-self'] = "anchor-center" should set the property value assert_not_equals: property should be set got disallowed value ""
FAIL e.style['justify-items'] = "anchor-center" should set the property value assert_not_equals: property should be set got disallowed value ""
FAIL Property align-self value 'anchor-center' assert_true: 'anchor-center' is a supported value for align-self. expected true got false
FAIL Property align-items value 'anchor-center' assert_true: 'anchor-center' is a supported value for align-items. expected true got false
FAIL Property justify-self value 'anchor-center' assert_true: 'anchor-center' is a supported value for justify-self. expected true got false
FAIL Property justify-items value 'anchor-center' assert_true: 'anchor-center' is a supported value for justify-items. expected true got false

Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<!DOCTYPE html>
<title>Tests the anchor-center keyword is parsed and computed as specified</title>
<link rel="help" href="https://drafts.csswg.org/css-anchor-position-1/#anchor-center">
<link rel="author" href="mailto:xiaochengh@chromium.org">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
<script src="/css/support/computed-testcommon.js"></script>

<div id="container">
<div id="target"></div>
</div>

<script>
test_valid_value('align-self', 'anchor-center');
test_valid_value('align-items', 'anchor-center');
test_valid_value('justify-self', 'anchor-center');
test_valid_value('justify-items', 'anchor-center');

test_computed_value('align-self', 'anchor-center');
test_computed_value('align-items', 'anchor-center');
test_computed_value('justify-self', 'anchor-center');
test_computed_value('justify-items', 'anchor-center');
</script>
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<!DOCTYPE html>
<title>Tests that 'anchor-center' behaves as 'center' in non-OOF layout modes</title>

<style>
.container {
width: 100px;
height: 100px;
background: orange;
margin-block: 5px;
}

.item {
width: 40px;
height: 40px;
background: lime;
}

.flex {
display: flex;
}

.grid {
display: grid;
grid-template-columns: repeat(8, 1fr);
grid-auto-rows: 50px;
grid-template-areas:
"a a a a b b b b"
"a a a a b b b b";
}
</style>

<div class="flex container" style="align-items: center">
<div class="item"></div>
</div>

<div class="flex container">
<div class="item" style="align-self: center"></div>
</div>

<div class="grid container"
style="align-items: center; justify-items: center">
<div class="item" style="grid-area: a"></div>
<div class="item" style="grid-area: b"></div>
</div>

<div class="grid container">
<div class="item" style="grid-area: a; align-self: center"></div>
<div class="item" style="grid-area: b; justify-self: center"></div>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<!DOCTYPE html>
<title>Tests that 'anchor-center' behaves as 'center' in non-OOF layout modes</title>

<style>
.container {
width: 100px;
height: 100px;
background: orange;
margin-block: 5px;
}

.item {
width: 40px;
height: 40px;
background: lime;
}

.flex {
display: flex;
}

.grid {
display: grid;
grid-template-columns: repeat(8, 1fr);
grid-auto-rows: 50px;
grid-template-areas:
"a a a a b b b b"
"a a a a b b b b";
}
</style>

<div class="flex container" style="align-items: center">
<div class="item"></div>
</div>

<div class="flex container">
<div class="item" style="align-self: center"></div>
</div>

<div class="grid container"
style="align-items: center; justify-items: center">
<div class="item" style="grid-area: a"></div>
<div class="item" style="grid-area: b"></div>
</div>

<div class="grid container">
<div class="item" style="grid-area: a; align-self: center"></div>
<div class="item" style="grid-area: b; justify-self: center"></div>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<!DOCTYPE html>
<title>Tests that 'anchor-center' behaves as 'center' in non-OOF layout modes</title>
<link rel="help" href="https://drafts.csswg.org/css-anchor-position-1/#anchor-center">
<link rel="match" href="anchor-center-002-ref.html">
<link rel="author" href="mailto:xiaochengh@chromium.org">

<style>
.container {
width: 100px;
height: 100px;
background: orange;
margin-block: 5px;
}

.item {
width: 40px;
height: 40px;
background: lime;
}

.flex {
display: flex;
}

.grid {
display: grid;
grid-template-columns: repeat(8, 1fr);
grid-auto-rows: 50px;
grid-template-areas:
"a a a a b b b b"
"a a a a b b b b";
}
</style>

<div class="flex container" style="align-items: anchor-center">
<div class="item"></div>
</div>

<div class="flex container">
<div class="item" style="align-self: anchor-center"></div>
</div>

<div class="grid container"
style="align-items: anchor-center; justify-items: anchor-center">
<div class="item" style="grid-area: a"></div>
<div class="item" style="grid-area: b"></div>
</div>

<div class="grid container">
<div class="item" style="grid-area: a; align-self: center"></div>
<div class="item" style="grid-area: b; justify-self: center"></div>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@

FAIL .target 1 assert_equals:
<div class="container">
<div class="anchor"></div>
<div class="target" data-expected-width="70" data-offset-x="30"></div>
</div>
width expected 70 but got 100
FAIL .target 2 assert_equals:
<div class="container">
<div class="anchor"></div>
<div class="target" style="left: 20px;" data-expected-width="70" data-offset-x="30"></div>
</div>
width expected 70 but got 80
FAIL .target 3 assert_equals:
<div class="container">
<div class="anchor"></div>
<div class="target" style="right: 20px;" data-expected-width="30" data-offset-x="50"></div>
</div>
width expected 30 but got 80
FAIL .target 4 assert_equals:
<div class="container">
<div class="anchor"></div>
<div class="target" style="right: -20px;" data-expected-width="110" data-offset-x="10"></div>
</div>
width expected 110 but got 120
FAIL .target 5 assert_equals:
<div class="container">
<div class="anchor"></div>
<div class="target" style="right: -100px;" data-expected-width="130" data-offset-x="0"></div>
</div>
width expected 130 but got 196
FAIL .target 6 assert_equals:
<div class="container">
<div class="anchor"></div>
<div class="target" style="left: 10px; right: 20px;" data-expected-width="30" data-offset-x="50"></div>
</div>
width expected 30 but got 70
PASS .target 7
FAIL .target 8 assert_equals:
<div class="container">
<div class="anchor"></div>
<div class="target" style="left: -10px; right: -50px;" data-expected-width="150" data-offset-x="-10"></div>
</div>
width expected 150 but got 160

Loading

0 comments on commit 452498e

Please sign in to comment.