aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/test
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2013-02-25 09:55:59 +0100
committerBjörn Gustavsson <[email protected]>2013-05-31 14:52:15 +0200
commit509ccd85ef448f5843716d4b51a8b07f875cdfda (patch)
treeafc6fc22fd665a3f34733b2ecf27b2c7100a9a4a /lib/asn1/test
parent82e02fa4ba16b0abd087437829e12049576f2a73 (diff)
downloadotp-509ccd85ef448f5843716d4b51a8b07f875cdfda.tar.gz
otp-509ccd85ef448f5843716d4b51a8b07f875cdfda.tar.bz2
otp-509ccd85ef448f5843716d4b51a8b07f875cdfda.zip
PER/UPER: Share all code except encoding of primitives
The only code that is really different between the PER and UPER backends is encoding of primitive types.
Diffstat (limited to 'lib/asn1/test')
-rw-r--r--lib/asn1/test/asn1_SUITE_data/InfObj.asn9
-rw-r--r--lib/asn1/test/testInfObj.erl3
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/asn1/test/asn1_SUITE_data/InfObj.asn b/lib/asn1/test/asn1_SUITE_data/InfObj.asn
index abd49e64f3..ff11b36788 100644
--- a/lib/asn1/test/asn1_SUITE_data/InfObj.asn
+++ b/lib/asn1/test/asn1_SUITE_data/InfObj.asn
@@ -163,7 +163,14 @@ myotherobject MY-CLASS ::= {
}
MyObjectSet MY-CLASS ::= {
- myobject | myotherobject
+ myobject | myotherobject |
+ {
+ -- Each character will be encoded in 3 bits in UPER, 4 bits in PER.
+ &Count NumericString (FROM("01234567") ^ SIZE(8)),
+ &integerValue 43,
+ &booleanValue TRUE,
+ &stringValue "tjosan"
+ }
}
MyPdu ::= SEQUENCE {
diff --git a/lib/asn1/test/testInfObj.erl b/lib/asn1/test/testInfObj.erl
index 97e6a9aaa9..c0f86eab60 100644
--- a/lib/asn1/test/testInfObj.erl
+++ b/lib/asn1/test/testInfObj.erl
@@ -50,7 +50,8 @@ main(_Erule) ->
roundtrip('InfObj', 'MyPdu', {'MyPdu',42,12,false,"string"}),
roundtrip('InfObj', 'MyPdu', {'MyPdu',{'Seq',1023,"hello"},
- 42,true,"longer string"}).
+ 42,true,"longer string"}),
+ roundtrip('InfObj', 'MyPdu', {'MyPdu',"75712346",43,true,"string"}).
roundtrip(M, T, V) ->