aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/test/testChoRecursive.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2013-01-10 11:03:04 +0100
committerBjörn Gustavsson <[email protected]>2013-01-10 11:03:04 +0100
commitd07defaadc038455d3122bc7fdf2523efd2a9841 (patch)
tree48e39757174531eaea6361178ca330c592bca9c8 /lib/asn1/test/testChoRecursive.erl
parent4cd517c8168b2bdf7b38544e91afc14b535b3989 (diff)
parenta12301def60aa2c20f25eaad1299089de3375063 (diff)
downloadotp-d07defaadc038455d3122bc7fdf2523efd2a9841.tar.gz
otp-d07defaadc038455d3122bc7fdf2523efd2a9841.tar.bz2
otp-d07defaadc038455d3122bc7fdf2523efd2a9841.zip
Merge branch 'bjorn/asn1/minor-fixes'
* bjorn/asn1/minor-fixes: (21 commits) Always inline decoding of open types Eliminate code duplication per: Slightly optimize encoding of fixed OCTET STRINGs per: Fix encoding of OCTET STRINGs with fixed length of 256 or more Remove support for the {Typename,Value} notation in encoding asn1ct_parser2: Let synonyms share parsing code Add a test case for constraint equivalence Make .abs file consultable Fix a bug in skipping of extensions asn1rt_uper_bin: Correct incorrect skipping of extensions asn1 doc: Remove a reference to a section that has been removed Simplify testConstraints by introducing helper functions Simplify testCompactBitString by introducing roundtrip functions Simplify testEnumExt by introducing a roundtrip/2 function Simplify testChoExternal by introducing a roundtrip/2 function Simplify testChoRecursive by introducing a roundtrip/2 function Simplify testSeqExtension.erl by introducing a roundtrip/2 function Simplify testChoExtension by introducing a roundtrip/2 function Simplify testSetOptional by introducing a roundtrip/2 function testSetOptional: Correct test case for decoding of corrupt data ...
Diffstat (limited to 'lib/asn1/test/testChoRecursive.erl')
-rw-r--r--lib/asn1/test/testChoRecursive.erl51
1 files changed, 17 insertions, 34 deletions
diff --git a/lib/asn1/test/testChoRecursive.erl b/lib/asn1/test/testChoRecursive.erl
index 22be26cbce..ee26d124a9 100644
--- a/lib/asn1/test/testChoRecursive.erl
+++ b/lib/asn1/test/testChoRecursive.erl
@@ -28,38 +28,21 @@
-record('ChoRec2_something',{a, b, c}).
recursive(_Rules) ->
-
- ?line {ok,Bytes11} = asn1_wrapper:encode('ChoRecursive','ChoRec',{'ChoRec',{something,
- #'ChoRec_something'{a = 77,
- b = "some octets here",
- c = {'ChoRec',{nothing,'NULL'}}}}}),
- ?line {ok,{something,{'ChoRec_something',77,"some octets here",{nothing,'NULL'}}}} =
- asn1_wrapper:decode('ChoRecursive','ChoRec',lists:flatten(Bytes11)),
-
-
- ?line {ok,Bytes12} = asn1_wrapper:encode('ChoRecursive','ChoRec',{'ChoRec',{nothing,'NULL'}}),
- ?line {ok,{nothing,'NULL'}} =
- asn1_wrapper:decode('ChoRecursive','ChoRec',lists:flatten(Bytes12)),
-
-
-
- ?line {ok,Bytes21} =
- asn1_wrapper:encode('ChoRecursive','ChoRec2',{'ChoRec2',
- {something,
- #'ChoRec2_something'{a = 77,
- b = "some octets here",
- c = {'ChoRec2',
- {nothing,'NULL'}}}}}),
- ?line {ok,{something,{'ChoRec2_something',77,"some octets here",{nothing,'NULL'}}}} =
- asn1_wrapper:decode('ChoRecursive','ChoRec2',lists:flatten(Bytes21)),
-
-
- ?line {ok,Bytes22} =
- asn1_wrapper:encode('ChoRecursive','ChoRec2',{'ChoRec2',{nothing,'NULL'}}),
- ?line {ok,{nothing,'NULL'}} =
- asn1_wrapper:decode('ChoRecursive','ChoRec2',lists:flatten(Bytes22)),
-
-
-
-
+ roundtrip('ChoRec',
+ {something,
+ #'ChoRec_something'{a = 77,
+ b = "some octets here",
+ c = {nothing,'NULL'}}}),
+ roundtrip('ChoRec', {nothing,'NULL'}),
+ roundtrip('ChoRec2',
+ {something,
+ #'ChoRec2_something'{a = 77,
+ b = "some octets here",
+ c = {nothing,'NULL'}}}),
+ roundtrip('ChoRec2', {nothing,'NULL'}),
+ ok.
+
+roundtrip(Type, Value) ->
+ {ok,Encoded} = 'ChoRecursive':encode(Type, Value),
+ {ok,Value} = 'ChoRecursive':decode(Type, Encoded),
ok.