blob: 61a6dee760b2bb0824a55cf2d15181b0067a257e [file] [log] [blame]
/*
* Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
* for details. All rights reserved. Use of this source code is governed by a
* BSD-style license that can be found in the LICENSE file.
*/
/**
* @description
*/
import "dart:html";
import "../../testcommon.dart";
import "../../../Utils/async_utils.dart";
import "../../resources/check-layout.dart";
import "pwd.dart";
main() {
var f = new DocumentFragment.html('''
<link href="$root/resources/grid.css" rel="stylesheet">
<style>
.grid {
grid-template-rows: auto auto;
grid-template-columns: auto auto;
width: -webkit-fit-content;
}
.gridItem {
width: 20px;
height: 40px;
}
.marginTop {
margin-top: 20px;
}
.marginBottom {
margin-bottom: 20px;
}
.borderTop {
border-top: 5px solid;
}
.borderBottom {
border-bottom: 5px solid;
}
.paddingTop {
padding-top: 10px;
}
.paddingBottom {
padding-bottom: 10px;
}
</style>
''', treeSanitizer: new NullTreeSanitizer());
document.head.append(f);
document.body.setInnerHtml('''
<div>This test checks that the grid's rows and columns 'auto' sizes are updated accordingly to its grid-item's before and start margins.</div>
<div style="position: relative">
<div class="grid verticalRL" data-expected-width="40" data-expected-height="120">
<div class="gridItem marginTop firstRowFirstColumn"></div>
<div class="gridItem marginBottom firstRowSecondColumn"></div>
<div class="gridItem secondRowFirstColumn"></div>
<div class="gridItem secondRowSecondColumn"></div>
</div>
</div>
<div style="position: relative">
<div class="grid verticalRL" data-expected-width="40" data-expected-height="120">
<div class="gridItem marginTop paddingTop firstRowFirstColumn"></div>
<div class="gridItem borderTop borderBottom firstRowSecondColumn"></div>
<div class="gridItem secondRowFirstColumn"></div>
<div class="gridItem secondRowSecondColumn"></div>
</div>
</div>
<div style="position: relative">
<div class="grid verticalRL" data-expected-width="40" data-expected-height="120">
<div class="gridItem marginTop paddingTop firstRowFirstColumn"></div>
<div class="gridItem borderTop borderBottom firstRowSecondColumn"></div>
<div class="gridItem secondRowFirstColumn"></div>
<div class="gridItem secondRowSecondColumn"></div>
</div>
</div>
<div style="position: relative">
<div class="grid verticalRL" data-expected-width="40" data-expected-height="120">
<div class="gridItem marginTop paddingTop firstRowFirstColumn"></div>
<div class="gridItem paddingBottom firstRowSecondColumn"></div>
<div class="gridItem secondRowFirstColumn"></div>
<div class="gridItem secondRowSecondColumn"></div>
</div>
</div>
''', treeSanitizer: new NullTreeSanitizer());
asyncStart();
window.onLoad.listen((_) {
checkLayout('.grid');
asyncEnd();
});
}