@@ -490,6 +490,10 @@ def test_get_bare_quoted_string_must_start_with_dquote(self): |
|
|
490 |
490 |
with self.assertRaises(errors.HeaderParseError): |
491 |
491 |
parser.get_bare_quoted_string(' "foo"') |
492 |
492 |
|
|
493 |
+def test_get_bare_quoted_string_only_quotes(self): |
|
494 |
+self._test_get_x(parser.get_bare_quoted_string, |
|
495 |
+'""', '""', '', [], '') |
|
496 |
+ |
493 |
497 |
def test_get_bare_quoted_string_following_wsp_preserved(self): |
494 |
498 |
self._test_get_x(parser.get_bare_quoted_string, |
495 |
499 |
'"foo"\t bar', '"foo"', 'foo', [], '\t bar') |
@@ -1467,6 +1471,19 @@ def test_get_angle_addr_empty(self): |
|
|
1467 |
1471 |
self.assertIsNone(angle_addr.route) |
1468 |
1472 |
self.assertEqual(angle_addr.addr_spec, '<>') |
1469 |
1473 |
|
|
1474 |
+def test_get_angle_addr_qs_only_quotes(self): |
|
1475 |
+angle_addr = self._test_get_x(parser.get_angle_addr, |
|
1476 |
+'<""@example.com>', |
|
1477 |
+'<""@example.com>', |
|
1478 |
+'<""@example.com>', |
|
1479 |
+ [], |
|
1480 |
+'') |
|
1481 |
+self.assertEqual(angle_addr.token_type, 'angle-addr') |
|
1482 |
+self.assertEqual(angle_addr.local_part, '') |
|
1483 |
+self.assertEqual(angle_addr.domain, 'example.com') |
|
1484 |
+self.assertIsNone(angle_addr.route) |
|
1485 |
+self.assertEqual(angle_addr.addr_spec, '""@example.com') |
|
1486 |
+ |
1470 |
1487 |
def test_get_angle_addr_with_cfws(self): |
1471 |
1488 |
angle_addr = self._test_get_x(parser.get_angle_addr, |
1472 |
1489 |
' (foo) dinsdale@example.com(bar)', |