| /* |
| * 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 Bug 92497 https://bugs.webkit.org/show_bug.cgi?id=92497 |
| * [CSS Regions] Region overset property is not properly computed when there is a region break |
| */ |
| import "dart:html"; |
| import "../../testharness.dart"; |
| import "../../../Utils/expect.dart"; |
| |
| const String htmlEL1 = r''' |
| <style type="text/css"> |
| |
| .columns { |
| -webkit-column-count:2; |
| width:250px; |
| } |
| |
| .columns p:first-child { |
| -webkit-column-break-after: always; |
| margin-bottom: 10em; /*shouldn't spill over the forced break*/ |
| } |
| |
| .fail #pass, .pass #fail { display: none; } |
| </style> |
| '''; |
| |
| const String htmlEL2 = r''' |
| <div class="columns"> |
| <p>This is some text with bottom margin and forced break after.</p> |
| <p>This paragraph should be aligned with the other paragraph because the 1st paragraph's bottom margin shouldn't spill over the forced break.</p> |
| </div> |
| <div id="pass">PASS</div> |
| <div id="fail">FAIL</div> |
| '''; |
| |
| void main() { |
| document.head.appendHtml(htmlEL1, treeSanitizer: new NullTreeSanitizer()); |
| document.body.appendHtml(htmlEL2, treeSanitizer: new NullTreeSanitizer()); |
| document.body.className = "fail"; |
| Expect.equals(document.querySelector(".columns p:nth-child(2)").offsetTop, document.querySelector(".columns p:first-child").offsetTop); |
| document.body.className = "pass"; |
| } |