@@ -1389,11 +1389,14 @@ def test_attlist_default(self):
13891389
13901390class XMLValidationTest (unittest .TestCase ):
13911391
1392- def check (self , elem , expected = None ):
1392+ def check (self , elem ):
13931393 self .assertRaises (ValueError ,
13941394 ET .tostring , elem , validate = True )
13951395 ET .tostring (elem ) # no exception
13961396
1397+ def check_valid (self , elem , expected ):
1398+ self .assertEqual (ET .tostring (elem , validate = True ), expected )
1399+
13971400 def test_invalid_comment (self ):
13981401 self .check (ET .Comment ('a--b' ))
13991402 self .check (ET .Comment (' B+, B, or B-' ))
@@ -1403,13 +1406,19 @@ def test_invalid_processing_instruction(self):
14031406 self .check (ET .PI ('0' ))
14041407 self .check (ET .PI ('a/b' ))
14051408 self .check (ET .PI ('foo\xa0 bar' ))
1409+ self .check (ET .PI ('foo\f bar' ))
14061410 self .check (ET .PI ('xml' ))
1411+ self .check (ET .PI ('XML' ))
14071412 self .check (ET .PI ('xml' , 'encoding="UTF-8"' ))
14081413 self .check (ET .PI ('foo' , 'a?>b' ))
14091414 self .check (ET .PI ('foo' , '\x00 ' ))
14101415 self .check (ET .PI ('foo' , '\ud8ff ' ))
14111416 self .check (ET .PI ('foo' , '\ufffe ' ))
14121417
1418+ self .check_valid (ET .PI ('foo\t bar' ), b'<?foo\t bar?>' )
1419+ self .check_valid (ET .PI ('foo\n bar' ), b'<?foo\n bar?>' )
1420+ self .check_valid (ET .PI ('foo\r bar' ), b'<?foo\r bar?>' )
1421+
14131422 def test_invalid_tag (self ):
14141423 self .check (ET .Element ('' ))
14151424 self .check (ET .Element ('0' ))
@@ -1480,7 +1489,7 @@ def test_invalid_namespace_uri(self):
14801489
14811490class HTMLValidationTest (unittest .TestCase ):
14821491
1483- def check (self , elem , expected = None ):
1492+ def check (self , elem ):
14841493 self .assertRaises (ValueError ,
14851494 ET .tostring , elem , method = 'html' , validate = True )
14861495 ET .tostring (elem , method = 'html' ) # no exception
0 commit comments