1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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
|
program tstrutils1;
// tests MBCS compatibility of strutils ansistartsstr and -endsstr.
{$mode objfpc}
{$h+}
uses
{SysUtils, }
{$ifdef unix}
cwstring,
{$endif unix}
StrUtils;
var
ResultCounter: Integer = 0;
function TestValue(const Value: Boolean): Boolean;
begin
Result := Value;
if not Value then
WriteLn('Failed: ', ResultCounter);
Inc(ResultCounter);
end;
function TestOK: Boolean;
begin
TestOK :=
// AnsiStartsStr
not AnsiStartsStr('', '')
and not AnsiStartsStr('', 'ab')
and not AnsiStartsStr('ab', '')
and AnsiStartsStr('abc', 'abc')
and not AnsiStartsStr('abc', 'def')
and AnsiStartsStr('abc', 'abcedfg')
and not AnsiStartsStr('abc', 'ab')
and AnsiStartsStr('áéíç', 'áéíç')
and AnsiStartsStr('áé', 'áéíç')
and not AnsiStartsStr('áéíç', 'áé')
and not AnsiStartsStr('áéíç', 'áéio')
// AnsiEndsStr
and AnsiEndsStr('', '')
and AnsiEndsStr('', 'ab')
and not AnsiEndsStr('ab', '')
and AnsiEndsStr('abc', 'abc')
and not AnsiEndsStr('abc', 'def')
and AnsiEndsStr('dfg', 'abcedfg')
and not AnsiEndsStr('dfg', 'df')
and AnsiEndsStr('áéíç', 'áéíç')
and AnsiEndsStr('áé', 'íçáé')
and not AnsiEndsStr('áéíç', 'áé')
and not AnsiEndsStr('íçáé', 'ioáé');
end;
begin
if TestOK() then
begin
WriteLn('Test OK');
halt(0);
end
else
begin
WriteLn('Test Failure!');
halt(1);
end;
end.
|