| 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 |