Browse Source

* fix test run in Delphi: for some reason a method pointer is considered managed by Delphi

git-svn-id: trunk@36903 -
svenbarth 8 years ago
parent
commit
a3652bb69d
1 changed files with 5 additions and 0 deletions
  1. 5 0
      packages/rtl-objpas/tests/tests.rtti.pas

+ 5 - 0
packages/rtl-objpas/tests/tests.rtti.pas

@@ -776,7 +776,12 @@ begin
   CheckEquals(false, IsManaged(TypeInfo(TTestEnum)), 'IsManaged for tkEnumeration');
   CheckEquals(false, IsManaged(TypeInfo(TTestEnum)), 'IsManaged for tkEnumeration');
   CheckEquals(false, IsManaged(TypeInfo(Single)), 'IsManaged for tkFloat');
   CheckEquals(false, IsManaged(TypeInfo(Single)), 'IsManaged for tkFloat');
   CheckEquals(false, IsManaged(TypeInfo(TTestSet)), 'IsManaged for tkSet');
   CheckEquals(false, IsManaged(TypeInfo(TTestSet)), 'IsManaged for tkSet');
+  {$ifdef fpc}
   CheckEquals(false, IsManaged(TypeInfo(TTestMethod)), 'IsManaged for tkMethod');
   CheckEquals(false, IsManaged(TypeInfo(TTestMethod)), 'IsManaged for tkMethod');
+  {$else}
+  { for some reason Delphi considers method pointers to be managed :/ }
+  CheckEquals(true, IsManaged(TypeInfo(TTestMethod)), 'IsManaged for tkMethod');
+  {$endif}
   CheckEquals(false, IsManaged(TypeInfo(TArrayOfByte)),
   CheckEquals(false, IsManaged(TypeInfo(TArrayOfByte)),
     'IsManaged for tkArray (with non managed ElType)');
     'IsManaged for tkArray (with non managed ElType)');
   CheckEquals(false, IsManaged(TypeInfo(TArrayOfNonManagedRec)),
   CheckEquals(false, IsManaged(TypeInfo(TArrayOfNonManagedRec)),