aboutsummaryrefslogtreecommitdiffstats
path: root/tests/34-class-OK.asn1
diff options
context:
space:
mode:
Diffstat (limited to 'tests/34-class-OK.asn1')
-rw-r--r--tests/34-class-OK.asn151
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/34-class-OK.asn1 b/tests/34-class-OK.asn1
new file mode 100644
index 00000000..b2d4dffd
--- /dev/null
+++ b/tests/34-class-OK.asn1
@@ -0,0 +1,51 @@
+
+-- OK: Everything is fine
+
+-- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1)
+-- .spelio.software.asn1c.test (9363.1.5.1)
+-- .34
+
+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
+
+ -- First CLASS
+
+ EXTENSION ::= CLASS {
+ &id OBJECT IDENTIFIER UNIQUE,
+ &ExtnType
+ } WITH SYNTAX {
+ SYNTAX &ExtnType
+ IDENTIFIED BY &id
+ }
+
+ -- Basic CLASS extraction
+ Ext1 ::= SEQUENCE {
+ extnId EXTENSION.&id
+ }
+
+ -- Second CLASS
+
+ EXTENSION-ATTRIBUTE ::= CLASS {
+ &id INTEGER (0..ub-extension-attributes) UNIQUE,
+ &Type
+ } WITH SYNTAX {&Type IDENTIFIED BY &id}
+
+ terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23}
+
+ -- Advanced CLASS extraction
+
+ ExtensionAttribute ::= SEQUENCE {
+ extension-attribute-type [0] EXTENSION-ATTRIBUTE.&id
+ ({ExtensionAttributeTable}),
+ extension-attribute-value [1] EXTENSION-ATTRIBUTE.&Type
+ ({ExtensionAttributeTable} {@extension-attribute-type})
+ }
+
+ -- Variables referenced by subtype constraints
+
+ ub-extension-attributes INTEGER ::= 256
+
+END