aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/test/testEnumExt.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/testEnumExt.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/testEnumExt.erl')
-rw-r--r--lib/asn1/test/testEnumExt.erl55
1 files changed, 19 insertions, 36 deletions
diff --git a/lib/asn1/test/testEnumExt.erl b/lib/asn1/test/testEnumExt.erl
index bb975a1d13..0811f20571 100644
--- a/lib/asn1/test/testEnumExt.erl
+++ b/lib/asn1/test/testEnumExt.erl
@@ -25,58 +25,41 @@
main(Rule) when Rule =:= per; Rule =:= uper ->
io:format("main(~p)~n",[Rule]),
- B32=[32],B64=[64],
+
%% ENUMERATED with extensionmark (value is in root set)
- ?line {ok,B32} = asn1_wrapper:encode('EnumExt','Ext',red),
- ?line {ok,red} = asn1_wrapper:decode('EnumExt','Ext',B32),
+ B32 = <<32>>,
+ B32 = roundtrip('Ext', red),
%% ENUMERATED with extensionmark (value is an extensionvalue)
- ?line {ok,Or} = asn1_wrapper:encode('EnumExt','Ext1',orange),
- ?line {ok,orange} = asn1_wrapper:decode('EnumExt','Ext1',Or),
+ Or = roundtrip('Ext1', orange),
%% unknown extensionvalue
- ?line {ok,{asn1_enum,0}} = asn1_wrapper:decode('EnumExt','Ext',Or),
-
+ {ok,{asn1_enum,0}} = asn1_wrapper:decode('EnumExt','Ext',Or),
%% ENUMERATED no extensionmark
- ?line {ok,B64} = asn1_wrapper:encode('EnumExt','Noext',red),
- ?line {ok,red} = asn1_wrapper:decode('EnumExt','Noext',B64),
+ B64 = <<64>>,
+ B64 = roundtrip('Noext', red),
ok;
main(ber) ->
io:format("main(ber)~n",[]),
%% ENUMERATED with extensionmark (value is in root set)
- ?line {ok,Bytes1} = asn1_wrapper:encode('EnumExt','Ext',red),
- ?line {ok,red} = asn1_wrapper:decode('EnumExt','Ext',lists:flatten(Bytes1)),
+ roundtrip('Ext', red),
%% value is an extensionvalue
- ?line {ok,Bytes1_1} = asn1_wrapper:encode('EnumExt','Ext1',orange),
- ?line {ok,{asn1_enum,7}} = asn1_wrapper:decode('EnumExt','Ext',lists:flatten(Bytes1_1)),
-%% ?line {ok,Bytes1_1} = asn1_wrapper:encode('EnumExt','Ext',{asn1_enum,7}),
+ {ok,Bytes1_1} = asn1_wrapper:encode('EnumExt','Ext1',orange),
+ {ok,{asn1_enum,7}} = asn1_wrapper:decode('EnumExt','Ext',lists:flatten(Bytes1_1)),
- %% ENUMERATED no extensionmark
- ?line {ok,Bytes2} = asn1_wrapper:encode('EnumExt','Noext',red),
- ?line {ok,red} = asn1_wrapper:decode('EnumExt','Noext',lists:flatten(Bytes2)),
+ %% ENUMERATED no extensionmark
+ roundtrip('Noext', red),
?line {error,{asn1,_}} = (catch asn1_wrapper:encode('EnumExt','Noext',orange)),
-%% ?line {error,{asn1,_}} = (catch asn1_wrapper:encode('EnumExt','Noext',{asn1_enum,7})),
- ok,
%% ENUMERATED with atom 'com'
- ?line {ok,Bytes3} = asn1_wrapper:encode('EnumExt','Globalstate',{'Globalstate',preop}),
- ?line {ok,preop} = asn1_wrapper:decode('EnumExt','Globalstate',
- lists:flatten(Bytes3)),
- ?line {ok,Bytes4} = asn1_wrapper:encode('EnumExt','Globalstate',{'Globalstate',com}),
- ?line {ok,com} = asn1_wrapper:decode('EnumExt','Globalstate',
- lists:flatten(Bytes4)).
-
-
-
-
-
-
-
-
-
-
-
+ roundtrip('Globalstate', preop),
+ roundtrip('Globalstate', com),
+ ok.
+roundtrip(Type, Value) ->
+ {ok,Encoded} = 'EnumExt':encode(Type, Value),
+ {ok,Value} = 'EnumExt':decode(Type, Encoded),
+ Encoded.