aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorIlya Etingof <etingof@gmail.com>2017-09-20 22:18:12 +0200
committerIlya Etingof <etingof@gmail.com>2017-09-20 22:20:33 +0200
commit4e00eba76716cb4c546b1d81b1357927ca6e5a93 (patch)
treeddf680f8109bcca74c61abac192b880f271e30e7 /tests
parentfc87382dd490810c6a4ba2cf803703b7f557dee2 (diff)
downloadpyasn1-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.py20
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)