diff options
author | Ingela Andin <[email protected]> | 2019-03-22 10:03:13 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2019-03-22 10:03:13 +0100 |
commit | d096ca2c0cebec816fa2e0386b7e5f0d8cd62a88 (patch) | |
tree | 799810afaf085beec0cce2d20bcba8324e791efa /lib/asn1/test/testDefaultOctetString.erl | |
parent | 5b62f4db7e6238f784c8f485baaa7f8fc61cd56c (diff) | |
parent | 7b73f5119b6a7bdadb2255b05dbd3463ec24e16f (diff) | |
download | otp-d096ca2c0cebec816fa2e0386b7e5f0d8cd62a88.tar.gz otp-d096ca2c0cebec816fa2e0386b7e5f0d8cd62a88.tar.bz2 otp-d096ca2c0cebec816fa2e0386b7e5f0d8cd62a88.zip |
Merge pull request #2159 from dotsimon/asn1_pedefs
ASN.1: fix various problems with value definitions
OTP-15697
Diffstat (limited to 'lib/asn1/test/testDefaultOctetString.erl')
-rw-r--r-- | lib/asn1/test/testDefaultOctetString.erl | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/asn1/test/testDefaultOctetString.erl b/lib/asn1/test/testDefaultOctetString.erl new file mode 100644 index 0000000000..82cd5810e5 --- /dev/null +++ b/lib/asn1/test/testDefaultOctetString.erl @@ -0,0 +1,34 @@ +-module(testDefaultOctetString). + +-export([dos/1]). + +-include_lib("common_test/include/ct.hrl"). + +-record('Dos', { + opt = asn1_NOVALUE, + def = asn1_DEFAULT +}). + +-define(def_DEFAULT, <<5>>). + +dos(Rules) -> + %% test roundtrip default + E1 = roundtrip(#'Dos'{}, #'Dos'{def = ?def_DEFAULT}), + %% test the value dos defined in the .asn file + E2 = roundtrip('DefaultOctetString':dos()), + %% sanity test a fully specified SEQUENCE + E3 = roundtrip(#'Dos'{opt = <<1,2,3>>, def = <<6>>}), + %% test def is/isn't encoded according to the value + if Rules == ber -> + <<48, 0>> = E1, + <<48, 4, 16#82, 2, 16#12, 16#34>> = E2, + <<48, 8, 16#82, 3, 1, 2, 3, 16#8A, 1, 6>> = E3; + true -> + ignore + end, + ok. + +roundtrip(Value) -> + roundtrip(Value, Value). +roundtrip(Value, Exp) -> + asn1_test_lib:roundtrip('DefaultOctetString', 'Dos', Value, Exp). |