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

Unified Diff: pkg/third_party/html5lib/test/parser_feature_test.dart

Issue 178303009: [html5lib] api updates: localName (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/third_party/html5lib/lib/src/treebuilder.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/third_party/html5lib/test/parser_feature_test.dart
diff --git a/pkg/third_party/html5lib/test/parser_feature_test.dart b/pkg/third_party/html5lib/test/parser_feature_test.dart
index f96a8e25fd4ade02d79406824a94f06eeb6bc8c0..212ae053321991c7eac651b0d2d23831cae01dd8 100644
--- a/pkg/third_party/html5lib/test/parser_feature_test.dart
+++ b/pkg/third_party/html5lib/test/parser_feature_test.dart
@@ -9,9 +9,9 @@ import 'package:html5lib/src/treebuilder.dart';
main() {
test('doctype is cloneable', () {
- var doc = parse('<!DOCTYPE HTML>');
+ var doc = parse('<!doctype HTML>');
DocumentType doctype = doc.nodes[0];
- expect(doctype.clone().outerHtml, '<!DOCTYPE html>');
+ expect(doctype.clone().toString(), '<!DOCTYPE html>');
});
test('line counter', () {
@@ -22,12 +22,12 @@ main() {
test('namespace html elements on', () {
var doc = new HtmlParser('', tree: new TreeBuilder(true)).parse();
- expect(doc.nodes[0].namespace, Namespaces.html);
+ expect(doc.nodes[0].namespaceUri, Namespaces.html);
});
test('namespace html elements off', () {
var doc = new HtmlParser('', tree: new TreeBuilder(false)).parse();
- expect(doc.nodes[0].namespace, null);
+ expect(doc.nodes[0].namespaceUri, null);
});
test('parse error spans - full', () {
@@ -156,60 +156,62 @@ ParseError:4:3: Unexpected DOCTYPE. Ignored.
test('empty document has html, body, and head', () {
var doc = parse('');
- expect(doc.outerHtml, '<html><head></head><body></body></html>');
+ var html = '<html><head></head><body></body></html>';
+ expect(doc.outerHtml, html);
+ expect(doc.documentElement.outerHtml, html);
expect(doc.head.outerHtml, '<head></head>');
expect(doc.body.outerHtml, '<body></body>');
});
test('strange table case', () {
- var doc = parseFragment('<table><tbody><foo>');
- expect(doc.outerHtml, '<foo></foo><table><tbody></tbody></table>');
+ var doc = parse('<table><tbody><foo>').body;
+ expect(doc.innerHtml, '<foo></foo><table><tbody></tbody></table>');
});
group('html serialization', () {
test('attribute order', () {
// Note: the spec only requires a stable order.
// However, we preserve the input order via LinkedHashMap
- var doc = parseFragment('<foo d=1 a=2 c=3 b=4>');
- expect(doc.outerHtml, '<foo d="1" a="2" c="3" b="4"></foo>');
- expect(doc.querySelector('foo').attributes.remove('a'), '2');
- expect(doc.outerHtml, '<foo d="1" c="3" b="4"></foo>');
- doc.querySelector('foo').attributes['a'] = '0';
- expect(doc.outerHtml, '<foo d="1" c="3" b="4" a="0"></foo>');
+ var body = parse('<foo d=1 a=2 c=3 b=4>').body;
+ expect(body.innerHtml, '<foo d="1" a="2" c="3" b="4"></foo>');
+ expect(body.querySelector('foo').attributes.remove('a'), '2');
+ expect(body.innerHtml, '<foo d="1" c="3" b="4"></foo>');
+ body.querySelector('foo').attributes['a'] = '0';
+ expect(body.innerHtml, '<foo d="1" c="3" b="4" a="0"></foo>');
});
test('escaping Text node in <script>', () {
- var doc = parseFragment('<script>a && b</script>');
- expect(doc.outerHtml, '<script>a && b</script>');
+ Element e = parseFragment('<script>a && b</script>').firstChild;
+ expect(e.outerHtml, '<script>a && b</script>');
});
test('escaping Text node in <span>', () {
- var doc = parseFragment('<span>a && b</span>');
- expect(doc.outerHtml, '<span>a &amp;&amp; b</span>');
+ Element e = parseFragment('<span>a && b</span>').firstChild;
+ expect(e.outerHtml, '<span>a &amp;&amp; b</span>');
});
test('Escaping attributes', () {
- var doc = parseFragment('<div class="a<b>">');
- expect(doc.outerHtml, '<div class="a<b>"></div>');
- doc = parseFragment('<div class=\'a"b\'>');
- expect(doc.outerHtml, '<div class="a&quot;b"></div>');
+ Element e = parseFragment('<div class="a<b>">').firstChild;
+ expect(e.outerHtml, '<div class="a<b>"></div>');
+ e = parseFragment('<div class=\'a"b\'>').firstChild;
+ expect(e.outerHtml, '<div class="a&quot;b"></div>');
});
test('Escaping non-breaking space', () {
var text = '<span>foO\u00A0bar</span>';
expect(text.codeUnitAt(text.indexOf('O') + 1), 0xA0);
- var doc = parseFragment(text);
- expect(doc.outerHtml, '<span>foO&nbsp;bar</span>');
+ Element e = parseFragment(text).firstChild;
+ expect(e.outerHtml, '<span>foO&nbsp;bar</span>');
});
test('Newline after <pre>', () {
- var doc = parseFragment('<pre>\n\nsome text</span>');
- expect(doc.querySelector('pre').nodes[0].data, '\nsome text');
- expect(doc.outerHtml, '<pre>\n\nsome text</pre>');
+ Element e = parseFragment('<pre>\n\nsome text</span>').firstChild;
+ expect((e.firstChild as Text).data, '\nsome text');
+ expect(e.outerHtml, '<pre>\n\nsome text</pre>');
- doc = parseFragment('<pre>\nsome text</span>');
- expect(doc.querySelector('pre').nodes[0].data, 'some text');
- expect(doc.outerHtml, '<pre>some text</pre>');
+ e = parseFragment('<pre>\nsome text</span>').firstChild;
+ expect((e.firstChild as Text).data, 'some text');
+ expect(e.outerHtml, '<pre>some text</pre>');
});
test('xml namespaces', () {
« no previous file with comments | « pkg/third_party/html5lib/lib/src/treebuilder.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698