diff options
author | elie <elie> | 2015-04-26 13:41:00 +0000 |
---|---|---|
committer | elie <elie> | 2015-04-26 13:41:00 +0000 |
commit | 6490109a602c998098c41dd5d7fb01ae6c4e3871 (patch) | |
tree | 36f14169544e4e59d87376316ae0a554fc26ac92 | |
parent | dd0989a290c264585c4a042b949fcbf666326b7c (diff) | |
download | pyasn1-6490109a602c998098c41dd5d7fb01ae6c4e3871.tar.gz |
compatibility fixes to Python versions support
-rw-r--r-- | pyasn1/type/univ.py | 2 | ||||
-rw-r--r-- | test/codec/ber/test_decoder.py | 11 | ||||
-rw-r--r-- | test/codec/ber/test_encoder.py | 13 |
3 files changed, 14 insertions, 12 deletions
diff --git a/pyasn1/type/univ.py b/pyasn1/type/univ.py index 2897e64..f4bff81 100644 --- a/pyasn1/type/univ.py +++ b/pyasn1/type/univ.py @@ -335,7 +335,7 @@ class OctetString(base.AbstractSimpleAsn1Item): elif isinstance(value, unicode): try: return value.encode(self._encoding) - except UnicodeEncodeError: + except (LookupError, UnicodeEncodeError): raise error.PyAsn1Error( 'Can\'t encode string \'%s\' with \'%s\' codec' % (value, self._encoding) ) diff --git a/test/codec/ber/test_decoder.py b/test/codec/ber/test_decoder.py index 85915d9..f52997a 100644 --- a/test/codec/ber/test_decoder.py +++ b/test/codec/ber/test_decoder.py @@ -397,17 +397,18 @@ class RealDecoderTestCase(unittest.TestCase): else: assert 0, 'accepted too-short real' -class UniversalStringDecoderTestCase(unittest.TestCase): - def testDecoder(self): - assert decoder.decode(ints2octs((28, 12, 0, 0, 0, 97, 0, 0, 0, 98, 0, 0, 0, 99))) == (char.UniversalString(u'abc'), null) +if version_info[0:2] > (2, 5): + class UniversalStringDecoderTestCase(unittest.TestCase): + def testDecoder(self): + assert decoder.decode(ints2octs((28, 12, 0, 0, 0, 97, 0, 0, 0, 98, 0, 0, 0, 99))) == (char.UniversalString(version_info[0] == 3 and 'abc' or unicode('abc')), null) class BMPStringDecoderTestCase(unittest.TestCase): def testDecoder(self): - assert decoder.decode(ints2octs((30, 6, 0, 97, 0, 98, 0, 99))) == (char.BMPString(u'abc'), null) + assert decoder.decode(ints2octs((30, 6, 0, 97, 0, 98, 0, 99))) == (char.BMPString(version_info[0] == 3 and 'abc' or unicode('abc')), null) class UTF8StringDecoderTestCase(unittest.TestCase): def testDecoder(self): - assert decoder.decode(ints2octs((12, 3, 97, 98, 99))) == (char.UTF8String(u'abc'), null) + assert decoder.decode(ints2octs((12, 3, 97, 98, 99))) == (char.UTF8String(version_info[0] == 3 and 'abc' or unicode('abc')), null) class SequenceDecoderTestCase(unittest.TestCase): def setUp(self): diff --git a/test/codec/ber/test_encoder.py b/test/codec/ber/test_encoder.py index d1441b1..cd064b6 100644 --- a/test/codec/ber/test_encoder.py +++ b/test/codec/ber/test_encoder.py @@ -293,18 +293,19 @@ class RealEncoderTestCase(unittest.TestCase): def testZero(self): assert encoder.encode(univ.Real(0)) == ints2octs((9, 0)) - -class UniversalStringEncoderTestCase(unittest.TestCase): - def testEncoding(self): - assert encoder.encode(char.UniversalString(u'abc')) == ints2octs((28, 12, 0, 0, 0, 97, 0, 0, 0, 98, 0, 0, 0, 99)), 'Incorrect encoding' + +if version_info[0:2] > (2, 5): + class UniversalStringEncoderTestCase(unittest.TestCase): + def testEncoding(self): + assert encoder.encode(char.UniversalString(version_info[0] == 3 and 'abc' or unicode('abc'))) == ints2octs((28, 12, 0, 0, 0, 97, 0, 0, 0, 98, 0, 0, 0, 99)), 'Incorrect encoding' class BMPStringEncoderTestCase(unittest.TestCase): def testEncoding(self): - assert encoder.encode(char.BMPString(u'abc')) == ints2octs((30, 6, 0, 97, 0, 98, 0, 99)), 'Incorrect encoding' + assert encoder.encode(char.BMPString(version_info[0] == 3 and 'abc' or unicode('abc'))) == ints2octs((30, 6, 0, 97, 0, 98, 0, 99)), 'Incorrect encoding' class UTF8StringEncoderTestCase(unittest.TestCase): def testEncoding(self): - assert encoder.encode(char.UTF8String(u'abc')) == ints2octs((12, 3, 97, 98, 99)), 'Incorrect encoding' + assert encoder.encode(char.UTF8String(version_info[0] == 3 and 'abc' or unicode('abc'))) == ints2octs((12, 3, 97, 98, 99)), 'Incorrect encoding' class SequenceEncoderTestCase(unittest.TestCase): def setUp(self): |