diff options
author | elie <elie> | 2013-01-28 08:13:46 +0000 |
---|---|---|
committer | elie <elie> | 2013-01-28 08:13:46 +0000 |
commit | 0556ef80a26281cbc843e1f1c005d3441d050999 (patch) | |
tree | 0a1e241deeffa563d746813b9f4d3e1bf0649ba4 | |
parent | ff8afb479a5f2da83f67e41708496e494a5fad2e (diff) | |
download | pyasn1-0556ef80a26281cbc843e1f1c005d3441d050999.tar.gz |
some more CHOICE codec test cases added
-rw-r--r-- | test/codec/ber/encoder.py | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/test/codec/ber/encoder.py b/test/codec/ber/encoder.py index 0b95943..87ab038 100644 --- a/test/codec/ber/encoder.py +++ b/test/codec/ber/encoder.py @@ -279,7 +279,8 @@ class ChoiceEncoderTestCase(unittest.TestCase): def setUp(self): self.s = univ.Choice(componentType=namedtype.NamedTypes( namedtype.NamedType('place-holder', univ.Null('')), - namedtype.NamedType('number', univ.Integer(0)) + namedtype.NamedType('number', univ.Integer(0)), + namedtype.NamedType('string', univ.OctetString()) )) def testEmpty(self): @@ -296,11 +297,22 @@ class ChoiceEncoderTestCase(unittest.TestCase): def testTagged(self): s = self.s.subtype( - explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 4) - ) + explicitTag=tag.Tag(tag.tagClassContext,tag.tagFormatConstructed,4) + ) s.setComponentByPosition(0, univ.Null('')) assert encoder.encode(s) == ints2octs((164, 2, 5, 0)) + def testUndefLength(self): + self.s.setComponentByPosition(2, univ.OctetString('abcdefgh')) + assert encoder.encode(self.s, defMode=False, maxChunkSize=3) == ints2octs((36, 128, 4, 3, 97, 98, 99, 4, 3, 100, 101, 102, 4, 2, 103, 104, 0, 0)) + + def testTaggedUndefLength(self): + s = self.s.subtype( + explicitTag=tag.Tag(tag.tagClassContext,tag.tagFormatConstructed,4) + ) + s.setComponentByPosition(2, univ.OctetString('abcdefgh')) + assert encoder.encode(s, defMode=False, maxChunkSize=3) == ints2octs((164, 128, 36, 128, 4, 3, 97, 98, 99, 4, 3, 100, 101, 102, 4, 2, 103, 104, 0, 0, 0, 0)) + class AnyEncoderTestCase(unittest.TestCase): def setUp(self): self.s = univ.Any(encoder.encode(univ.OctetString('fox'))) |