mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-15 12:06:05 +02:00
67 lines
1.4 KiB
ObjectPascal
67 lines
1.4 KiB
ObjectPascal
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.
|