diff options
Diffstat (limited to 'Lib/test/test_email/test_headerregistry.py')
| -rw-r--r-- | Lib/test/test_email/test_headerregistry.py | 26 | 
1 files changed, 8 insertions, 18 deletions
| diff --git a/Lib/test/test_email/test_headerregistry.py b/Lib/test/test_email/test_headerregistry.py index e6fe29b..4a57ff1 100644 --- a/Lib/test/test_email/test_headerregistry.py +++ b/Lib/test/test_email/test_headerregistry.py @@ -4,7 +4,7 @@ import unittest  from email import errors  from email import policy  from email.message import Message -from test.test_email import TestEmailBase +from test.test_email import TestEmailBase, Parameterized  from email import headerregistry  from email.headerregistry import Address, Group @@ -175,9 +175,9 @@ class TestDateHeader(TestHeaderBase):          self.assertEqual(m['Date'].datetime, self.dt) -class TestAddressHeader(TestHeaderBase): +class TestAddressHeader(TestHeaderBase, metaclass=Parameterized): -    examples = { +    example_params = {          'empty':              ('<>', @@ -305,8 +305,8 @@ class TestAddressHeader(TestHeaderBase):          # trailing comments, which aren't currently handled.  comments in          # general are not handled yet. -    def _test_single_addr(self, source, defects, decoded, display_name, -                          addr_spec, username, domain, comment): +    def example_as_address(self, source, defects, decoded, display_name, +                           addr_spec, username, domain, comment):          h = self.make_header('sender', source)          self.assertEqual(h, decoded)          self.assertDefectsEqual(h.defects, defects) @@ -322,13 +322,8 @@ class TestAddressHeader(TestHeaderBase):          # XXX: we have no comment support yet.          #self.assertEqual(a.comment, comment) -    for name in examples: -        locals()['test_'+name] = ( -            lambda self, name=name: -                self._test_single_addr(*self.examples[name])) - -    def _test_group_single_addr(self, source, defects, decoded, display_name, -                                addr_spec, username, domain, comment): +    def example_as_group(self, source, defects, decoded, display_name, +                         addr_spec, username, domain, comment):          source = 'foo: {};'.format(source)          gdecoded = 'foo: {};'.format(decoded) if decoded else 'foo:;'          h = self.make_header('to', source) @@ -344,11 +339,6 @@ class TestAddressHeader(TestHeaderBase):          self.assertEqual(a.username, username)          self.assertEqual(a.domain, domain) -    for name in examples: -        locals()['test_group_'+name] = ( -            lambda self, name=name: -                self._test_group_single_addr(*self.examples[name])) -      def test_simple_address_list(self):          value = ('Fred <dinsdale@python.org>, foo@example.com, '                      '"Harry W. Hastings" <hasty@example.com>') @@ -366,7 +356,7 @@ class TestAddressHeader(TestHeaderBase):              'Harry W. Hastings')      def test_complex_address_list(self): -        examples = list(self.examples.values()) +        examples = list(self.example_params.values())          source = ('dummy list:;, another: (empty);,' +                   ', '.join([x[0] for x in examples[:4]]) + ', ' +                   r'"A \"list\"": ' + | 
