source: branches/2.20_branch/unittests/ACLLanguageUnitTests.pas

Last change on this file was 347, checked in by RBRi, 16 years ago

copyright change

  • Property svn:eol-style set to native
File size: 6.8 KB
Line 
1Unit ACLLanguageUnitTests;
2
3// NewView - a new OS/2 Help Viewer
4// Copyright 2006-2009 Ronald Brill (rbri at rbri dot de)
5// This software is released under the GNU Public License - see readme.txt
6
7// UnitTests for ACLLanguageUnitTests
8
9Interface
10
11const
12 // TODO read environment var
13 TEST_PATH = 'P:\newview_dev';
14
15
16uses
17 Classes,
18 TestAssert,
19 ACLLanguageUnit;
20
21 FUNCTION getACLLanguageUnitTests : TList;
22
23
24Implementation
25
26 PROCEDURE testTLanguageItemList_ConstructorDestructor;
27 VAR
28 tmpItems : TLanguageItemList;
29 BEGIN
30 tmpItems := TLanguageItemList.Create;
31 tmpItems.Destroy;
32 END;
33
34
35 PROCEDURE testTLanguageItemList_Empty_NotFound;
36 VAR
37 tmpItems : TLanguageItemList;
38 tmpFound : String;
39 BEGIN
40 tmpItems := TLanguageItemList.Create;
41
42 tmpFound := tmpItems.getValue('label1', 'default');
43 assertEqualsString('testTLanguageItemList_Empty_NotFound', '', tmpFound);
44
45 tmpFound := tmpItems.getValue('label1', 'default');
46 assertEqualsString('testTLanguageItemList_Empty_NotFound (2)', '', tmpFound);
47
48 tmpItems.Destroy;
49 END;
50
51
52 PROCEDURE testTLanguageItemList_OneValue_NotFound;
53 VAR
54 tmpItems : TLanguageItemList;
55 tmpFound : String;
56 BEGIN
57 tmpItems := TLanguageItemList.Create;
58
59 tmpItems.setValue('label1', 'value1');
60
61 tmpFound := tmpItems.getValue('unknown', 'default');
62 assertEqualsString('testTLanguageItemList_OneValue_NotFound', '', tmpFound);
63
64 tmpFound := tmpItems.getValue('unknown', 'default');
65 assertEqualsString('testTLanguageItemList_OneValue_NotFound (2)', '', tmpFound);
66
67 tmpItems.Destroy;
68 END;
69
70
71 PROCEDURE testTLanguageItemList_OneValue;
72 VAR
73 tmpItems : TLanguageItemList;
74 tmpFound : String;
75 BEGIN
76 tmpItems := TLanguageItemList.Create;
77
78 tmpItems.setValue('label1', 'value1');
79
80 tmpFound := tmpItems.getValue('label1', 'default');
81 assertEqualsString('testTLanguageItemList_OneValue label1', 'value1', tmpFound);
82
83 tmpFound := tmpItems.getValue('LABEL1', 'default');
84 assertEqualsString('testTLanguageItemList_OneValue LABEL1', 'value1', tmpFound);
85
86 tmpFound := tmpItems.getValue('LaBel1', 'default');
87 assertEqualsString('testTLanguageItemList_OneValue LaBel1', 'value1', tmpFound);
88
89 tmpItems.Destroy;
90 END;
91
92
93 PROCEDURE testTLanguageItemList_ManyValues;
94 VAR
95 tmpItems : TLanguageItemList;
96 tmpFound : String;
97 BEGIN
98 tmpItems := TLanguageItemList.Create;
99{
100 tmpItems.setValue('label1', 'value1');
101 tmpItems.setValue('Label2', 'vaLue2');
102
103 tmpFound := tmpItems.getValue('label1', 'default');
104 assertEqualsString('testTLanguageItemList_ManyValues label1', 'value1', tmpFound);
105
106 tmpFound := tmpItems.getValue('LABEL1', 'default');
107 assertEqualsString('testTLanguageItemList_ManyValues LABEL1', 'value1', tmpFound);
108
109 tmpFound := tmpItems.getValue('LaBel1', 'default');
110 assertEqualsString('testTLanguageItemList_ManyValues LaBel1', 'value1', tmpFound);
111
112 tmpFound := tmpItems.getValue('label2', 'default');
113 assertEqualsString('testTLanguageItemList_ManyValues label2', 'vaLue2', tmpFound);
114
115 tmpFound := tmpItems.getValue('LABEL2', 'default');
116 assertEqualsString('testTLanguageItemList_ManyValues LABEL2', 'vaLue2', tmpFound);
117
118 tmpFound := tmpItems.getValue('LaBel2', 'default');
119 assertEqualsString('testTLanguageItemList_ManyValues LaBel2', 'vaLue2', tmpFound);
120}
121 tmpFound := tmpItems.getValue('unknown', 'default');
122 assertEqualsString('testTLanguageItemList_ManyValues unknown', '', tmpFound);
123
124 tmpFound := tmpItems.getValue('unknown', 'default');
125 assertEqualsString('testTLanguageItemList_ManyValues unknown (2)', '', tmpFound);
126
127 tmpItems.Destroy;
128 END;
129
130
131 // ----------------------------------------------------------
132
133
134 PROCEDURE testTLanguageItemList_ReadFromEmpty;
135 var
136 tmpItems : TLanguageItemList;
137 tmpTextFile : TextFile;
138 tmpFound : String;
139 begin
140 tmpItems := TLanguageItemList.Create;
141
142 FileMode := fmInput;
143 AssignFile(tmpTextFile, TEST_PATH + '\unittests\languageUnit\empty.lng');
144 Reset(tmpTextFile);
145
146 tmpItems.readFrom(tmpTextFile);
147
148 CloseFile(tmpTextFile);
149
150 tmpFound := tmpItems.getValue('unknown', 'default');
151 assertEqualsString('testTLanguageItemList_ReadFromEmpty unknown', '', tmpFound);
152
153 tmpItems.Destroy;
154 END;
155
156
157 PROCEDURE testTLanguageItemList_Read;
158 var
159 tmpItems : TLanguageItemList;
160 tmpTextFile : TextFile;
161 tmpFound : String;
162 begin
163 tmpItems := TLanguageItemList.Create;
164
165{
166 tmpItems.setValue('emptyText', '');
167 tmpItems.setValue('normalText', 'abcd');
168 tmpItems.setValue('textWithDoubleQuotesAtBeginning', '"abcd');
169 tmpItems.setValue('textWithDoubleQuotesAtEnd', 'abcd"');
170 tmpItems.setValue('textWithDoubleQuotesAtInside', 'ab"cd');
171 tmpItems.setValue('textWithDoubleQuotes', 'aaa b "c " d ');
172
173 AssignFile(tmpTextFile, TEST_PATH + '\unittests\languageUnit\test.lng');
174 ReWrite(tmpTextFile);
175 tmpItems.saveTo(tmpTextFile);
176 CloseFile(tmpTextFile);
177}
178 FileMode := fmInput;
179 AssignFile(tmpTextFile, TEST_PATH + '\unittests\languageUnit\test.lng');
180 tmpItems.saveTo(tmpTextFile);
181 Reset(tmpTextFile);
182
183 tmpItems.readFrom(tmpTextFile);
184 CloseFile(tmpTextFile);
185
186 tmpFound := tmpItems.getValue('unknown', 'default');
187 assertEqualsString('testTLanguageItemList_ReadFromEmpty unknown', '', tmpFound);
188
189 tmpFound := tmpItems.getValue('emptyText', 'default');
190 assertEqualsString('testTLanguageItemList_ReadFromEmpty emptyText', '', tmpFound);
191
192 tmpFound := tmpItems.getValue('normalText', 'default');
193 assertEqualsString('testTLanguageItemList_ReadFromEmpty normalText', 'abcd', tmpFound);
194
195 tmpFound := tmpItems.getValue('textWithDoubleQuotesAtBeginning', 'default');
196 assertEqualsString('testTLanguageItemList_ReadFromEmpty textWithDoubleQuotesAtBeginning', '"abcd', tmpFound);
197
198 tmpFound := tmpItems.getValue('textWithDoubleQuotesAtEnd', 'default');
199 assertEqualsString('testTLanguageItemList_ReadFromEmpty textWithDoubleQuotesAtEnd', 'abcd"', tmpFound);
200
201 tmpFound := tmpItems.getValue('textWithDoubleQuotesAtInside', 'default');
202 assertEqualsString('testTLanguageItemList_ReadFromEmpty textWithDoubleQuotesAtInside', 'ab"cd', tmpFound);
203
204 tmpFound := tmpItems.getValue('textWithDoubleQuotes', 'default');
205 assertEqualsString('testTLanguageItemList_ReadFromEmpty textWithDoubleQuotes', 'aaa b "c " d ', tmpFound);
206
207 tmpItems.Destroy;
208 END;
209
210
211 // ----------------------------------------------------------
212
213
214 FUNCTION getACLLanguageUnitTests : TList;
215 BEGIN
216 result := TList.Create;
217
218 result.add(@testTLanguageItemList_ConstructorDestructor);
219 result.add(@testTLanguageItemList_Empty_NotFound);
220 result.add(@testTLanguageItemList_OneValue_NotFound);
221 result.add(@testTLanguageItemList_OneValue);
222 result.add(@testTLanguageItemList_ManyValues);
223
224 result.add(@testTLanguageItemList_ReadFromEmpty);
225 result.add(@testTLanguageItemList_Read);
226 END;
227
228END.
Note: See TracBrowser for help on using the repository browser.