aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorLev Walkin <vlm@lionet.info>2006-03-16 10:03:35 +0000
committerLev Walkin <vlm@lionet.info>2006-03-16 10:03:35 +0000
commitd370e9f57ecc00836b18bee44af026421bd9d63a (patch)
treeaa0270b48a6b915337d34cb1664eac0ab017d5a0 /tests
parent57074f10d3e9b089582dde25e0d3ae33be913302 (diff)
parsing WITH SYNTAX clauses
Diffstat (limited to 'tests')
-rw-r--r--tests/34-class-OK.asn14
-rw-r--r--tests/34-class-OK.asn1.-EF6
-rw-r--r--tests/34-class-OK.asn1.-EFprint-class-matrix43
3 files changed, 51 insertions, 2 deletions
diff --git a/tests/34-class-OK.asn1 b/tests/34-class-OK.asn1
index 48437fba..2ea89011 100644
--- a/tests/34-class-OK.asn1
+++ b/tests/34-class-OK.asn1
@@ -14,7 +14,7 @@ BEGIN
-- First CLASS
EXTENSION ::= CLASS {
- &id [PRIVATE 0] OBJECT IDENTIFIER UNIQUE,
+ &id [PRIVATE 0] INTEGER UNIQUE,
&ExtnType
} WITH SYNTAX {
SYNTAX &ExtnType
@@ -35,6 +35,8 @@ BEGIN
terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23}
+ TerminalType ::= INTEGER { terminal(0) }
+
-- Advanced CLASS extraction
ExtensionAttribute ::= SEQUENCE {
diff --git a/tests/34-class-OK.asn1.-EF b/tests/34-class-OK.asn1.-EF
index 8cc56eee..8af80a86 100644
--- a/tests/34-class-OK.asn1.-EF
+++ b/tests/34-class-OK.asn1.-EF
@@ -4,7 +4,7 @@ DEFINITIONS IMPLICIT TAGS ::=
BEGIN
EXTENSION ::= CLASS {
- &id [PRIVATE 0] OBJECT IDENTIFIER UNIQUE,
+ &id [PRIVATE 0] INTEGER UNIQUE,
&ExtnType
} WITH SYNTAX {
SYNTAX &ExtnType
@@ -24,6 +24,10 @@ EXTENSION-ATTRIBUTE ::= CLASS {
terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23}
+TerminalType ::= INTEGER {
+ terminal(0)
+}
+
ExtensionAttribute ::= SEQUENCE {
extension-attribute-type [0] IMPLICIT EXTENSION-ATTRIBUTE.&id ({ExtensionAttributeTable}),
extension-attribute-value [1] EXPLICIT EXTENSION-ATTRIBUTE.&Type ({ExtensionAttributeTable}{@extension-attribute-type})
diff --git a/tests/34-class-OK.asn1.-EFprint-class-matrix b/tests/34-class-OK.asn1.-EFprint-class-matrix
new file mode 100644
index 00000000..f97de09d
--- /dev/null
+++ b/tests/34-class-OK.asn1.-EFprint-class-matrix
@@ -0,0 +1,43 @@
+ModuleTestClassSimple { iso org(3) dod(6) internet(1) private(4) enterprise(1)
+ spelio(9363) software(1) asn1c(5) test(1) 34 }
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+EXTENSION ::= CLASS {
+ &id [PRIVATE 0] INTEGER UNIQUE,
+ &ExtnType
+} WITH SYNTAX {
+ SYNTAX &ExtnType
+ IDENTIFIED BY &id
+ }
+
+-- Class matrix is empty
+
+Ext1 ::= SEQUENCE {
+ extnId EXTENSION.&id
+}
+
+EXTENSION-ATTRIBUTE ::= CLASS {
+ &id INTEGER (0..256) UNIQUE,
+ &Type ANY
+} WITH SYNTAX {&Type IDENTIFIED BY &id}
+
+-- Class matrix has 1 entry:
+-- [ &id][ &Type]
+-- [1] 23 TerminalType
+
+
+terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23}
+
+TerminalType ::= INTEGER {
+ terminal(0)
+}
+
+ExtensionAttribute ::= SEQUENCE {
+ extension-attribute-type [0] IMPLICIT EXTENSION-ATTRIBUTE.&id ({ExtensionAttributeTable}),
+ extension-attribute-value [1] EXPLICIT EXTENSION-ATTRIBUTE.&Type ({ExtensionAttributeTable}{@extension-attribute-type})
+}
+
+ub-extension-attributes INTEGER ::= 256
+
+END