Explorar el Código

* test for unassigned TypeInfo

git-svn-id: trunk@37072 -
svenbarth hace 8 años
padre
commit
36451e271c
Se han modificado 1 ficheros con 22 adiciones y 0 borrados
  1. 22 0
      packages/rtl-objpas/tests/tests.rtti.pas

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

@@ -247,6 +247,28 @@ procedure TTestCase1.TestMakeNil;
 var
   value: TValue;
 begin
+  TValue.Make(Nil, Nil, value);
+  Writeln('Kind');
+  CheckTrue(value.Kind = tkUnknown);
+  Writeln('IsEmpty');
+  CheckTrue(value.IsEmpty);
+  Writeln('IsObject');
+  CheckTrue(value.IsObject);
+  Writeln('IsClass');
+  CheckTrue(value.IsClass);
+  Writeln('IsOrdinal');
+  CheckTrue(value.IsOrdinal);
+  Writeln('IsArray');
+  CheckFalse(value.IsArray);
+  Writeln('AsObject');
+  CheckTrue(value.AsObject = Nil);
+  Writeln('AsClass');
+  CheckTrue(value.AsClass = Nil);
+  Writeln('AsInterface');
+  CheckTrue(value.AsInterface = Nil);
+  Writeln('AsOrdinal');
+  CheckEquals(0, value.AsOrdinal);
+
   TValue.Make(Nil, TypeInfo(TObject), value);
   CheckTrue(value.IsEmpty);
   CheckTrue(value.IsObject);