diff options
author | Björn Gustavsson <[email protected]> | 2013-11-20 12:35:42 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2013-11-20 12:35:42 +0100 |
commit | cf9d62c7c902b06dc589382a0a853b87b0a1ce20 (patch) | |
tree | c93af3219cc2332775debb29d5a56cceee0292dc /lib/asn1/test/testConstraints.erl | |
parent | 81a497cc1fd21cdd4f545c3ed7c64705ca5fc65c (diff) | |
parent | 719f789cebec004b350153e1f001303d6713f4a6 (diff) | |
download | otp-cf9d62c7c902b06dc589382a0a853b87b0a1ce20.tar.gz otp-cf9d62c7c902b06dc589382a0a853b87b0a1ce20.tar.bz2 otp-cf9d62c7c902b06dc589382a0a853b87b0a1ce20.zip |
Merge branch 'bjorn/asn1/fix-union-bug/OTP-11411' into maint
* bjorn/asn1/fix-union-bug/OTP-11411:
Fix complicated union of INTEGER constraints
Diffstat (limited to 'lib/asn1/test/testConstraints.erl')
-rw-r--r-- | lib/asn1/test/testConstraints.erl | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/asn1/test/testConstraints.erl b/lib/asn1/test/testConstraints.erl index 34fbbcf6cc..23322f5e88 100644 --- a/lib/asn1/test/testConstraints.erl +++ b/lib/asn1/test/testConstraints.erl @@ -218,6 +218,15 @@ int_constraints(Rules) -> roundtrip('ShorterExt', "abcde"), roundtrip('ShorterExt', "abcdef"), + %%========================================================== + %% Unions of INTEGER constraints + %%========================================================== + seq_roundtrip(Rules, 'SeqOverlapping', 'SeqNonOverlapping', 7580), + seq_roundtrip(Rules, 'SeqOverlapping', 'SeqNonOverlapping', 9600), + seq_roundtrip(Rules, 'SeqOverlapping', 'SeqNonOverlapping', 18050), + seq_roundtrip(Rules, 'SeqOverlapping', 'SeqNonOverlapping', 19000), + seq_roundtrip(Rules, 'SeqOverlapping', 'SeqNonOverlapping', 26900), + ok. %% PER: Ensure that if the lower bound is Lb, Lb+16#80 is encoded @@ -297,3 +306,12 @@ range_error(Per, Type, Value) when Per =:= per; Per =:= uper -> %% on encode. {error,_} = 'Constraints':encode(Type, Value), ok. + +seq_roundtrip(Rules, Seq1, Seq2, Val) -> + Enc = roundtrip(Seq1, {Seq1,Val}), + case Rules of + ber -> + roundtrip(Seq2, {Seq2,Val}); + _ -> + roundtrip_enc(Seq2, {Seq2,Val}, Enc) + end. |