Browse Source

* ensure the correct values for TValue.GetReferenceToRawData for TObject and dynamic array types

git-svn-id: trunk@39883 -
svenbarth 6 years ago
parent
commit
be698b970b
1 changed files with 2 additions and 0 deletions
  1. 2 0
      packages/rtl-objpas/tests/tests.rtti.pas

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

@@ -330,6 +330,7 @@ begin
   CheckEquals(AValue.IsClass, False);
   CheckEquals(AValue.IsObject, True);
   Check(AValue.AsObject=ATestClass);
+  Check(PPointer(AValue.GetReferenceToRawData)^ = Pointer(ATestClass));
   CheckEquals(TTestValueClass(AValue.AsObject).AInteger, 54329);
   ATestClass.Free;
 end;
@@ -350,6 +351,7 @@ begin
   CheckEquals(value.GetArrayLength, 2);
   CheckEquals(value.GetArrayElement(0).AsInteger, 42);
   CheckEquals(value.GetArrayElement(1).AsInteger, 21);
+  Check(PPointer(value.GetReferenceToRawData)^ = Pointer(arr));
   value.SetArrayElement(0, 84);
   CheckEquals(arr[0], 84);
 end;