| // 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 Rectangle getBoundingClientRect() |
| /// Returns the smallest bounding rectangle that encompasses this element's |
| /// padding, scrollbar, and border. |
| /// @description Checks that padding, scrollbar and border are included in |
| /// the rectangle. |
| |
| import "dart:html"; |
| import "../../../Utils/expect.dart"; |
| |
| main() { |
| var html = '<div>Text</div>'; |
| var x1 = new Element.html(html); |
| document.body?.append(x1); |
| var r1 = x1.getBoundingClientRect(); |
| |
| var x2 = new Element.html(html); |
| x2.style.padding = '10px'; |
| document.body?.append(x2); |
| var r2 = x2.getBoundingClientRect(); |
| Expect.isTrue(r2.height > r1.height, 'padding'); |
| |
| var x3 = new Element.html(html); |
| x3.style.padding = '10px'; |
| x3.style.overflow = 'scroll'; |
| document.body?.append(x3); |
| var r3 = x3.getBoundingClientRect(); |
| Expect.isTrue(r3.height > r2.height, 'padding scrollbar'); |
| |
| var x4 = new Element.html(html); |
| x4.style.padding = '10px'; |
| x4.style.overflow = 'scroll'; |
| x4.style.border = '10px solid'; |
| document.body?.append(x4); |
| var r4 = x4.getBoundingClientRect(); |
| Expect.isTrue(r4.height > r3.height, 'padding scrollbar border'); |
| } |