mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 09:09:37 +02:00
59 lines
1.2 KiB
ObjectPascal
59 lines
1.2 KiB
ObjectPascal
{ %skiptarget=android }
|
|
program tcpstr19;
|
|
|
|
// test conversions from and to rawbytestring
|
|
// test that copy function returns the same def as argument
|
|
// this test can be only run with the compiler built right now on the
|
|
// same system
|
|
|
|
{$ifdef go32v2}
|
|
{$define USE_INTERNAL_UNICODE}
|
|
{$endif}
|
|
|
|
{$ifdef USE_INTERNAL_UNICODE}
|
|
{$define USE_FPWIDESTRING_UNIT}
|
|
{$define USE_UNICODEDUCET_UNIT}
|
|
{$define USE_CPALL_UNIT}
|
|
{$endif}
|
|
|
|
{$APPTYPE CONSOLE}
|
|
{$ifdef fpc}
|
|
{$MODE DELPHIUNICODE}
|
|
{$endif}
|
|
|
|
uses
|
|
{$ifndef USE_INTERNAL_UNICODE}
|
|
{$ifdef unix}
|
|
{$ifdef darwin}iosxwstr{$else}cwstring{$endif},
|
|
{$endif}
|
|
{$endif ndef USE_INTERNAL_UNICODE}
|
|
{$ifdef USE_UNICODEDUCET_UNIT}
|
|
unicodeducet,
|
|
{$endif}
|
|
{$ifdef USE_FPWIDESTRING_UNIT}
|
|
fpwidestring,
|
|
{$endif}
|
|
{$ifdef USE_CPALL_UNIT}
|
|
cpall,
|
|
{$endif}
|
|
SysUtils;
|
|
|
|
var
|
|
S: AnsiString;
|
|
R: RawByteString;
|
|
begin
|
|
S := UTF8Encode('Test');
|
|
if StringCodePage(S) <> CP_UTF8 then
|
|
halt(1);
|
|
S := Copy('Test', 1, 2);
|
|
if StringCodePage(S) <> DefaultSystemCodePage then
|
|
halt(2);
|
|
if StringCodePage(Copy(UTF8Encode('Test'), 1, 2)) <> CP_UTF8 then
|
|
halt(3);
|
|
R := 'Test';
|
|
{$if not defined(FPC_CROSSCOMPILING) and not defined(FPC_CPUCROSSCOMPILING)}
|
|
if StringCodePage(R) <> DefaultSystemCodePage then
|
|
halt(4);
|
|
{$endif}
|
|
end.
|