4
%% Copyright Ericsson AB 2002-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
20
-module(testTypeValueNotation).
25
-include_lib("test_server/include/test_server.hrl").
27
-record('Seq',{octstr, int, bool, enum, bitstr, null, oid, vstr}).
30
compile(Config,Rules,Options) ->
32
?line DataDir = ?config(data_dir,Config),
33
?line OutDir = ?config(priv_dir,Config),
34
?line true = code:add_patha(?config(priv_dir,Config)),
35
?line ok = asn1ct:compile(DataDir ++ "SeqTypeRefPrim",
36
[Rules,{outdir,OutDir}]++Options),
38
?line ok = asn1ct:compile(DataDir ++ "ValueTest",
39
[Rules,{outdir,OutDir}]++Options).
44
io:format("testTypeValueNotation:main/2 with arguments:~nRules: ~w, Option: ~w~n",[Rules,Option]),
45
Value1 = #'Seq'{octstr = [1,2,3,4],
52
vstr = "Hello World"},
53
Value2 = #'Seq'{octstr = {'OctStr',[1,2,3,4]},
57
bitstr = {'BitStr',[1,0,1,0]},
58
null = {'Null','NULL'},
59
oid = {'OId',{1,2,55}},
60
vstr = {'VStr',"Hello World"}},
62
optimize when Rules == per_bin; Rules == ber_bin ; Rules == uper_bin; Rules == ber_bin_v2 ->
64
asn1_wrapper:encode('SeqTypeRefPrim','Seq',Value1),
65
?line {error,_Reason} =
66
asn1_wrapper:encode('SeqTypeRefPrim','Seq',Value2),
68
asn1_wrapper:decode('SeqTypeRefPrim','Seq',Bytes);
71
asn1_wrapper:encode('SeqTypeRefPrim','Seq',Value1),
73
asn1_wrapper:encode('SeqTypeRefPrim','Seq',Value2),
75
asn1_wrapper:decode('SeqTypeRefPrim','Seq',Bytes)