Commit 2ecb8675 authored by Barry Warsaw's avatar Barry Warsaw

The ansi_x3.4_1968 encoding is an alias for ascii, but isn't known in

Python 2.1.3.  However it's required by the email tests suite, so poke
it into the encodings aliases if it's missing.  The is apparently the
approved API for doing so.

Now we can remove the hexversion shortcircuits in the test suite.
parent f05f45a0
...@@ -59,3 +59,12 @@ def message_from_file(fp, _class=None, strict=False): ...@@ -59,3 +59,12 @@ def message_from_file(fp, _class=None, strict=False):
from email.Message import Message from email.Message import Message
_class = Message _class = Message
return Parser(_class, strict=strict).parse(fp) return Parser(_class, strict=strict).parse(fp)
# Patch encodings.aliases to recognize 'ansi_x3.4_1968' which isn't a standard
# alias in Python 2.1.3, but is used by the email package test suite.
from encodings.aliases import aliases # The aliases dictionary
if not aliases.has_key('ansi_x3.4_1968'):
aliases['ansi_x3.4_1968'] = 'ascii'
del aliases # Not needed any more
...@@ -1470,12 +1470,6 @@ class TestIdempotent(TestEmailBase): ...@@ -1470,12 +1470,6 @@ class TestIdempotent(TestEmailBase):
self._idempotent(msg, text) self._idempotent(msg, text)
def test_more_rfc2231_parameters(self): def test_more_rfc2231_parameters(self):
# BAW: What to do about this. Python 2.1 doesn't know about the
# charset ansi-x3.4-1968, so this test will fail. Do we teach Python
# about that charset, and if so, where (maybe Charset.py)? For now,
# just skip this test if we aren't at least in Python 2.2.
if sys.hexversion < 0x20200000:
return
msg, text = self._msgobj('msg_33.txt') msg, text = self._msgobj('msg_33.txt')
self._idempotent(msg, text) self._idempotent(msg, text)
...@@ -2258,12 +2252,6 @@ Do you like this message? ...@@ -2258,12 +2252,6 @@ Do you like this message?
""") """)
def test_rfc2231_get_content_charset(self): def test_rfc2231_get_content_charset(self):
# BAW: What to do about this. Python 2.1 doesn't know about the
# charset ansi-x3.4-1968, so this test will fail. Do we teach Python
# about that charset, and if so, where (maybe Charset.py)? For now,
# just skip this test if we aren't at least in Python 2.2.
if sys.hexversion < 0x20200000:
return
eq = self.assertEqual eq = self.assertEqual
msg = self._msgobj('msg_32.txt') msg = self._msgobj('msg_32.txt')
eq(msg.get_content_charset(), 'us-ascii') eq(msg.get_content_charset(), 'us-ascii')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment