12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- program tstrutils2;
- // tests MBCS compatibility of strutils ansistartstext and -endstext.
- // (case-insensitive)
- {$mode objfpc}
- {$h+}
- uses
- StrUtils,
- {$ifdef unix}
- cwstring
- {$endif unix}
- ;
- 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 :=
- // AnsiStartsText
- not AnsiStartsText('', '')
- and not AnsiStartsText('', 'ab')
- and not AnsiStartsText('ab', '')
- and AnsiStartsText('abc', 'abc')
- and not AnsiStartsText('abc', 'def')
- and AnsiStartsText('abc', 'abcedfg')
- and not AnsiStartsText('abc', 'ab')
- and AnsiStartsText('áÉíç', 'áéíÇ')
- and AnsiStartsText('áé', 'áÉíç')
- and not AnsiStartsText('áÉíç', 'Áé')
- and not AnsiStartsText('ÁÉíç', 'áéio')
- // AnsiEndsText
- and AnsiEndsText('', '')
- and AnsiEndsText('', 'ab')
- and not AnsiEndsText('ab', '')
- and AnsiEndsText('abc', 'abc')
- and not AnsiEndsText('abc', 'def')
- and AnsiEndsText('dfg', 'abcedfg')
- and not AnsiEndsText('dfg', 'df')
- and AnsiEndsText('áÉíç', 'Áéíç')
- and AnsiEndsText('áé', 'íçáÉ')
- and not AnsiEndsText('áÉíç', 'áé')
- and not AnsiEndsText('íçÁÉ', 'ioÁé');
- end;
- begin
- if TestOK() then
- begin
- WriteLn('Test OK');
- halt(0);
- end
- else
- begin
- WriteLn('Test Failure!');
- halt(1);
- end;
- end.
|