fune/testing/web-platform/tests/css/css-flexbox/flexbox-flex-basis-content-003a.html
David Grogan b6e2c8b912 Bug 1681876 [wpt PR 26848] - [css-flex] Move moz flex tests from vendor-imports to css/css-flexbox, a=testonly
Automatic update from web-platform-tests
[css-flex] Move moz flex tests from vendor-imports to css/css-flexbox

Updated TestExpectations in place and organized the flex section a bit.

7 tests weren't moved because I already ported those to check-layout
versions in css/css-flexbox and they hadn't been deleted from
vendor-imports yet.

Removed two tests from css3/flexbox/mozilla because they were in the
move. One test is still in that directory because it wasn't in
vendor-imports.

Change-Id: I15e815ea15e30eee4568c65aa92dd364c17a5e9e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2585929
Commit-Queue: Philip Jägenstedt <foolip@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Cr-Commit-Position: refs/heads/master@{#836059}

--
Suppress new lint errors after moving flexbox tests

--

wpt-commits: f5cc59806ce585bfdff8ac775de12b18e22a4ef0, d882d1829205f38d8b2ffff2ccd11c9cd24a0d05
wpt-pr: 26848
2020-12-17 13:30:56 +00:00

123 lines
3.3 KiB
HTML

<!DOCTYPE html>
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<html>
<head>
<title>
CSS Test: Testing that explicit "flex-basis: content" is treated as
"max-content" when calculating flex base size
</title>
<meta charset="utf-8">
<link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
<link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#flex-base-size">
<link rel="match" href="flexbox-flex-basis-content-003-ref.html">
<style>
.container {
display: flex;
/* flex container has an extremely-constrained width (and items will
overflow horizontally). This is intentional, as part of stress-testing
item sizing. */
width: 1px;
}
.item {
/* We give all flex items "flex-basis: content".
We also give them zero flex-grow, flex-shrink, and min-main-size, so
that the flex base size entirely determines the flex item's size. */
flex: 0 0 content;
min-width: 0;
border: 2px solid teal;
}
ib {
display: inline-block;
background: blue;
border: 1px solid gray;
width: 15px;
height: 10px;
}
float {
float: left;
background: fuchsia;
border: 1px solid gray;
width: 15px;
height: 10px;
}
canvas {
background: brown;
border: 1px solid gray;
}
.innerFlex {
display: flex;
}
innerItem {
background: salmon;
border: 1px solid gray;
height: 10px;
width: 15px;
flex: none;
}
</style>
</head>
<body>
<!-- The idea of this test is to be sure the UA is using the "max-content" size
(and not e.g. the "fit-content size") when resolving the flex base size
inside each flex container. To differentiate between max-content and
other intrinsic size possibilities (min-content/fit-content), we:
- use flex items with a large difference between its min-content size &
its max-content size (e.g. wrappable content).
- use a very small container (to compress the size, if the UA incorrectly
allows the size to be influenced by the container size).
-->
<!-- Flex item has several inline-blocks
(no spaces, to avoid any text-layout dependency): -->
<div class="container">
<div class="item"><ib></ib><ib></ib><ib></ib></div>
</div>
<!-- Flex item has several floats: -->
<div class="container">
<div class="item">
<float></float>
<float></float>
<float></float>
</div>
</div>
<!-- Flex item has several inline replaced elements:
(no spaces, to avoid any text-layout dependency): -->
<div class="container">
<div class="item">
<canvas width="15" height="10"></canvas
><canvas width="15" height="10"></canvas
><canvas width="15" height="10"></canvas>
</div>
</div>
<!-- Flex item *is* a replaced element: -->
<div class="container">
<canvas class="item" width="25" height="10"></canvas>
</div>
<!-- Flex item is itself a flex container: -->
<div class="container">
<div class="item innerFlex">
<innerItem></innerItem>
<innerItem></innerItem>
<innerItem></innerItem>
</div>
</div>
<!-- Flex item is itself a multi-line flex container: -->
<div class="container">
<div class="item innerFlex" style="flex-wrap: wrap">
<innerItem></innerItem>
<innerItem></innerItem>
<innerItem></innerItem>
</div>
</div>
</body>
</html>