Browse Source

Improvement for IsManaged in RTTI module: ShortString is not managed type. Test corrected.

git-svn-id: trunk@35405 -
maciej-izak 8 years ago
parent
commit
b38243c5cb
2 changed files with 2 additions and 3 deletions
  1. 1 2
      packages/rtl-objpas/src/inc/rtti.pp
  2. 1 1
      packages/rtl-objpas/tests/tests.rtti.pas

+ 1 - 2
packages/rtl-objpas/src/inc/rtti.pp

@@ -290,8 +290,7 @@ function IsManaged(TypeInfo: PTypeInfo): boolean;
 begin
   if Assigned(TypeInfo) then
     case TypeInfo^.Kind of
-      tkSString,
-      tkAString, 
+      tkAString,
       tkLString,
       tkWString,
       tkUString,

+ 1 - 1
packages/rtl-objpas/tests/tests.rtti.pas

@@ -729,7 +729,6 @@ end;
 
 procedure TTestCase1.TestIsManaged;
 begin
-  CheckEquals(true, IsManaged(TypeInfo(shortstring)), 'IsManaged for tkSString');
   CheckEquals(true, IsManaged(TypeInfo(ansistring)), 'IsManaged for tkAString');
   CheckEquals(true, IsManaged(TypeInfo(widestring)), 'IsManaged for tkWString');
   CheckEquals(true, IsManaged(TypeInfo(Variant)), 'IsManaged for tkVariant');
@@ -746,6 +745,7 @@ begin
   CheckEquals(true, IsManaged(TypeInfo(TArray<byte>)), 'IsManaged for tkDynArray');
   {$endif}
   CheckEquals(true, IsManaged(TypeInfo(unicodestring)), 'IsManaged for tkUString');
+  CheckEquals(false, IsManaged(TypeInfo(shortstring)), 'IsManaged for tkSString');
   CheckEquals(false, IsManaged(TypeInfo(Byte)), 'IsManaged for tkInteger');
   CheckEquals(false, IsManaged(TypeInfo(Char)), 'IsManaged for tkChar');
   CheckEquals(false, IsManaged(TypeInfo(TTestEnum)), 'IsManaged for tkEnumeration');