diff options
author | Raimo Niskanen <[email protected]> | 2017-08-24 09:37:16 +0200 |
---|---|---|
committer | Raimo Niskanen <[email protected]> | 2017-08-24 09:37:16 +0200 |
commit | 710f9437498a8a9df62a6c7cecd6eb632561754b (patch) | |
tree | 00d7dc89d265b8e4607b22f78445dee811834876 /lib/asn1/test/testExtensionDefault.erl | |
parent | d50bc5031eb0889c894bf20f5206cfc06162f30a (diff) | |
parent | 41878bba817fc2ec9e08529afe19c2655742dbd1 (diff) | |
download | otp-710f9437498a8a9df62a6c7cecd6eb632561754b.tar.gz otp-710f9437498a8a9df62a6c7cecd6eb632561754b.tar.bz2 otp-710f9437498a8a9df62a6c7cecd6eb632561754b.zip |
Merge branch 'maint-20' into maint
* maint-20:
Updated OTP version
Prepare release
Accept non-binary options as socket-options
Bump version
Fix broken handling of default values in extensions for PER
compiler: Fix live regs update on allocate in validator
Take fail labels into account when determining liveness in block ops
Check for overflow when appending binaries, and error out with system_limit
Diffstat (limited to 'lib/asn1/test/testExtensionDefault.erl')
-rw-r--r-- | lib/asn1/test/testExtensionDefault.erl | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/lib/asn1/test/testExtensionDefault.erl b/lib/asn1/test/testExtensionDefault.erl new file mode 100644 index 0000000000..cc50fa95b8 --- /dev/null +++ b/lib/asn1/test/testExtensionDefault.erl @@ -0,0 +1,53 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2017. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%% +%% %CopyrightEnd% +%% +%% +-module(testExtensionDefault). + +-export([main/1]). + +main(_Erule) -> + roundtrip('Message', {'Message',1,low}), %Will be explicitly encoded. + roundtrip('Message', {'Message',1,high}), + roundtrip('Message', {'Message',1,asn1_DEFAULT}, {'Message',1,low}), + + map_roundtrip('Message', #{id=>1,priority=>low}), %Will be explicitly encoded. + map_roundtrip('Message', #{id=>1,priority=>high}), + map_roundtrip('Message', #{id=>1}, #{id=>1,priority=>low}), + ok. + +roundtrip(Type, Value) -> + asn1_test_lib:roundtrip('ExtensionDefault', Type, Value). + +roundtrip(Type, Value, Expected) -> + %% asn1_test_lib:roundtrip/3 will invoke map_roundtrip/3, which will + %% not work in this case. Therefore, implement the roundtrip ourselves. + M = 'ExtensionDefault', + {ok,Enc} = M:encode(Type, Value), + {ok,Expected} = M:decode(Type, Enc), + ok. + +map_roundtrip(Type, Value) -> + map_roundtrip(Type, Value, Value). + +map_roundtrip(Type, Value, Expected) -> + M = 'maps_ExtensionDefault', + Enc = M:encode(Type, Value), + Expected = M:decode(Type, Enc), + ok. |