@@ -1271,12 +1271,12 @@ class TestAddressHeader(TestHeaderBase):
12711271 'example.com' ,
12721272 None ),
12731273
1274- }
1275-
12761274 # XXX: Need many more examples, and in particular some with names in
12771275 # trailing comments, which aren't currently handled. comments in
12781276 # general are not handled yet.
12791277
1278+ }
1279+
12801280 def example_as_address (self , source , defects , decoded , display_name ,
12811281 addr_spec , username , domain , comment ):
12821282 h = self .make_header ('sender' , source )
@@ -1294,6 +1294,43 @@ def example_as_address(self, source, defects, decoded, display_name,
12941294 # XXX: we have no comment support yet.
12951295 #self.assertEqual(a.comment, comment)
12961296
1297+ example_broken_header_params = {
1298+
1299+ 'just_dquote' :
1300+ ('"' ,
1301+ [errors .InvalidHeaderDefect ]* 2 ,
1302+ '<>' ,
1303+ '' ,
1304+ '<>' ,
1305+ '' ,
1306+ '' ,
1307+ ),
1308+
1309+ }
1310+
1311+ def example_broken_header_as_address (
1312+ self ,
1313+ source ,
1314+ defects ,
1315+ decoded ,
1316+ display_name ,
1317+ addr_spec ,
1318+ username ,
1319+ domain ,
1320+ ):
1321+ h = self .make_header ('sender' , source )
1322+ self .assertEqual (h , decoded )
1323+ self .assertDefectsEqual (h .defects , defects )
1324+ a = h .address
1325+ self .assertEqual (str (a ), decoded )
1326+ self .assertEqual (len (h .groups ), 1 )
1327+ self .assertEqual ([a ], list (h .groups [0 ].addresses ))
1328+ self .assertEqual ([a ], list (h .addresses ))
1329+ self .assertEqual (a .display_name , display_name )
1330+ self .assertEqual (a .addr_spec , addr_spec )
1331+ self .assertEqual (a .username , username )
1332+ self .assertEqual (a .domain , domain )
1333+
12971334 def example_as_group (self , source , defects , decoded , display_name ,
12981335 addr_spec , username , domain , comment ):
12991336 source = 'foo: {};' .format (source )
0 commit comments