Newer
Older
/**
* @author ETSI
* @version $URL$
* $Id$
* @desc A collection of text string type and value definitions which
* may be useful in the implementation of any TTCN-3 test
* suite. "Text string" refers to TTCN-3 charstring and universal
* charstring types.
* @remark End users should be aware that any changes made to the in
* definitions this module may be overwritten in future releases.
* End users are encouraged to contact the distributers of this
* module regarding their modifications or additions so that future
* updates will include your changes.
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
* All rights reserved.
*
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
*/
module LibCommon_TextStrings {
/**
* @desc These constants can be used to add special characters into
* TTCN-3 text strings by using the concatenation operator.
* Example use:
* var charstring v_text := "Hi!" & c_CRLF & "Hello!";
*/
group usefulConstants {
const charstring c_NUL := oct2char('00'O);
const charstring c_SOH := oct2char('01'O);
const charstring c_STX := oct2char('02'O);
const charstring c_ETX := oct2char('03'O);
const charstring c_EOT := oct2char('04'O);
const charstring c_ENQ := oct2char('05'O);
const charstring c_ACK := oct2char('06'O);
const charstring c_BEL := oct2char('07'O);
const charstring c_BS := oct2char('08'O);
const charstring c_TAB := oct2char('09'O);
const charstring c_LF := oct2char('0A'O);
const charstring c_VT := oct2char('0B'O);
const charstring c_FF := oct2char('0C'O);
const charstring c_CR := oct2char('0D'O);
const charstring c_SO := oct2char('0E'O);
const charstring c_SI := oct2char('0F'O);
const charstring c_DLE := oct2char('10'O);
const charstring c_DC1 := oct2char('11'O);
const charstring c_DC2 := oct2char('12'O);
const charstring c_DC3 := oct2char('13'O);
const charstring c_DC4 := oct2char('14'O);
const charstring c_NAK := oct2char('15'O);
const charstring c_SYN := oct2char('16'O);
const charstring c_ETB := oct2char('17'O);
const charstring c_CAN := oct2char('18'O);
const charstring c_EM := oct2char('19'O);
const charstring c_SUB := oct2char('1A'O);
const charstring c_ESC := oct2char('1B'O);
const charstring c_FS := oct2char('1C'O);
const charstring c_GS := oct2char('1D'O);
const charstring c_RS := oct2char('1E'O);
const charstring c_US := oct2char('1F'O);
const charstring c_DEL := oct2char('7F'O);
const charstring c_CRLF := oct2char('0D'O) & oct2char('0A'O);
} // end group usefulConstants
/**
* @remark Number in name indicates string length in number of
* _characters_
*/
group textStringSubTypes {
type charstring String1 length(1) with { encode "length(1)"};
type charstring String2 length(2) with { encode "length(2)"};
type charstring String3 length(3) with { encode "length(3)"};
type charstring String4 length(4) with { encode "length(4)"};
type charstring String5 length(5) with { encode "length(5)"};
type charstring String6 length(6) with { encode "length(6)"};
type charstring String7 length(7) with { encode "length(7)"};
type charstring String8 length(8) with { encode "length(8)"};
type charstring String9 length(9) with { encode "length(9)"};
type charstring String10 length(10) with { encode "length(10)"};
type charstring String11 length(11) with { encode "length(11)"};
type charstring String12 length(12) with { encode "length(12)"};
type charstring String13 length(13) with { encode "length(13)"};
type charstring String14 length(14) with { encode "length(14)"};
type charstring String15 length(15) with { encode "length(15)"};
type charstring String16 length(16) with { encode "length(16)"};
type charstring String1To13 length(1..13) with {encode "length(1..13)"};
type charstring String1To63 length(1..63) with {encode "length(1..63)"};
type charstring String1To64 length(1..64) with {encode "length(1..64)"};
type charstring String1To127 length(1..127) with {encode "length(1..127)"};
type charstring String1To128 length(1..128) with {encode "length(1..128)"};
type charstring String1to255 length(1..255) with {encode "length(1..255)"};
type charstring String5to253 length (5..253) with {encode "length(5..253)"};
} // end stringSubTypes
group usefulTextStringTypes {
type universal charstring UnicodeText;
type universal charstring UnicodeText1to255 length(1..255)
with {encode "length(1..255)"};
/**
* @desc Subtyping can not be used in this type definition to ensure
* values of this type are really alphanumeric.
* Instead either codecs or a template have
* to be used for this purpose. The type is kept here to ensure
* backward compatibility.
* @see LibCommon_TextStrings.mw_isAlphaNum
*/
type charstring AlphaNum with { encode "alphanumeric"};
type AlphaNum AlphaNum2 length(2) with { encode "alphanumeric;length(2)"};
type AlphaNum AlphaNum1To32 length(1..32) with {encode "alphanumeric;length(1..32)"};
} // end group usefulTextStringTypes
group usefulTextStringTemplates {
template charstring mw_isAlphaNum := pattern "([0-9]|[a-z]|[A-Z])+";
} // end group usefulTextStringTemplates
} // end module LibCommon_TextStrings