summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-flexbox/align-content-wrap-003.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/css/css-flexbox/align-content-wrap-003.html')
-rw-r--r--testing/web-platform/tests/css/css-flexbox/align-content-wrap-003.html330
1 files changed, 330 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-flexbox/align-content-wrap-003.html b/testing/web-platform/tests/css/css-flexbox/align-content-wrap-003.html
new file mode 100644
index 0000000000..3e07338745
--- /dev/null
+++ b/testing/web-platform/tests/css/css-flexbox/align-content-wrap-003.html
@@ -0,0 +1,330 @@
+<!DOCTYPE html>
+<link rel="help" href="https://drafts.csswg.org/css-flexbox/#propdef-align-content" />
+<title>css-flexbox: Tests align-content with flex-wrap: wrap</title>
+<style>
+.flexbox {
+ display: flex;
+ background-color: #aaa;
+ position: relative;
+ flex-wrap: wrap;
+}
+
+.horizontal {
+ width: 200px;
+ height: 120px;
+}
+.horizontal > div {
+ min-height: 20px;
+}
+.horizontal > :nth-child(1) {
+ width: 100px;
+ min-height: 10px;
+}
+.horizontal > :nth-child(2) {
+ width: 100px;
+}
+.horizontal > :nth-child(3) {
+ width: 200px;
+}
+.horizontal > :nth-child(4) {
+ width: 50px;
+}
+
+.vertical-rl {
+ writing-mode: vertical-rl;
+ width: 120px;
+ height: 20px;
+}
+.vertical-rl > div {
+ min-width: 20px;
+}
+.vertical-rl > :nth-child(1) {
+ height: 10px;
+ min-width: 10px;
+}
+.vertical-rl > :nth-child(2) {
+ height: 10px;
+}
+.vertical-rl > :nth-child(3) {
+ height: 20px;
+}
+.vertical-rl > :nth-child(4) {
+ height: 5px;
+}
+
+.flexbox :nth-child(1) {
+ background-color: lightblue;
+}
+.flexbox :nth-child(2) {
+ background-color: lightgreen;
+}
+.flexbox :nth-child(3) {
+ background-color: pink;
+}
+.flexbox :nth-child(4) {
+ background-color: yellow;
+}
+</style>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/check-layout-th.js"></script>
+<body onload="checkLayout('.flexbox')">
+<div id=log></div>
+<p>Test to make sure that align-content works properly.</p>
+
+<div data-expected-height="120" class="flexbox horizontal">
+ <div data-offset-x="0" data-offset-y="0" data-expected-height="40"></div>
+ <div data-offset-x="100" data-offset-y="0" data-expected-height="40"></div>
+ <div data-offset-x="0" data-offset-y="40" data-expected-height="40"></div>
+ <div data-offset-x="0" data-offset-y="80" data-expected-height="40"></div>
+</div>
+
+<div data-expected-height="120" class="flexbox horizontal" style="align-content: flex-start">
+ <div data-offset-x="0" data-offset-y="0" data-expected-height="20"></div>
+ <div data-offset-x="100" data-offset-y="0" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="20" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="40" data-expected-height="20"></div>
+</div>
+
+<div data-expected-height="120" class="flexbox horizontal" style="align-content: flex-end">
+ <div data-offset-x="0" data-offset-y="60" data-expected-height="20"></div>
+ <div data-offset-x="100" data-offset-y="60" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="80" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="100" data-expected-height="20"></div>
+</div>
+
+<div data-expected-height="120" class="flexbox horizontal" style="align-content: center">
+ <div data-offset-x="0" data-offset-y="30" data-expected-height="20"></div>
+ <div data-offset-x="100" data-offset-y="30" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="50" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="70" data-expected-height="20"></div>
+</div>
+
+<div data-expected-height="120" class="flexbox horizontal" style="align-content: space-between">
+ <div data-offset-x="0" data-offset-y="0" data-expected-height="20"></div>
+ <div data-offset-x="100" data-offset-y="0" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="50" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="100" data-expected-height="20"></div>
+</div>
+
+<div data-expected-height="120" class="flexbox horizontal" style="align-content: space-evenly">
+ <div data-offset-x="0" data-offset-y="15" data-expected-height="20"></div>
+ <div data-offset-x="100" data-offset-y="15" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="50" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="85" data-expected-height="20"></div>
+</div>
+
+<div data-expected-height="120" class="flexbox horizontal" style="align-content: space-around">
+ <div data-offset-x="0" data-offset-y="10" data-expected-height="20"></div>
+ <div data-offset-x="100" data-offset-y="10" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="50" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="90" data-expected-height="20"></div>
+</div>
+
+<div data-expected-height="120" class="flexbox horizontal" style="align-content: stretch">
+ <div data-offset-x="0" data-offset-y="0" data-expected-height="40"></div>
+ <div data-offset-x="100" data-offset-y="0" data-expected-height="40"></div>
+ <div data-offset-x="0" data-offset-y="40" data-expected-height="40"></div>
+ <div data-offset-x="0" data-offset-y="80" data-expected-height="40"></div>
+</div>
+
+<!-- Negative overflow goes out the top. -->
+<div data-expected-height="30" class="flexbox horizontal" style="align-content: flex-end; height: 30px">
+ <div data-offset-x="0" data-offset-y="-30" data-expected-height="20"></div>
+ <div data-offset-x="100" data-offset-y="-30" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="-10" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="10" data-expected-height="20"></div>
+</div>
+
+<!-- If we overflow, we should true center. -->
+<div data-expected-height="30" class="flexbox horizontal" style="align-content: center; height: 30px">
+ <div data-offset-x="0" data-offset-y="-15" data-expected-height="20"></div>
+ <div data-offset-x="100" data-offset-y="-15" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="5" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="25" data-expected-height="20"></div>
+</div>
+
+<!-- If we overflow, we should be the same as flex-start. -->
+<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-between; height: 30px">
+ <div data-offset-x="0" data-offset-y="0" data-expected-height="20"></div>
+ <div data-offset-x="100" data-offset-y="0" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="20" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="40" data-expected-height="20"></div>
+</div>
+
+<!-- If we overflow, we should true center. -->
+<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-around; height: 30px">
+ <div data-offset-x="0" data-offset-y="-15" data-expected-height="20"></div>
+ <div data-offset-x="100" data-offset-y="-15" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="5" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="25" data-expected-height="20"></div>
+</div>
+
+<!-- If we overflow, we should true center. -->
+<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-evenly; height: 30px">
+ <div data-offset-x="0" data-offset-y="-15" data-expected-height="20"></div>
+ <div data-offset-x="100" data-offset-y="-15" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="5" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="25" data-expected-height="20"></div>
+</div>
+
+<!-- Stretch should only grow, not shrink. -->
+<div data-expected-height="30" class="flexbox horizontal" style="align-content: stretch; height: 30px">
+ <div data-offset-x="0" data-offset-y="0" data-expected-height="20"></div>
+ <div data-offset-x="100" data-offset-y="0" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="20" data-expected-height="20"></div>
+ <div data-offset-x="0" data-offset-y="40" data-expected-height="20"></div>
+</div>
+
+<!-- 0 lines should not crash. -->
+<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-between; height: 30px">
+</div>
+<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-around; height: 30px">
+</div>
+<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-evenly; height: 30px">
+</div>
+<div data-expected-height="30" class="flexbox horizontal" style="align-content: stretch; height: 30px">
+</div>
+
+<!-- 1 line should not crash. -->
+<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-between; height: 30px">
+ <div data-offset-x="0" data-offset-y="0" data-expected-height="10"></div>
+</div>
+<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-around; height: 30px">
+ <div data-offset-x="0" data-offset-y="10" data-expected-height="10"></div>
+</div>
+<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-evenly; height: 30px">
+ <div data-offset-x="0" data-offset-y="10" data-expected-height="10"></div>
+</div>
+<div data-expected-height="30" class="flexbox horizontal" style="align-content: stretch; height: 30px">
+ <div data-offset-x="0" data-offset-y="0" data-expected-height="30"></div>
+</div>
+
+
+<div data-expected-width="120" class="flexbox vertical-rl">
+ <div data-offset-x="80" data-offset-y="0" data-expected-width="40"></div>
+ <div data-offset-x="80" data-offset-y="10" data-expected-width="40"></div>
+ <div data-offset-x="40" data-offset-y="0" data-expected-width="40"></div>
+ <div data-offset-x="0" data-offset-y="0" data-expected-width="40"></div>
+</div>
+
+<div data-expected-width="120" class="flexbox vertical-rl" style="align-content: flex-start">
+ <div data-offset-x="100" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="100" data-offset-y="10" data-expected-width="20"></div>
+ <div data-offset-x="80" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="60" data-offset-y="0" data-expected-width="20"></div>
+</div>
+
+<div data-expected-width="120" class="flexbox vertical-rl" style="align-content: flex-end">
+ <div data-offset-x="40" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="40" data-offset-y="10" data-expected-width="20"></div>
+ <div data-offset-x="20" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="0" data-offset-y="0" data-expected-width="20"></div>
+</div>
+
+<div data-expected-width="120" class="flexbox vertical-rl" style="align-content: center">
+ <div data-offset-x="70" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="70" data-offset-y="10" data-expected-width="20"></div>
+ <div data-offset-x="50" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="30" data-offset-y="0" data-expected-width="20"></div>
+</div>
+
+<div data-expected-width="120" class="flexbox vertical-rl" style="align-content: space-between">
+ <div data-offset-x="100" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="100" data-offset-y="10" data-expected-width="20"></div>
+ <div data-offset-x="50" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="0" data-offset-y="0" data-expected-width="20"></div>
+</div>
+
+<div data-expected-width="120" class="flexbox vertical-rl" style="align-content: space-around">
+ <div data-offset-x="90" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="90" data-offset-y="10" data-expected-width="20"></div>
+ <div data-offset-x="50" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="10" data-offset-y="0" data-expected-width="20"></div>
+</div>
+
+<div data-expected-width="120" class="flexbox vertical-rl" style="align-content: space-evenly">
+ <div data-offset-x="85" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="85" data-offset-y="10" data-expected-width="20"></div>
+ <div data-offset-x="50" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="15" data-offset-y="0" data-expected-width="20"></div>
+</div>
+
+<div data-expected-width="120" class="flexbox vertical-rl" style="align-content: stretch">
+ <div data-offset-x="80" data-offset-y="0" data-expected-width="40"></div>
+ <div data-offset-x="80" data-offset-y="10" data-expected-width="40"></div>
+ <div data-offset-x="40" data-offset-y="0" data-expected-width="40"></div>
+ <div data-offset-x="0" data-offset-y="0" data-expected-width="40"></div>
+</div>
+
+<!-- Negative overflow goes out the right. -->
+<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: flex-end; width: 30px;">
+ <div data-offset-x="40" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="40" data-offset-y="10" data-expected-width="20"></div>
+ <div data-offset-x="20" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="0" data-offset-y="0" data-expected-width="20"></div>
+</div>
+
+<!-- If we overflow, we should true center. -->
+<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: center; width: 30px;">
+ <div data-offset-x="25" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="25" data-offset-y="10" data-expected-width="20"></div>
+ <div data-offset-x="5" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="-15" data-offset-y="0" data-expected-width="20"></div>
+</div>
+
+<!-- If we overflow, we should be the same as flex-start. -->
+<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-between; width: 30px;">
+ <div data-offset-x="10" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="10" data-offset-y="10" data-expected-width="20"></div>
+ <div data-offset-x="-10" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="-30" data-offset-y="0" data-expected-width="20"></div>
+</div>
+
+<!-- If we overflow, we should true center. -->
+<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-around; width: 30px;">
+ <div data-offset-x="25" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="25" data-offset-y="10" data-expected-width="20"></div>
+ <div data-offset-x="5" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="-15" data-offset-y="0" data-expected-width="20"></div>
+</div>
+
+<!-- If we overflow, we should true center. -->
+<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-evenly; width: 30px;">
+ <div data-offset-x="25" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="25" data-offset-y="10" data-expected-width="20"></div>
+ <div data-offset-x="5" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="-15" data-offset-y="0" data-expected-width="20"></div>
+</div>
+
+<!-- Stretch should only grow, not shrink. -->
+<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: stretch; width: 30px;">
+ <div data-offset-x="10" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="10" data-offset-y="10" data-expected-width="20"></div>
+ <div data-offset-x="-10" data-offset-y="0" data-expected-width="20"></div>
+ <div data-offset-x="-30" data-offset-y="0" data-expected-width="20"></div>
+</div>
+
+<!-- 0 lines should not crash. -->
+<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-between; width: 30px">
+</div>
+<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-around; width: 30px">
+</div>
+<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-evenly; width: 30px">
+</div>
+<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: stretch; width: 30px">
+</div>
+
+<!-- 1 line should not crash. -->
+<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-between; width: 30px">
+ <div data-offset-x="20" data-offset-y="0" data-expected-width="10"></div>
+</div>
+<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-around; width: 30px">
+ <div data-offset-x="10" data-offset-y="0" data-expected-width="10"></div>
+</div>
+<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-evenly; width: 30px">
+ <div data-offset-x="10" data-offset-y="0" data-expected-width="10"></div>
+</div>
+<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: stretch; width: 30px">
+ <div data-offset-x="0" data-offset-y="0" data-expected-width="30"></div>
+</div>