| /* |
| * 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 Test ensures that documentElement.scrollTop/Left properties |
| * are available by the time DOMContentLoaded event fires. |
| */ |
| import "dart:html"; |
| import "../../../Utils/async_utils.dart"; |
| import "../../testharness.dart"; |
| |
| const String htmlEL1 = r''' |
| <div style='width: 9999px; height:9999px; float:left;'></div> |
| '''; |
| |
| // Navigation steps: |
| // 1- page gets first loaded and scrolled. |
| // 2- reload is performed. |
| // Test: ensure that by the time DOMContenLoaded fires (after a reload navigation), documentElement.scrollTop/Left are set. |
| |
| void init(evt) { |
| if (window.name == 'second/load') { |
| shouldBe(document.documentElement.scrollTop, 2000); |
| shouldBe(document.documentElement.scrollLeft, 1000); |
| checkTestFailures(); |
| window.name = ""; |
| asyncEnd(); |
| } else { |
| window.scrollTo(1000, 2000); |
| window.name = "second/load"; |
| runLater((){location.reload(true);}, 0); |
| } |
| } |
| |
| void main() { |
| document.head.appendHtml(htmlEL1, treeSanitizer: new NullTreeSanitizer()); |
| asyncStart(); |
| window.addEventListener('DOMContentLoaded', init, true); |
| window.onUnload.listen((e) {}); // prevent caching |
| } |