blob: 6d368d25b2061ac8d43450a7952aaf16d7faecd8 [file] [log] [blame]
/*
* 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");
}