OLD | NEW |
1 /// Additional feature tests that aren't based on test data. | 1 /// Additional feature tests that aren't based on test data. |
2 library parser_feature_test; | 2 library parser_feature_test; |
3 | 3 |
4 import 'package:unittest/unittest.dart'; | 4 import 'package:unittest/unittest.dart'; |
5 import 'package:html5lib/dom.dart'; | 5 import 'package:html5lib/dom.dart'; |
6 import 'package:html5lib/parser.dart'; | 6 import 'package:html5lib/parser.dart'; |
7 import 'package:html5lib/src/constants.dart'; | 7 import 'package:html5lib/src/constants.dart'; |
8 import 'package:html5lib/src/treebuilder.dart'; | 8 import 'package:html5lib/src/treebuilder.dart'; |
9 | 9 |
10 main() { | 10 main() { |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 expect(error.errorCode, 'unexpected-doctype'); | 46 expect(error.errorCode, 'unexpected-doctype'); |
47 | 47 |
48 // Note: these values are 0-based, but the printed format is 1-based. | 48 // Note: these values are 0-based, but the printed format is 1-based. |
49 expect(error.span.start.line, 3); | 49 expect(error.span.start.line, 3); |
50 expect(error.span.end.line, 3); | 50 expect(error.span.end.line, 3); |
51 expect(error.span.start.column, 2); | 51 expect(error.span.start.column, 2); |
52 expect(error.span.end.column, 17); | 52 expect(error.span.end.column, 17); |
53 expect(error.span.text, '<!DOCTYPE html>'); | 53 expect(error.span.text, '<!DOCTYPE html>'); |
54 | 54 |
55 expect(error.toString(), ''' | 55 expect(error.toString(), ''' |
56 ParseError:4:3: Unexpected DOCTYPE. Ignored. | 56 On line 4, column 3 of ParseError: Unexpected DOCTYPE. Ignored. |
57 <!DOCTYPE html> | 57 <!DOCTYPE html> |
58 ^^^^^^^^^^^^^^^'''); | 58 ^^^^^^^^^^^^^^^'''); |
59 }); | 59 }); |
60 | 60 |
61 test('parse error spans - minimal', () { | 61 test('parse error spans - minimal', () { |
62 var parser = new HtmlParser(''' | 62 var parser = new HtmlParser(''' |
63 <!DOCTYPE html> | 63 <!DOCTYPE html> |
64 <html> | 64 <html> |
65 <body> | 65 <body> |
66 <!DOCTYPE html> | 66 <!DOCTYPE html> |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
238 | 238 |
239 test('error printing without spans', () { | 239 test('error printing without spans', () { |
240 var parser = new HtmlParser('foo'); | 240 var parser = new HtmlParser('foo'); |
241 var doc = parser.parse(); | 241 var doc = parser.parse(); |
242 expect(doc.body.innerHtml, 'foo'); | 242 expect(doc.body.innerHtml, 'foo'); |
243 expect(parser.errors.length, 1); | 243 expect(parser.errors.length, 1); |
244 expect(parser.errors[0].errorCode, 'expected-doctype-but-got-chars'); | 244 expect(parser.errors[0].errorCode, 'expected-doctype-but-got-chars'); |
245 expect(parser.errors[0].message, | 245 expect(parser.errors[0].message, |
246 'Unexpected non-space characters. Expected DOCTYPE.'); | 246 'Unexpected non-space characters. Expected DOCTYPE.'); |
247 expect(parser.errors[0].toString(), | 247 expect(parser.errors[0].toString(), |
248 'ParserError:1:4: Unexpected non-space characters. ' | 248 'ParserError on line 1, column 4: Unexpected non-space characters. ' |
249 'Expected DOCTYPE.'); | 249 'Expected DOCTYPE.'); |
250 }); | 250 }); |
251 | 251 |
252 test('Element.text', () { | 252 test('Element.text', () { |
253 var doc = parseFragment('<div>foo<div>bar</div>baz</div>'); | 253 var doc = parseFragment('<div>foo<div>bar</div>baz</div>'); |
254 var e = doc.firstChild; | 254 var e = doc.firstChild; |
255 var text = e.firstChild; | 255 var text = e.firstChild; |
256 expect((text as Text).data, 'foo'); | 256 expect((text as Text).data, 'foo'); |
257 expect(e.text, 'foobarbaz'); | 257 expect(e.text, 'foobarbaz'); |
258 | 258 |
(...skipping 24 matching lines...) Expand all Loading... |
283 expect((c as Comment).data, 'foo'); | 283 expect((c as Comment).data, 'foo'); |
284 expect(c.text, 'foo'); | 284 expect(c.text, 'foo'); |
285 expect(e.text, 'bar'); | 285 expect(e.text, 'bar'); |
286 | 286 |
287 c.text = 'qux'; | 287 c.text = 'qux'; |
288 expect(c.data, 'qux'); | 288 expect(c.data, 'qux'); |
289 expect(c.text, 'qux'); | 289 expect(c.text, 'qux'); |
290 expect(e.text, 'bar'); | 290 expect(e.text, 'bar'); |
291 }); | 291 }); |
292 } | 292 } |
OLD | NEW |