Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: tests/dom/htmlelement_test.dart

Issue 10222026: Migrate dom tests to dart:html. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebase & address comments. Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 #library('HTMLElementTest'); 1 #library('ElementTest');
2 #import('../../lib/unittest/unittest.dart'); 2 #import('../../lib/unittest/unittest.dart');
3 #import('../../lib/unittest/dom_config.dart'); 3 #import('../../lib/unittest/html_config.dart');
4 #import('dart:dom'); 4 #import('dart:html');
5 5
6 main() { 6 main() {
7 useDomConfiguration(); 7 useHtmlConfiguration();
8 test('InnerHTML', () { 8 test('InnerHTML', () {
9 HTMLElement element = document.createElement('div'); 9 Element element = new Element.tag('div');
10 element.id = 'test'; 10 element.id = 'test';
11 element.innerHTML = 'Hello World'; 11 element.innerHTML = 'Hello World';
12 document.body.appendChild(element); 12 document.body.nodes.add(element);
13 13
14 element = document.getElementById('test'); 14 element = document.query('#test');
15 Expect.stringEquals('Hello World', element.innerHTML); 15 Expect.stringEquals('Hello World', element.innerHTML);
16 document.body.removeChild(element); 16 element.remove();
17 }); 17 });
18 test('HTMLTable', () { 18 test('HTMLTable', () {
19 HTMLElement table = document.createElement('table'); 19 Element table = new Element.tag('table');
20 20
21 HTMLTableRowElement row = document.createElement('tr'); 21 TableRowElement row = new Element.tag('tr');
22 table.appendChild(row); 22 table.nodes.add(row);
23 23
24 row.appendChild(document.createElement('td')); 24 row.nodes.add(new Element.tag('td'));
25 row.appendChild(document.createElement('td')); 25 row.nodes.add(new Element.tag('td'));
26 26
27 Expect.equals(2, row.cells.length); 27 Expect.equals(2, row.cells.length);
28 28
29 HTMLTableRowElement headerRow = table.rows.item(0); 29 TableRowElement headerRow = table.rows.item(0);
30 Expect.equals(2, headerRow.cells.length); 30 Expect.equals(2, headerRow.cells.length);
31 }); 31 });
32 test('Dataset', () { 32 test('dataAttributes', () {
33 HTMLElement div = document.createElement('div'); 33 Element div = new Element.tag('div');
34 34
35 Expect.isTrue(div.dataset.isEmpty()); 35 Expect.isTrue(div.dataAttributes.isEmpty());
36 Expect.equals('', div.dataset['foo']); 36 Expect.equals(null, div.dataAttributes['foo']);
37 Expect.isTrue(div.dataset.isEmpty()); 37 Expect.isTrue(div.dataAttributes.isEmpty());
38 38
39 div.dataset['foo'] = 'foo-value'; 39 div.dataAttributes['foo'] = 'foo-value';
40 Expect.equals('foo-value', div.dataset['foo']); 40 Expect.equals('foo-value', div.dataAttributes['foo']);
41 Expect.isFalse(div.dataset.isEmpty()); 41 Expect.isFalse(div.dataAttributes.isEmpty());
42 42
43 Expect.isTrue(div.dataset.containsValue('foo-value')); 43 Expect.isTrue(div.dataAttributes.containsValue('foo-value'));
44 Expect.isFalse(div.dataset.containsValue('bar-value')); 44 Expect.isFalse(div.dataAttributes.containsValue('bar-value'));
45 Expect.isTrue(div.dataset.containsKey('foo')); 45 Expect.isTrue(div.dataAttributes.containsKey('foo'));
46 Expect.isFalse(div.dataset.containsKey('bar')); 46 Expect.isFalse(div.dataAttributes.containsKey('bar'));
47 47
48 bool hasBeenInvoked; 48 bool hasBeenInvoked;
49 String f() { 49 String f() {
50 hasBeenInvoked = true; 50 hasBeenInvoked = true;
51 return 'bar-value'; 51 return 'bar-value';
52 } 52 }
53 53
54 hasBeenInvoked = false; 54 hasBeenInvoked = false;
55 Expect.equals('bar-value', div.dataset.putIfAbsent('bar', f)); 55 Expect.equals('bar-value', div.dataAttributes.putIfAbsent('bar', f));
56 Expect.isTrue(hasBeenInvoked); 56 Expect.isTrue(hasBeenInvoked);
57 57
58 hasBeenInvoked = false; 58 hasBeenInvoked = false;
59 Expect.equals('bar-value', div.dataset.putIfAbsent('bar', f)); 59 Expect.equals('bar-value', div.dataAttributes.putIfAbsent('bar', f));
60 Expect.isFalse(hasBeenInvoked); 60 Expect.isFalse(hasBeenInvoked);
61 61
62 final keys = <String> []; 62 final keys = <String> [];
63 final values = <String> []; 63 final values = <String> [];
64 div.dataset.forEach(void f(String key, String value) { 64 div.dataAttributes.forEach(void f(String key, String value) {
65 keys.add(key); 65 keys.add(key);
66 values.add(value); 66 values.add(value);
67 }); 67 });
68 Expect.setEquals(const <String> ['foo', 'bar'], keys); 68 Expect.setEquals(const <String> ['foo', 'bar'], keys);
69 Expect.setEquals(const <String> ['foo-value', 'bar-value'], values); 69 Expect.setEquals(const <String> ['foo-value', 'bar-value'], values);
70 70
71 Expect.setEquals(const <String> ['foo', 'bar'], 71 Expect.setEquals(const <String> ['foo', 'bar'],
72 new List<String>.from(div.dataset.getKeys())); 72 new List<String>.from(div.dataAttributes.getKeys()));
73 Expect.setEquals(const <String> ['foo-value', 'bar-value'], 73 Expect.setEquals(const <String> ['foo-value', 'bar-value'],
74 new List<String>.from(div.dataset.getValues())); 74 new List<String>.from(div.dataAttributes.getValues()));
75 75
76 Expect.equals(2, div.dataset.length); 76 Expect.equals(2, div.dataAttributes.length);
77 Expect.isFalse(div.dataset.isEmpty()); 77 Expect.isFalse(div.dataAttributes.isEmpty());
78 78
79 Expect.isNull(div.dataset.remove('qux')); 79 Expect.isNull(div.dataAttributes.remove('qux'));
80 Expect.equals(2, div.dataset.length); 80 Expect.equals(2, div.dataAttributes.length);
81 Expect.isFalse(div.dataset.isEmpty()); 81 Expect.isFalse(div.dataAttributes.isEmpty());
82 82
83 Expect.equals('foo-value', div.dataset.remove('foo')); 83 Expect.equals('foo-value', div.dataAttributes.remove('foo'));
84 Expect.equals(1, div.dataset.length); 84 Expect.equals(1, div.dataAttributes.length);
85 Expect.isFalse(div.dataset.isEmpty()); 85 Expect.isFalse(div.dataAttributes.isEmpty());
86 86
87 div.dataset.clear(); 87 div.dataAttributes.clear();
88 Expect.equals(0, div.dataset.length); 88 Expect.equals(0, div.dataAttributes.length);
89 Expect.isTrue(div.dataset.isEmpty()); 89 Expect.isTrue(div.dataAttributes.isEmpty());
90 }); 90 });
91 } 91 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698