Browse Source

pastojs: test typeinfo(double)

git-svn-id: trunk@39168 -
Mattias Gaertner 7 years ago
parent
commit
49c97d1152
1 changed files with 29 additions and 0 deletions
  1. 29 0
      packages/pastojs/tests/tcmodules.pas

+ 29 - 0
packages/pastojs/tests/tcmodules.pas

@@ -635,6 +635,7 @@ type
 
 
     // RTTI
     // RTTI
     Procedure TestRTTI_IntRange;
     Procedure TestRTTI_IntRange;
+    Procedure TestRTTI_Double;
     Procedure TestRTTI_ProcType;
     Procedure TestRTTI_ProcType;
     Procedure TestRTTI_ProcType_ArgFromOtherUnit;
     Procedure TestRTTI_ProcType_ArgFromOtherUnit;
     Procedure TestRTTI_EnumAndSetType;
     Procedure TestRTTI_EnumAndSetType;
@@ -18787,6 +18788,34 @@ begin
     '']));
     '']));
 end;
 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;
 procedure TTestModule.TestRTTI_ProcType;
 begin
 begin
   Converter.Options:=Converter.Options-[coNoTypeInfo];
   Converter.Options:=Converter.Options-[coNoTypeInfo];