gecko-dev/testing/web-platform/tests/css/css-grid/grid-definition/grid-inline-auto-repeat-001.html
Sergio Villar Senin 4180128291 Bug 1447937 [wpt PR 10141] - [css-grid] Fix auto repeat tracks computation with definite min sizes, a=testonly
Automatic update from web-platform-tests[css-grid] Fix auto repeat tracks computation with definite min sizes

Indefinitely sized containers use the specified definite min-size (if any) as
available space in order to compute the number of auto repeat tracks to
create. A bug in that code was causing the grid to be one track larger than
expected. That was only happening in the case of the free space being
a multiple of the total size of the autorepeat tracks.

Bug: 823140
Change-Id: I6cc13df478da4ba00585fa557012391291941d1a
Reviewed-on: https://chromium-review.googlesource.com/973522
Commit-Queue: Sergio Villar <svillar@igalia.com>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Manuel Rego Casasnovas <rego@igalia.com>
Cr-Commit-Position: refs/heads/master@{#545403}

wpt-commits: 9e2e5eb3fc0dbb25a8f643020577157c3e64d556
wpt-pr: 10141
wpt-commits: 9e2e5eb3fc0dbb25a8f643020577157c3e64d556
wpt-pr: 10141
2018-04-15 08:35:24 +01:00

48 lines
2.6 KiB
HTML

<!DOCTYPE html>
<html lang=en>
<meta charset="utf-8">
<title>CSS Grid Layout Test: auto repeat tracks in indefinite containers with minimum size</title>
<link rel="author" title="Sergio Villar Senin" href="mailto:svillar@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#repeat-syntax">
<meta name="assert" content="This test checks that we properly compute the number of required auto repeat tracks in indefinite sized containers with minimum sizes.">
<link rel="stylesheet" href="support/grid.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/testing-utils.js"></script>
<style>
.grid {
display: inline-grid;
grid: 20px / 20px;
min-width: 20px;
min-height: 20px;
justify-content: start;
align-content: start;
}
</style>
<div id="log"></div>
<div id="autoFillColumns" class="grid"></div>
<div id="autoFitColumns" class="grid"></div>
<div id="autoFillRows" class="grid"></div>
<div id="autoFitRows" class="grid"></div>
<script>
// Exact fit
TestingUtils.testGridTemplateColumnsRows("autoFillColumns", "repeat(auto-fill, 10px)", "20px", ["repeat(2, 10px)", "10px 10px"], "20px");
TestingUtils.testGridTemplateColumnsRows("autoFitColumns", "repeat(auto-fit, 10px)", "20px", ["repeat(2, 0px)", "0px 0px"], "20px");
TestingUtils.testGridTemplateColumnsRows("autoFillRows", "20px", "repeat(auto-fill, 10px)", "20px", ["repeat(2, 10px)", "10px 10px"]);
TestingUtils.testGridTemplateColumnsRows("autoFitRows", "20px", "repeat(auto-fit, 10px)", "20px", ["repeat(2, 0px)", "0px 0px"]);
// Require an extra track
TestingUtils.testGridTemplateColumnsRows("autoFillColumns", "repeat(auto-fill, 9px)", "20px", ["repeat(3, 9px)", "9px 9px 9px"], "20px");
TestingUtils.testGridTemplateColumnsRows("autoFitColumns", "repeat(auto-fit, 9px)", "20px", ["repeat(2, 0px)", "0px 0px"], "20px");
TestingUtils.testGridTemplateColumnsRows("autoFillRows", "20px", "repeat(auto-fill, 9px)", "20px", ["repeat(3, 9px)", "9px 9px 9px"]);
TestingUtils.testGridTemplateColumnsRows("autoFitRows", "20px", "repeat(auto-fit, 9px)", "20px", ["repeat(3, 0px)", "0px 0px 0px"]);
// A single repetition is enough to fill in all the available space
TestingUtils.testGridTemplateColumnsRows("autoFillColumns", "repeat(auto-fill, 30px)", "20px", "30px", "20px");
TestingUtils.testGridTemplateColumnsRows("autoFitColumns", "repeat(auto-fit, 30px)", "20px", "0px", "20px");
TestingUtils.testGridTemplateColumnsRows("autoFillRows", "20px", "repeat(auto-fill, 30px)", "20px", "30px");
TestingUtils.testGridTemplateColumnsRows("autoFitRows", "20px", "repeat(auto-fit, 30px)", "20px", "0px");
</script>