4
%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
6
%% The contents of this file are subject to the Erlang Public License,
7
%% Version 1.1, (the "License"); you may not use this file except in
8
%% compliance with the License. You should have received a copy of the
9
%% Erlang Public License along with this software. If not, it can be
10
%% retrieved online at http://www.erlang.org/.
12
%% Software distributed under the License is distributed on an "AS IS"
13
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
14
%% the License for the specific language governing rights and limitations
25
-include_lib("test_server/include/test_server.hrl").
26
-include("External.hrl").
28
-record('SeqTag',{nt, imp, exp}).
29
-record('SeqTagImp',{nt, imp, exp}).
30
-record('SeqTagExp',{nt, imp, exp}).
31
-record('SeqTagX',{xnt, ximp, xexp}).
32
-record('SeqTagImpX',{xnt, ximp, xexp}).
33
-record('SeqTagExpX',{xnt, ximp, xexp}).
34
-record('NT',{os, bool}).
35
-record('Imp',{os, bool}).
36
-record('Exp',{os, bool}).
39
compile(Config,Rules,Options) ->
41
?line DataDir = ?config(data_dir,Config),
42
?line OutDir = ?config(priv_dir,Config),
43
?line true = code:add_patha(?config(priv_dir,Config)),
44
?line ok = asn1ct:compile(DataDir ++ "SeqTag",[Rules,{outdir,OutDir}]++Options).
52
asn1_wrapper:encode('SeqTag','SeqTag',#'SeqTag'{nt = #'NT'{bool = true, os = "kalle"},
53
imp = #'Imp'{bool = true, os = "kalle"},
54
exp = #'Exp'{bool = true, os = "kalle"}}),
55
?line {ok,{'SeqTag',{'NT',"kalle",true},{'Imp',"kalle",true},{'Exp',"kalle",true}}} =
56
asn1_wrapper:decode('SeqTag','SeqTag',lists:flatten(Bytes11)),
60
asn1_wrapper:encode('SeqTag','SeqTagImp',#'SeqTagImp'{nt = #'NT'{bool = true, os = "kalle"},
61
imp = #'Imp'{bool = true, os = "kalle"},
62
exp = #'Exp'{bool = true, os = "kalle"}}),
63
?line {ok,{'SeqTagImp',{'NT',"kalle",true},{'Imp',"kalle",true},{'Exp',"kalle",true}}} =
64
asn1_wrapper:decode('SeqTag','SeqTagImp',lists:flatten(Bytes12)),
68
asn1_wrapper:encode('SeqTag','SeqTagExp',#'SeqTagExp'{nt = #'NT'{bool = true, os = "kalle"},
69
imp = #'Imp'{bool = true, os = "kalle"},
70
exp = #'Exp'{bool = true, os = "kalle"}}),
71
?line {ok,{'SeqTagExp',{'NT',"kalle",true},{'Imp',"kalle",true},{'Exp',"kalle",true}}} =
72
asn1_wrapper:decode('SeqTag','SeqTagExp',lists:flatten(Bytes13)),
79
asn1_wrapper:encode('SeqTag','SeqTagX',
80
#'SeqTagX'{xnt = #'XSeqNT'{bool = true, os = "kalle"},
81
ximp = #'XSeqImp'{bool = true, os = "kalle"},
82
xexp = #'XSeqExp'{bool = true, os = "kalle"}}),
83
?line {ok,{'SeqTagX',{'XSeqNT',"kalle",true},
84
{'XSeqImp',"kalle",true},
85
{'XSeqExp',"kalle",true}}} =
86
asn1_wrapper:decode('SeqTag','SeqTagX',lists:flatten(Bytes21)),
90
asn1_wrapper:encode('SeqTag','SeqTagImpX',
91
#'SeqTagImpX'{xnt = #'XSeqNT'{bool = true, os = "kalle"},
92
ximp = #'XSeqImp'{bool = true, os = "kalle"},
93
xexp = #'XSeqExp'{bool = true, os = "kalle"}}),
94
?line {ok,{'SeqTagImpX',{'XSeqNT',"kalle",true},
95
{'XSeqImp',"kalle",true},
96
{'XSeqExp',"kalle",true}}} =
97
asn1_wrapper:decode('SeqTag','SeqTagImpX',lists:flatten(Bytes22)),
101
asn1_wrapper:encode('SeqTag','SeqTagExpX',
102
#'SeqTagExpX'{xnt = #'XSeqNT'{bool = true, os = "kalle"},
103
ximp = #'XSeqImp'{bool = true, os = "kalle"},
104
xexp = #'XSeqExp'{bool = true, os = "kalle"}}),
105
?line {ok,{'SeqTagExpX',{'XSeqNT',"kalle",true},
106
{'XSeqImp',"kalle",true},
107
{'XSeqExp',"kalle",true}}} =
108
asn1_wrapper:decode('SeqTag','SeqTagExpX',lists:flatten(Bytes23)),