blob: a4bbf94ddc5d4d3774f1ac5873407d359eb0ceb3 [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.
*/
/**
* @assertion
* @description
*/
import "dart:html";
import "../../testcommon.dart";
import "../../resources/check-layout.dart";
const String htmlEL1 = r'''
<style type="text/css">
.container
{
width:300px;
height:400px;
font:16px/1 Ahem;
background-color:#999999;
}
.child
{
display:table;
height:100%;
background-color:green;
}
.fixed-table
{
table-layout:fixed;
}
</style>
''';
const String htmlEL2 = r'''
<div> Testcase for Bug <a href="http://wkbug.com/98633">http://wkbug.com/98633</a>. The testcase checks if the height of a
css table does not exceed the max-height value. The height of the table can be greater than max-height value when either
min-height is greater than max-height or computed height of the content is greater than the max-height.
</div>
<br>
<div class="container">
<div id="maxGreatThanMinHeightAutoLayout" class="child" style="min-height:100px; max-height:200px;" data-expected-height=200>
This sub-test checks that when min-height is lesser than max-height, max-height is applied to a table with auto layout.
</div>
</div>
<div class="container">
<div class="child" style="min-height:200px; max-height:100px;" data-expected-height=200>
This sub-test checks that when min-height is greater than max-height, min-height is applied to a table with auto layout.
</div>
</div>
<div class="container">
<div class="child" style="max-height:200px;" data-expected-height=200>
This sub-test checks that max-height with fixed value is applied to a table with auto layout.
</div>
</div>
<div class="container">
<div class="child" style="max-height:50%;" data-expected-height=200>
This sub-test checks that max-height with percent value is applied to a table with auto layout.
</div>
</div>
<div class="container">
<div class="child" style="max-height:50vh;" data-expected-height=300>
This sub-test checks that max-height with viewport percent height value is applied to a table with auto layout.
</div>
</div>
<div class="container">
<div class="child" style="max-height:25vw;" data-expected-height=200>
This sub-test checks that max-height with viewport percent width value is applied to a table with auto layout.
</div>
</div>
<div class="container">
<div class="child" style="max-height:100px;" data-expected-height=192>
This sub-test checks that when content height is greater than max-height, content height is applied to the table with auto layout.
<br><br>FILLER TEXT TO INCREASE CONTENT HEIGHT.
</div>
</div>
<div class="container">
<div class="child fixed-table" style="height:auto;">
This test checks that when height of an auto-table is auto, there is are no asserts. No crash means the test passed.
</div>
</div>
<div class="container">
<div class="child fixed-table" style="min-height:100px; max-height:200px;" data-expected-height=200>
This sub-test checks that when min-height is lesser than max-height, max-height is applied to a table with fixed layout.
</div>
</div>
<div class="container">
<div class="child fixed-table" style="min-height:200px; max-height:100px;" data-expected-height=200>
This sub-test checks that when min-height is greater than max-height, min-height is applied to a table with fixed layout.
</div>
</div>
<div class="container">
<div class="child fixed-table" style="max-height:200px;" data-expected-height=200>
This sub-test checks that max-height with fixed value is applied to a table with fixed layout.
</div>
</div>
<div class="container">
<div class="child fixed-table" style="max-height:50%;" data-expected-height=200>
This sub-test checks that max-height with percent value is applied to a table with fixed layout.
</div>
</div>
<div class="container">
<div class="child fixed-table" style="max-height:50vh;" data-expected-height=300>
This sub-test checks that max-height with viewport percent height value is applied to a table with fixed layout.
</div>
</div>
<div class="container">
<div class="child fixed-table" style="max-height:25vw;" data-expected-height=200>
This sub-test checks that max-height with viewport percent width value is applied to a table with fixed layout.
</div>
</div>
<div class="container">
<div class="child fixed-table" style="max-height:100px;" data-expected-height=192>
This sub-test checks that when content height is greater than max-height, content height is applied to a table with fixed layout.
<br><br>FILLER TEXT TO INCREASE CONTENT HEIGHT.
</div>
</div>
<div class="container">
<div class="child fixed-table" style="height:auto;">
This test checks that when height of a fixed table is auto, there is are no asserts. No crash means the test passed.
</div>
</div>
''';
void runTest(e) {
checkLayout('.child');
}
void main() {
document.head.appendHtml(htmlEL1, treeSanitizer: new NullTreeSanitizer());
document.body.appendHtml(htmlEL2, treeSanitizer: new NullTreeSanitizer());
window.onLoad.listen(runTest);
}