| Index: client/tests/client/dom/HTMLElementTest.dart
|
| diff --git a/client/tests/client/dom/HTMLElementTest.dart b/client/tests/client/dom/HTMLElementTest.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..bfb62bc7bab97766c1d7f87ef5869c00a15159f9
|
| --- /dev/null
|
| +++ b/client/tests/client/dom/HTMLElementTest.dart
|
| @@ -0,0 +1,90 @@
|
| +#library('HTMLElementTest');
|
| +#import('../../../testing/unittest/unittest.dart');
|
| +#import('dart:dom');
|
| +
|
| +main() {
|
| + forLayoutTests();
|
| + test('InnerHTML', () {
|
| + HTMLElement element = document.createElement('div');
|
| + element.id = 'test';
|
| + element.innerHTML = 'Hello World';
|
| + document.body.appendChild(element);
|
| +
|
| + element = document.getElementById('test');
|
| + Expect.stringEquals('Hello World', element.innerHTML);
|
| + document.body.removeChild(element);
|
| + });
|
| + test('HTMLTable', () {
|
| + HTMLElement table = document.createElement('table');
|
| +
|
| + HTMLTableRowElement row = document.createElement('tr');
|
| + table.appendChild(row);
|
| +
|
| + row.appendChild(document.createElement('td'));
|
| + row.appendChild(document.createElement('td'));
|
| +
|
| + Expect.equals(2, row.cells.length);
|
| +
|
| + HTMLTableRowElement headerRow = table.rows.item(0);
|
| + Expect.equals(2, headerRow.cells.length);
|
| + });
|
| + test('Dataset', () {
|
| + HTMLElement div = document.createElement('div');
|
| +
|
| + Expect.isTrue(div.dataset.isEmpty());
|
| + Expect.equals('', div.dataset['foo']);
|
| + Expect.isTrue(div.dataset.isEmpty());
|
| +
|
| + div.dataset['foo'] = 'foo-value';
|
| + Expect.equals('foo-value', div.dataset['foo']);
|
| + Expect.isFalse(div.dataset.isEmpty());
|
| +
|
| + Expect.isTrue(div.dataset.containsValue('foo-value'));
|
| + Expect.isFalse(div.dataset.containsValue('bar-value'));
|
| + Expect.isTrue(div.dataset.containsKey('foo'));
|
| + Expect.isFalse(div.dataset.containsKey('bar'));
|
| +
|
| + bool hasBeenInvoked;
|
| + String f() {
|
| + hasBeenInvoked = true;
|
| + return 'bar-value';
|
| + }
|
| +
|
| + hasBeenInvoked = false;
|
| + Expect.equals('bar-value', div.dataset.putIfAbsent('bar', f));
|
| + Expect.isTrue(hasBeenInvoked);
|
| +
|
| + hasBeenInvoked = false;
|
| + Expect.equals('bar-value', div.dataset.putIfAbsent('bar', f));
|
| + Expect.isFalse(hasBeenInvoked);
|
| +
|
| + final keys = <String> [];
|
| + final values = <String> [];
|
| + div.dataset.forEach(void f(String key, String value) {
|
| + keys.add(key);
|
| + values.add(value);
|
| + });
|
| + Expect.setEquals(const <String> ['foo', 'bar'], keys);
|
| + Expect.setEquals(const <String> ['foo-value', 'bar-value'], values);
|
| +
|
| + Expect.setEquals(const <String> ['foo', 'bar'],
|
| + new List<String>.from(div.dataset.getKeys()));
|
| + Expect.setEquals(const <String> ['foo-value', 'bar-value'],
|
| + new List<String>.from(div.dataset.getValues()));
|
| +
|
| + Expect.equals(2, div.dataset.length);
|
| + Expect.isFalse(div.dataset.isEmpty());
|
| +
|
| + Expect.isNull(div.dataset.remove('qux'));
|
| + Expect.equals(2, div.dataset.length);
|
| + Expect.isFalse(div.dataset.isEmpty());
|
| +
|
| + Expect.equals('foo-value', div.dataset.remove('foo'));
|
| + Expect.equals(1, div.dataset.length);
|
| + Expect.isFalse(div.dataset.isEmpty());
|
| +
|
| + div.dataset.clear();
|
| + Expect.equals(0, div.dataset.length);
|
| + Expect.isTrue(div.dataset.isEmpty());
|
| + });
|
| +}
|
|
|