Browse Source

* Do not test variants with equal memory area: e.g. strings may point to different memory areas

Michaël Van Canneyt 2 years ago
parent
commit
85524ff821
1 changed files with 5 additions and 5 deletions
  1. 5 5
      packages/rtl-objpas/tests/tests.rtti.util.pas

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

@@ -241,15 +241,15 @@ begin
     {$ifdef fpc}
     {$ifdef fpc}
       tkObject,
       tkObject,
     {$endif}
     {$endif}
-      tkMethod,
-      tkVariant: begin
+      tkMethod:
+      begin
         if aValue1.DataSize = aValue2.DataSize then
         if aValue1.DataSize = aValue2.DataSize then
           Result := CompareMem(aValue1.GetReferenceToRawData, aValue2.GetReferenceToRawData, aValue1.DataSize)
           Result := CompareMem(aValue1.GetReferenceToRawData, aValue2.GetReferenceToRawData, aValue1.DataSize)
         else
         else
           Result := False;
           Result := False;
-      end
-      else
-        Result := False;
+      end;
+      tkVariant:
+        Result := aValue1.AsVariant = aValue2.AsVariant;
     end;
     end;
   end else
   end else
     Result := False;
     Result := False;