Chromium Code Reviews| Index: tests/html/element_add_test.dart |
| diff --git a/tests/html/element_add_test.dart b/tests/html/element_add_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..eab571357c317b0c8156dc6d990a55a84032894f |
| --- /dev/null |
| +++ b/tests/html/element_add_test.dart |
| @@ -0,0 +1,68 @@ |
| +#library('ElementAddTest'); |
|
vsm
2012/08/22 20:09:34
Please add back the copyright (with 2012).
blois
2012/08/22 20:40:59
Done.
|
| +#import('../../pkg/unittest/unittest.dart'); |
| +#import('../../pkg/unittest/html_config.dart'); |
| +#import('dart:html'); |
| +#source('util.dart'); |
| + |
| +main() { |
| + useHtmlConfiguration(); |
| + |
| + void expectNoSuchMethod(void fn()) => |
| + Expect.throws(fn, (e) => e is NoSuchMethodException); |
| + |
| + group('addHTML', () { |
| + test('htmlelement', () { |
| + // Adding a <tr/> to a table should auto-wrap it into a tbody element. |
| + var el = new TableElement(); |
| + el.addHTML('<tr>test</tr>'); |
| + expect(el.elements.length, equals(1)); |
| + var section = el.elements[0]; |
| + expect(section is TableSectionElement); |
| + expect(section.elements.length, equals(1)); |
| + expect(section.elements[0] is TableRowElement); |
| + |
| + el.addHTML('<tr>test</tr>'); |
| + expect(el.elements.length, equals(2)); |
| + // Validate that the first item is still first. |
| + expect(el.elements[0] == section); |
| + expect(el.elements[1] is TableSectionElement); |
| + }); |
| + |
| + test('documentFragment', () { |
| + var fragment = new DocumentFragment(); |
| + fragment.addHTML('<span>something</span>'); |
| + expect(fragment.elements.length, equals(1)); |
| + expect(fragment.elements[0] is SpanElement); |
| + }); |
| + |
| + test('svg', () { |
| + var svg = new SVGElement.tag('g'); |
| + expectNoSuchMethod(() => svg.addHTML('<rect/>'));; |
| + }); |
| + }); |
| + |
| + group('addText', () { |
| + test('htmlelement', () { |
| + var el = new DivElement(); |
| + el.addText('foo'); |
| + // No elements were created. |
| + expect(el.elements.length, equals(0)); |
| + // One text node was added. |
| + expect(el.nodes.length, equals(1)); |
| + }); |
| + |
| + test('documentFragment', () { |
| + var fragment = new DocumentFragment(); |
| + fragment.addText('foo'); |
| + // No elements were created. |
| + expect(fragment.elements.length, equals(0)); |
| + // One text node was added. |
| + expect(fragment.nodes.length, equals(1)); |
| + }); |
| + |
| + test('svg', () { |
| + var svg = new SVGElement.tag('g'); |
| + expectNoSuchMethod(() => svg.addText('foo')); |
| + }); |
| + }); |
| +} |