blob: 07a3835e953138dca28b69a192e0bddabd3bfb92 [file] [log] [blame]
// Copyright (c) 2012, 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.
import 'dart:html';
import 'package:expect/minitest.dart';
main() {
var isDataListElement =
predicate((x) => x is DataListElement, 'is a DataListElement');
var div;
setUp(() {
div = new DivElement();
document.body.append(div);
div.innerHtml = """
<input id="input" list="browsers" />
<datalist id="browsers">
<option value="Chrome">
<option value="Firefox">
<option value="Internet Explorer">
<option value="Opera">
<option value="Safari">
</datalist>
""";
});
tearDown(() {
document.body.nodes.removeLast();
});
// Support is checked in element_types test.
var expectation = DataListElement.supported ? returnsNormally : throws;
test('is', () {
expect(() {
var list = document.query('#browsers');
expect(list, isDataListElement);
}, expectation);
});
test('list', () {
expect(() {
var list = document.query('#browsers') as DataListElement;
var input = document.query('#input') as InputElement;
expect(input.list, list);
}, expectation);
});
test('options', () {
expect(() {
var options = (document.query('#browsers') as DataListElement).options;
expect(options.length, 5);
}, expectation);
});
test('create', () {
expect(() {
var list = new DataListElement();
expect(list, isDataListElement);
}, expectation);
});
}