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:html/dom.dart'; | 5 import 'package:html/dom.dart'; |
6 import 'package:html/parser.dart'; | 6 import 'package:html/parser.dart'; |
7 import 'package:html/src/constants.dart'; | 7 import 'package:html/src/constants.dart'; |
8 import 'package:html/src/encoding_parser.dart'; | 8 import 'package:html/src/encoding_parser.dart'; |
9 import 'package:html/src/treebuilder.dart'; | 9 import 'package:html/src/treebuilder.dart'; |
10 import 'package:source_span/source_span.dart'; | 10 import 'package:source_span/source_span.dart'; |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
244 var doc = parser.parse(); | 244 var doc = parser.parse(); |
245 expect(doc.body.innerHtml, 'foo'); | 245 expect(doc.body.innerHtml, 'foo'); |
246 expect(parser.errors.length, 1); | 246 expect(parser.errors.length, 1); |
247 expect(parser.errors[0].errorCode, 'expected-doctype-but-got-chars'); | 247 expect(parser.errors[0].errorCode, 'expected-doctype-but-got-chars'); |
248 expect(parser.errors[0].message, | 248 expect(parser.errors[0].message, |
249 'Unexpected non-space characters. Expected DOCTYPE.'); | 249 'Unexpected non-space characters. Expected DOCTYPE.'); |
250 expect(parser.errors[0].toString(), | 250 expect(parser.errors[0].toString(), |
251 'ParserError on line 1, column 4: Unexpected non-space characters. ' | 251 'ParserError on line 1, column 4: Unexpected non-space characters. ' |
252 'Expected DOCTYPE.\n' | 252 'Expected DOCTYPE.\n' |
253 'foo\n' | 253 'foo\n' |
254 ' ^'); | 254 ' ^'); |
255 }); | 255 }); |
256 | 256 |
257 test('Element.text', () { | 257 test('Element.text', () { |
258 var doc = parseFragment('<div>foo<div>bar</div>baz</div>'); | 258 var doc = parseFragment('<div>foo<div>bar</div>baz</div>'); |
259 var e = doc.firstChild; | 259 var e = doc.firstChild; |
260 var text = e.firstChild; | 260 var text = e.firstChild; |
261 expect((text as Text).data, 'foo'); | 261 expect((text as Text).data, 'foo'); |
262 expect(e.text, 'foobarbaz'); | 262 expect(e.text, 'foobarbaz'); |
263 | 263 |
264 e.text = 'FOO'; | 264 e.text = 'FOO'; |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
467 assertSpan(elem.endSourceSpan, 38, 49, '</optgroup>'); | 467 assertSpan(elem.endSourceSpan, 38, 49, '</optgroup>'); |
468 } | 468 } |
469 { | 469 { |
470 var elem = doc.querySelector('option'); | 470 var elem = doc.querySelector('option'); |
471 assertSpan(elem.sourceSpan, 18, 26, '<option>'); | 471 assertSpan(elem.sourceSpan, 18, 26, '<option>'); |
472 assertSpan(elem.endSourceSpan, 29, 38, '</option>'); | 472 assertSpan(elem.endSourceSpan, 29, 38, '</option>'); |
473 } | 473 } |
474 }); | 474 }); |
475 }); | 475 }); |
476 } | 476 } |
OLD | NEW |