From b6a87450eb2ca9f68a8d8be3e1a76e13ff8fcebd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Van=20Canneyt?= Date: Wed, 7 Jun 2023 11:55:22 +0200 Subject: [PATCH] * test for variant TValue --- .../rtl-objpas/tests/tests.rtti.value.pas | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/packages/rtl-objpas/tests/tests.rtti.value.pas b/packages/rtl-objpas/tests/tests.rtti.value.pas index 8aeba4ae89..4c4a41b4fa 100644 --- a/packages/rtl-objpas/tests/tests.rtti.value.pas +++ b/packages/rtl-objpas/tests/tests.rtti.value.pas @@ -40,6 +40,7 @@ Type procedure TestMakeWideChar; procedure TestMakeNativeInt; + procedure TestMakeVariant; procedure TestMakeGenericNil; @@ -1251,6 +1252,28 @@ begin o.Free; end; +procedure TTestValueSimple.TestMakeVariant; +var + vv : Variant; + vd : TVarData; + v: TValue; +begin + vv := 'Some String'; + + TValue.Make(@vv, TypeInfo(Variant), v); + Check(not v.IsClass); + Check(not v.IsArray); + Check(not v.IsEmpty); +{$ifdef fpc} + Check(not v.IsOpenArray); +{$endif} + Check(not v.IsObject); + Check(not v.IsOrdinal); + + Check(v.GetReferenceToRawData <> @vv); + Check(String(v.AsVariant) = 'Some String'); +end; + procedure TTestValueArray.TestMakeFromArray; var arr, subarr: array of TValue;