/*
 * 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 void close()
 * Closes the window.
 * This method should only succeed if the WindowBase object is script-closeable
 * and the window calling close is allowed to navigate the window.
 * A window is script-closeable if it is either a window that was opened by another window,
 * or if it is a window with only one document in its history.
 * A window might not be allowed to navigate, and therefore close,
 * another window due to browser security features.
 * @description Checks that a new window is opened.
 * @needsreview issue #16893
 */
import "dart:html";
import "../../../Utils/expect.dart";

main() {
  WindowBase nw = window.open("about:blank", "_blank");
  nw.close();
  Expect.isTrue(nw.closed);
}
