Part 3 is going to duplicate all the fragmentation reftests, and add
"writing-mode: vertical-lr" to them. If any of the physical property is
missed the conversion, we'll know when running the them.
This patch is generated by running the following script under
`layout/reftests/flexbox/pagination`.
```
#!/usr/bin/env bash
function rename() {
rg -l "$1" flexbox-single-* flexbox-multi* | xargs sed -i "s/$1/$2/g"
}
rename "margin-top" "margin-block-start"
rename "margin-bottom" "margin-block-end"
rename "border-width: 10px 0" "border-block-width: 10px"
rename "border: solid white" "border: 0 solid white"
rename "border-width: 15px 0" "border-block-width: 15px"
rename "padding: 5px 0" "padding-block: 5px"
rename "padding: 15px 0" "padding-block: 15px"
rename "top:" "inset-block-start:"
rename "left:" "inset-inline-start:"
# Rename properties containing 'width' or 'Height' to something else temporarily.
rename "border-width" "border-XXX"
rename "border-block-width" "border-block-XXX"
rename "column-width" "column-XXX"
rename "offsetHeight" "offsetYYY"
rename "width" "inline-size"
rename "height" "block-size"
rename "Height" "Block-size"
# Switch them back.
rename "XXX" "width"
rename "YYY" "Height"
```
Differential Revision: https://phabricator.services.mozilla.com/D96740
97 lines
2.6 KiB
HTML
97 lines
2.6 KiB
HTML
<!DOCTYPE html>
|
|
<!-- Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ -->
|
|
<html>
|
|
<meta charset="utf-8">
|
|
<title>CSS Flexbox Test Reference: Fragmentation of single-line column flex container</title>
|
|
<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
|
|
<link rel="author" title="Mozilla" href="http://www.mozilla.org/">
|
|
|
|
<style>
|
|
.multicol {
|
|
block-size: 50px;
|
|
inline-size: 190px;
|
|
column-width: 40px;
|
|
column-fill: auto;
|
|
column-gap: 10px;
|
|
border: 5px solid orange;
|
|
margin-block-end: 5px; /* Just to separate each sub-testcase visually. */
|
|
}
|
|
.flexContainer {
|
|
background: gray;
|
|
/* border-width is 0 by default; some sub-testcases will increase it. */
|
|
border: 0 solid lightgray;
|
|
}
|
|
.border-padding {
|
|
border-block-width: 10px;
|
|
padding-block: 5px;
|
|
}
|
|
.gap {
|
|
block-size: 5px;
|
|
}
|
|
|
|
/* Note: flex items are in visual order as "CMYK": cyan, magenta, yellow, black. */
|
|
header {
|
|
background: cyan;
|
|
block-size: 50px;
|
|
}
|
|
nav, article, footer {
|
|
inline-size: 30px;
|
|
}
|
|
nav {
|
|
background: magenta;
|
|
block-size: 25px;
|
|
}
|
|
article {
|
|
background: yellow;
|
|
block-size: 25px;
|
|
position: relative;
|
|
inset-inline-start: 5px;
|
|
}
|
|
footer {
|
|
background: black;
|
|
block-size: 50px;
|
|
position: relative;
|
|
inset-inline-start: 10px;
|
|
}
|
|
</style>
|
|
|
|
<body>
|
|
<!-- Basic one without any margin/border/padding. -->
|
|
<div class="multicol">
|
|
<div class="flexContainer">
|
|
<header></header><nav></nav><article></article><footer></footer>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Test a container with margin-block-start. -->
|
|
<div class="multicol">
|
|
<div class="flexContainer" style="margin-block-start: 25px">
|
|
<header></header><nav></nav><article></article><footer></footer>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Test a container not at the top of the column/page. -->
|
|
<div class="multicol">
|
|
<div style="block-size: 25px"></div>
|
|
<div class="flexContainer">
|
|
<header></header><nav></nav><article></article><footer></footer>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Test a container with border and padding. -->
|
|
<div class="multicol">
|
|
<div class="flexContainer border-padding">
|
|
<header></header><nav></nav><article></article><footer></footer>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Test a container with border, padding, and row-gap. -->
|
|
<div class="multicol">
|
|
<div class="flexContainer border-padding">
|
|
<header></header><div class="gap"></div><nav></nav><div class="gap"></div><article></article><div class="gap"></div><footer></footer>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|