diff options
author | Ilya Etingof <etingof@gmail.com> | 2017-09-09 22:21:36 +0200 |
---|---|---|
committer | Ilya Etingof <etingof@gmail.com> | 2017-09-09 22:21:36 +0200 |
commit | 8ae824dfe8fe0bae4b755f444b3c0be721f5e908 (patch) | |
tree | e94d168041b14e259cb23775c03e46befc32a11c /tests | |
parent | 5b7cc4f06fa264f9ee5490f63ea0f06dc29b89b3 (diff) | |
download | pyasn1-8ae824dfe8fe0bae4b755f444b3c0be721f5e908.tar.gz |
WIP: avoid coping values when encoding explicit ASN.1 tags
Diffstat (limited to 'tests')
-rw-r--r-- | tests/codec/ber/test_encoder.py | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/tests/codec/ber/test_encoder.py b/tests/codec/ber/test_encoder.py index 332b071..7935afe 100644 --- a/tests/codec/ber/test_encoder.py +++ b/tests/codec/ber/test_encoder.py @@ -142,8 +142,7 @@ class ExpTaggedOctetStringEncoderTestCase(unittest.TestCase): def testIndefModeChunked(self): assert encoder.encode( self.o, defMode=False, maxChunkSize=4 - ) == ints2octs((101, 128, 36, 128, 4, 4, 81, 117, 105, 99, 4, 4, 107, 32, 98, 114, 4, 4, 111, 119, 110, 32, 4, 3, - 102, 111, 120, 0, 0, 0, 0)) + ) == ints2octs((101, 128, 36, 128, 4, 4, 81, 117, 105, 99, 4, 4, 107, 32, 98, 114, 4, 4, 111, 119, 110, 32, 4, 3, 102, 111, 120, 0, 0, 0, 0)) class NullEncoderTestCase(unittest.TestCase): @@ -618,6 +617,31 @@ class SequenceEncoderWithSchemaTestCase(unittest.TestCase): 0, 2, 1, 1, 0, 0)) +class ExpTaggedSequenceEncoderTestCase(unittest.TestCase): + def setUp(self): + s = univ.Sequence( + componentType=namedtype.NamedTypes( + namedtype.NamedType('number', univ.Integer()), + ) + ) + + s = s.subtype( + explicitTag=tag.Tag(tag.tagClassApplication, tag.tagFormatConstructed, 5) + ) + + s[0] = 12 + + self.s = s + + def testDefMode(self): + assert encoder.encode(self.s) == ints2octs((101, 5, 48, 3, 2, 1, 12)) + + def testIndefMode(self): + assert encoder.encode( + self.s, defMode=False + ) == ints2octs((101, 128, 48, 128, 2, 1, 12, 0, 0, 0, 0)) + + class SetEncoderTestCase(unittest.TestCase): def setUp(self): self.s = univ.Set() |