diff options
author | Ilya Etingof <etingof@gmail.com> | 2017-09-20 22:18:12 +0200 |
---|---|---|
committer | Ilya Etingof <etingof@gmail.com> | 2017-09-20 22:20:33 +0200 |
commit | 4e00eba76716cb4c546b1d81b1357927ca6e5a93 (patch) | |
tree | ddf680f8109bcca74c61abac192b880f271e30e7 /tests | |
parent | fc87382dd490810c6a4ba2cf803703b7f557dee2 (diff) | |
download | pyasn1-git-4e00eba76716cb4c546b1d81b1357927ca6e5a93.tar.gz |
fixed crash on exp tagged Sequence component encoding (#79)
Also EOO encoder call replaced with a constant outcome
Diffstat (limited to 'tests')
-rw-r--r-- | tests/codec/ber/test_encoder.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/codec/ber/test_encoder.py b/tests/codec/ber/test_encoder.py index 094ca85..78cb841 100644 --- a/tests/codec/ber/test_encoder.py +++ b/tests/codec/ber/test_encoder.py @@ -863,6 +863,26 @@ class ExpTaggedSequenceEncoderTestCase(BaseTestCase): ) == ints2octs((101, 128, 48, 128, 2, 1, 12, 0, 0, 0, 0)) +class ExpTaggedSequenceComponentEncoderTestCase(BaseTestCase): + def setUp(self): + BaseTestCase.setUp(self) + self.s = univ.Sequence( + componentType=namedtype.NamedTypes( + namedtype.NamedType('number', univ.Boolean().subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), + ) + ) + + self.s[0] = True + + def testDefMode(self): + assert encoder.encode(self.s) == ints2octs((48, 5, 160, 3, 1, 1, 1)) + + def testIndefMode(self): + assert encoder.encode( + self.s, defMode=False + ) == ints2octs((48, 128, 160, 3, 1, 1, 1, 0, 0, 0, 0)) + + class SetEncoderTestCase(BaseTestCase): def setUp(self): BaseTestCase.setUp(self) |