| // 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 HtmlCollection getElementsByTagName(String localName) |
| /// Returns a list of elements with the given tag name. |
| /// @description Checks that a list of elements with the given tag name is returned. |
| /// @needsreview dart issue #18240 Document.getElementsByTagName returns NodeList, not HtmlCollection |
| |
| import "dart:html"; |
| import "../../../Utils/expect.dart"; |
| |
| const myTag = "div"; |
| |
| main() { |
| List<Node> lst = document.getElementsByTagName(myTag); |
| int l0 = lst.length; |
| |
| var x1 = new Element.tag(myTag); |
| var y = new Element.tag(myTag); |
| y.append(x1); |
| document.body?.append(y); |
| lst = document.getElementsByTagName(myTag); |
| Expect.equals(l0 + 2, lst.length); |
| |
| var x2 = new Element.tag(myTag); |
| document.body?.append(x2); |
| lst = document.getElementsByTagName(myTag); |
| Expect.equals(l0 + 3, lst.length); |
| // order is not guarateed, so cannot compare lists directly |
| Expect.isTrue(lst.contains(x1)); |
| Expect.isTrue(lst.contains(y)); |
| Expect.isTrue(lst.contains(x2)); |
| // print("lst is ${lst.runtimeType}; ${lst is HtmlCollection}; ${lst is NodeList}; ${lst is List};"); |
| Expect.isTrue(lst is HtmlCollection, "is HtmlCollection"); |
| } |