@@ -231,6 +231,11 @@ def test_starttag_junk_chars(self):
231231 self ._parse_error ("<a foo='bar" )
232232 self ._parse_error ("<a foo='>'" )
233233 self ._parse_error ("<a foo='>" )
234+ self ._parse_error ("<a$>" )
235+ self ._parse_error ("<a$b>" )
236+ self ._parse_error ("<a$b/>" )
237+ self ._parse_error ("<a$b >" )
238+ self ._parse_error ("<a$b />" )
234239
235240 def test_valid_doctypes (self ):
236241 # from http://www.w3.org/QA/2002/04/valid-dtd-list.html
@@ -379,8 +384,8 @@ def test_tolerant_parsing(self):
379384 ('starttag' , 'html' , [('<html' , None )]),
380385 ('data' , 'te>>xt' ),
381386 ('entityref' , 'a' ),
382- ('data' , '<<bc ' ),
383- ('endtag ' , 'a' ),
387+ ('data' , '<' ),
388+ ('starttag ' , 'bc<' , [( 'a' , None )] ),
384389 ('endtag' , 'html' ),
385390 ('data' , '\n <img src="URL>' ),
386391 ('comment' , '/img' ),
@@ -391,15 +396,19 @@ def test_starttag_junk_chars(self):
391396 self ._run_check ("</$>" , [('comment' , '$' )])
392397 self ._run_check ("</" , [('data' , '</' )])
393398 self ._run_check ("</a" , [('data' , '</a' )])
394- # XXX this might be wrong
395- self ._run_check ("<a<a>" , [('data' , '<a' ), ('starttag' , 'a' , [])])
399+ self ._run_check ("<a<a>" , [('starttag' , 'a<a' , [])])
396400 self ._run_check ("</a<a>" , [('endtag' , 'a<a' )])
397401 self ._run_check ("<!" , [('data' , '<!' )])
398402 self ._run_check ("<a" , [('data' , '<a' )])
399403 self ._run_check ("<a foo='bar'" , [('data' , "<a foo='bar'" )])
400404 self ._run_check ("<a foo='bar" , [('data' , "<a foo='bar" )])
401405 self ._run_check ("<a foo='>'" , [('data' , "<a foo='>'" )])
402406 self ._run_check ("<a foo='>" , [('data' , "<a foo='>" )])
407+ self ._run_check ("<a$>" , [('starttag' , 'a$' , [])])
408+ self ._run_check ("<a$b>" , [('starttag' , 'a$b' , [])])
409+ self ._run_check ("<a$b/>" , [('startendtag' , 'a$b' , [])])
410+ self ._run_check ("<a$b >" , [('starttag' , 'a$b' , [])])
411+ self ._run_check ("<a$b />" , [('startendtag' , 'a$b' , [])])
403412
404413 def test_slashes_in_starttag (self ):
405414 self ._run_check ('<a foo="var"/>' , [('startendtag' , 'a' , [('foo' , 'var' )])])
0 commit comments