]> Cypherpunks.ru repositories - pyderasn.git/blobdiff - tests/test_pyderasn.py
Check if tag's long form used in expected way
[pyderasn.git] / tests / test_pyderasn.py
index fcf8781fb50580d6f58a4dcf726be88267595067..8225fc02eaef4be07fc42093a3f28e4cbc88b933 100644 (file)
@@ -283,6 +283,12 @@ class TestTagCoder(TestCase):
         with assertRaisesRegex(self, DecodeError, "leading zero byte"):
             tag_strip(raw)
 
+    @given(tag_classes, tag_forms, integers(max_value=30, min_value=0))
+    def test_unexpected_long_form(self, klass, form, num):
+        raw = int2byte(klass | form | 31) + int2byte(num)
+        with assertRaisesRegex(self, DecodeError, "unexpected long form"):
+            tag_strip(raw)
+
 
 class TestLenCoder(TestCase):
     @settings(max_examples=LONG_TEST_MAX_EXAMPLES)