diff options
author | R David Murray <rdmurray@bitdance.com> | 2012-03-14 19:31:47 (GMT) |
---|---|---|
committer | R David Murray <rdmurray@bitdance.com> | 2012-03-14 19:31:47 (GMT) |
commit | b53319f509be7389187a943122de9e6b479a8bf9 (patch) | |
tree | 610aa2d78a35a9bc780ab34f8e12064dd618d506 /Lib/test/test_email | |
parent | 345266aa7e7fdbb1bbf3ffd244caff39406d46d2 (diff) | |
download | cpython-b53319f509be7389187a943122de9e6b479a8bf9.zip cpython-b53319f509be7389187a943122de9e6b479a8bf9.tar.gz cpython-b53319f509be7389187a943122de9e6b479a8bf9.tar.bz2 |
#12818: remove escaping of () in quoted strings in formataddr
The quoting of ()s inside quoted strings is allowed by the RFC, but is not
needed. There seems to be no reason to add needless escapes.
Diffstat (limited to 'Lib/test/test_email')
-rw-r--r-- | Lib/test/test_email/test_email.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/Lib/test/test_email/test_email.py b/Lib/test/test_email/test_email.py index 1f354c2..08a49f8 100644 --- a/Lib/test/test_email/test_email.py +++ b/Lib/test/test_email/test_email.py @@ -2702,7 +2702,10 @@ class TestMiscellaneous(TestEmailBase): def test_escape_dump(self): self.assertEqual( utils.formataddr(('A (Very) Silly Person', 'person@dom.ain')), - r'"A \(Very\) Silly Person" <person@dom.ain>') + r'"A (Very) Silly Person" <person@dom.ain>') + self.assertEqual( + utils.parseaddr(r'"A \(Very\) Silly Person" <person@dom.ain>'), + ('A (Very) Silly Person', 'person@dom.ain')) a = r'A \(Special\) Person' b = 'person@dom.ain' self.assertEqual(utils.parseaddr(utils.formataddr((a, b))), (a, b)) @@ -2800,6 +2803,15 @@ class TestMiscellaneous(TestEmailBase): self.assertEqual(('', 'merwok.wok.wok@xample.com'), utils.parseaddr('merwok. wok . wok@xample.com')) + def test_formataddr_does_not_quote_parens_in_quoted_string(self): + addr = ("'foo@example.com' (foo@example.com)", + 'foo@example.com') + addrstr = ('"\'foo@example.com\' ' + '(foo@example.com)" <foo@example.com>') + self.assertEqual(utils.parseaddr(addrstr), addr) + self.assertEqual(utils.formataddr(addr), addrstr) + + def test_multiline_from_comment(self): x = """\ Foo |