mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-06 23:28:28 +02:00
68 lines
1.2 KiB
ObjectPascal
68 lines
1.2 KiB
ObjectPascal
{$codepage utf-8}
|
|
|
|
{$ifdef go32v2}
|
|
{$define USE_INTERNAL_UNICODE}
|
|
{$endif}
|
|
|
|
{$ifdef USE_INTERNAL_UNICODE}
|
|
{$define USE_FPWIDESTRING_UNIT}
|
|
{$define USE_UNICODEDUCET_UNIT}
|
|
{$define USE_CPALL_UNIT}
|
|
{$endif}
|
|
uses
|
|
{$ifndef USE_INTERNAL_UNICODE}
|
|
{$ifdef unix}
|
|
{$ifdef darwin}iosxwstr{$else}cwstring{$endif},
|
|
{$endif unix}
|
|
{$endif ndef USE_INTERNAL_UNICODE}
|
|
{$ifdef USE_UNICODEDUCET_UNIT}
|
|
unicodeducet,
|
|
{$endif}
|
|
{$ifdef USE_FPWIDESTRING_UNIT}
|
|
fpwidestring,
|
|
{$endif}
|
|
{$ifdef USE_CPALL_UNIT}
|
|
cpall,
|
|
{$endif}
|
|
sysutils;
|
|
|
|
procedure testwcmp;
|
|
var
|
|
w1,w2: widestring;
|
|
s: ansistring;
|
|
begin
|
|
w1:='aécde';
|
|
{ filter unsupported characters }
|
|
s:=w1;
|
|
w1:=s;
|
|
w2:=w1;
|
|
|
|
if (w1<>w2) then
|
|
halt(1);
|
|
w1[2]:='f';
|
|
if (w1=w2) or
|
|
WideSameStr(w1,w2) or
|
|
(WideCompareText(w1,w2)=0) or
|
|
(WideCompareStr(w1,w2)<0) or
|
|
(WideCompareStr(w2,w1)>0) then
|
|
halt(2);
|
|
w1[2]:=#0;
|
|
w2[2]:=#0;
|
|
if (w1<>w2) or
|
|
not WideSameStr(w1,w2) or
|
|
(WideCompareStr(w1,w2)<>0) or
|
|
(WideCompareText(w1,w2)<>0) then
|
|
halt(3);
|
|
w1[3]:='m';
|
|
if WideSameStr(w1,w2) or
|
|
(WideCompareText(w1,w2)=0) or
|
|
(WideCompareStr(w1,w2)<0) or
|
|
(WideCompareStr(w2,w1)>0) then
|
|
halt(4);
|
|
end;
|
|
|
|
|
|
begin
|
|
testwcmp;
|
|
end.
|