| // 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 Node adoptNode(Node source) |
| /// Adopt node from an external document |
| /// from MDN: Adopts a node from an external document. The node and its subtree |
| /// is removed from the document it's in (if any), and its ownerDocument is changed |
| /// to the current document. The node can then be inserted into the current document. |
| /// @description Checks that the node and its subtree is removed from the document |
| /// and its ownerDocument is changed to the current document. |
| |
| import "dart:html"; |
| import "../../../Utils/expect.dart"; |
| |
| main() { |
| var myButton = "myButton"; |
| HtmlDocument? d2 = |
| document.implementation?.createHtmlDocument("Another Document"); |
| var x = new Element.html('<button id="$myButton"></button>'); |
| d2?.body?.append(x); |
| Expect.equals(d2, x.ownerDocument); |
| Expect.equals(x, d2?.getElementById(myButton)); |
| document.adoptNode(x); |
| Expect.isNull(d2?.getElementById(myButton)); |
| Expect.equals(document, x.ownerDocument); |
| } |