pastojs: test typeinfo(double)

git-svn-id: trunk@39168 -
This commit is contained in:
Mattias Gaertner 2018-06-04 13:44:54 +00:00
parent 6d7d4be12f
commit 49c97d1152

View File

@ -635,6 +635,7 @@ type
// RTTI
Procedure TestRTTI_IntRange;
Procedure TestRTTI_Double;
Procedure TestRTTI_ProcType;
Procedure TestRTTI_ProcType_ArgFromOtherUnit;
Procedure TestRTTI_EnumAndSetType;
@ -18787,6 +18788,34 @@ begin
'']));
end;
procedure TTestModule.TestRTTI_Double;
begin
Converter.Options:=Converter.Options-[coNoTypeInfo];
StartProgram(false);
Add([
'{$modeswitch externalclass}',
'type',
' TTypeInfo = class external name ''rtl.tTypeInfo''',
' end;',
' TFloat = type double;',
'var',
' p: TTypeInfo;',
'begin',
' p:=typeinfo(double);',
' p:=typeinfo(TFloat);',
'']);
ConvertProgram;
CheckSource('TestRTTI_Double',
LinesToStr([ // statements
'$mod.$rtti.$inherited("TFloat", rtl.double, {});',
'this.p = null;',
'']),
LinesToStr([ // $mod.$main
'$mod.p = rtl.double;',
'$mod.p = $mod.$rtti["TFloat"];',
'']));
end;
procedure TTestModule.TestRTTI_ProcType;
begin
Converter.Options:=Converter.Options-[coNoTypeInfo];