summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelie <elie>2013-01-28 08:13:46 +0000
committerelie <elie>2013-01-28 08:13:46 +0000
commit0556ef80a26281cbc843e1f1c005d3441d050999 (patch)
tree0a1e241deeffa563d746813b9f4d3e1bf0649ba4
parentff8afb479a5f2da83f67e41708496e494a5fad2e (diff)
downloadpyasn1-0556ef80a26281cbc843e1f1c005d3441d050999.tar.gz
some more CHOICE codec test cases added
-rw-r--r--test/codec/ber/encoder.py18
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')))