fpc/tests/test/tcpstr13.pp
2018-05-09 23:11:48 +00:00

53 lines
1.0 KiB
ObjectPascal

program tcpstr13;
// check that copy operation converts from 866 to DefaultSystemCodePage encoding
{$ifdef go32v2}
{$define USE_INTERNAL_UNICODE}
{$endif}
{$ifdef USE_INTERNAL_UNICODE}
{$define USE_FPWIDESTRING_UNIT}
{$define USE_UNICODEDUCET_UNIT}
{$define USE_CPALL_UNIT}
{$endif}
{$mode delphi}
{$ifndef USE_INTERNAL_UNICODE}
{$ifdef unix}
uses
{$ifdef darwin}iosxwstr{$else}cwstring{$endif};
{$endif unix}
{$else def USE_INTERNAL_UNICODE}
uses
{$ifdef USE_UNICODEDUCET_UNIT}
unicodeducet,
{$endif}
{$ifdef USE_FPWIDESTRING_UNIT}
fpwidestring,
{$endif}
{$ifdef USE_CPALL_UNIT}
cpall,
{$endif}
{ The unit strings is not really used here,
but simpifies the conditional construction
for fpwidestring and unicodeducet use }
strings;
{$endif def USE_INTERNAL_UNICODE}
type
ts866 = type ansistring(866);
var
s: ts866;
a: ansistring;
begin
s:='abc'#$00A9#$00AE'123';
// if s[4] <> 'c' then
// halt(1);
a:=copy(s,1,4);
if stringcodepage(a)<>DefaultSystemCodePage then
halt(2);
end.