[css-anchor-position] position-try shorthand parsing and computed

Bug: 40279608
Change-Id: I9af1dd56cba24a271da30fc01d573820d9e642c5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5290844
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1261631}
diff --git a/css/css-anchor-position/parsing/position-try-parsing.html b/css/css-anchor-position/parsing/position-try-parsing.html
new file mode 100644
index 0000000..7f50459
--- /dev/null
+++ b/css/css-anchor-position/parsing/position-try-parsing.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Anchor Positioning Test: Parsing of position-try shorthand</title>
+<link rel="help" href="https://drafts.csswg.org/css-anchor-position-1/#position-try-prop">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+<script src="/css/support/shorthand-testcommon.js"></script>
+<script>
+  test_valid_value("position-try", "flip-inline");
+  test_valid_value("position-try", "most-height none");
+  test_valid_value("position-try", "--bar, --baz");
+  test_valid_value("position-try", "most-inline-size --baz, flip-inline");
+  test_valid_value("position-try", "most-block-size flip-inline flip-block, --bar, --baz");
+  test_valid_value("position-try", "normal none", "none");
+  test_valid_value("position-try", "most-width none");
+  test_valid_value("position-try", "normal --foo", "--foo");
+
+  test_invalid_value("position-try", "normal --foo, most-width --bar");
+  test_invalid_value("position-try", "none normal");
+  test_invalid_value("position-try", "flip-block most-height");
+  test_invalid_value("position-try", "most-height, flip-start");
+
+  test_shorthand_value("position-try", "flip-inline", {
+    "position-try-order": "normal",
+    "position-try-options": "flip-inline",
+  });
+  test_shorthand_value("position-try", "most-width none", {
+    "position-try-order": "most-width",
+    "position-try-options": "none",
+  });
+  test_shorthand_value("position-try", "--foo, --bar", {
+    "position-try-order": "normal",
+    "position-try-options": "--foo, --bar",
+  });
+  test_shorthand_value("position-try", "most-inline-size --foo, flip-inline", {
+    "position-try-order": "most-inline-size",
+    "position-try-options": "--foo, flip-inline",
+  });
+  test_shorthand_value("position-try", "most-inline-size flip-inline flip-block, --foo, --bar", {
+    "position-try-order": "most-inline-size",
+    "position-try-options": "flip-inline flip-block, --foo, --bar",
+  });
+</script>