@@ -229,6 +229,11 @@ def test_starttag_junk_chars(self):
229229 self ._parse_error ("<a foo='bar" )
230230 self ._parse_error ("<a foo='>'" )
231231 self ._parse_error ("<a foo='>" )
232+ self ._parse_error ("<a$>" )
233+ self ._parse_error ("<a$b>" )
234+ self ._parse_error ("<a$b/>" )
235+ self ._parse_error ("<a$b >" )
236+ self ._parse_error ("<a$b />" )
232237
233238 def test_valid_doctypes (self ):
234239 # from http://www.w3.org/QA/2002/04/valid-dtd-list.html
@@ -368,8 +373,8 @@ def test_tolerant_parsing(self):
368373 ('starttag' , 'html' , [('<html' , None )]),
369374 ('data' , 'te>>xt' ),
370375 ('entityref' , 'a' ),
371- ('data' , '<<bc ' ),
372- ('endtag ' , 'a' ),
376+ ('data' , '<' ),
377+ ('starttag ' , 'bc<' , [( 'a' , None )] ),
373378 ('endtag' , 'html' ),
374379 ('data' , '\n <img src="URL>' ),
375380 ('comment' , '/img' ),
@@ -380,15 +385,19 @@ def test_starttag_junk_chars(self):
380385 self ._run_check ("</$>" , [('comment' , '$' )])
381386 self ._run_check ("</" , [('data' , '</' )])
382387 self ._run_check ("</a" , [('data' , '</a' )])
383- # XXX this might be wrong
384- self ._run_check ("<a<a>" , [('data' , '<a' ), ('starttag' , 'a' , [])])
388+ self ._run_check ("<a<a>" , [('starttag' , 'a<a' , [])])
385389 self ._run_check ("</a<a>" , [('endtag' , 'a<a' )])
386390 self ._run_check ("<!" , [('data' , '<!' )])
387391 self ._run_check ("<a" , [('data' , '<a' )])
388392 self ._run_check ("<a foo='bar'" , [('data' , "<a foo='bar'" )])
389393 self ._run_check ("<a foo='bar" , [('data' , "<a foo='bar" )])
390394 self ._run_check ("<a foo='>'" , [('data' , "<a foo='>'" )])
391395 self ._run_check ("<a foo='>" , [('data' , "<a foo='>" )])
396+ self ._run_check ("<a$>" , [('starttag' , 'a$' , [])])
397+ self ._run_check ("<a$b>" , [('starttag' , 'a$b' , [])])
398+ self ._run_check ("<a$b/>" , [('startendtag' , 'a$b' , [])])
399+ self ._run_check ("<a$b >" , [('starttag' , 'a$b' , [])])
400+ self ._run_check ("<a$b />" , [('startendtag' , 'a$b' , [])])
392401
393402 def test_slashes_in_starttag (self ):
394403 self ._run_check ('<a foo="var"/>' , [('startendtag' , 'a' , [('foo' , 'var' )])])
0 commit comments