Commit Graph

32 Commits

Author SHA1 Message Date
pierre
128982a5bc Explicitly set values inside TestDataSize procedure to avoid range check errors as values are copied when TValue.Make is called
git-svn-id: trunk@41768 -
2019-03-22 14:27:41 +00:00
svenbarth
56eaa913b5 * correctly check for the Extended value of a Currency and Comp value
git-svn-id: trunk@40765 -
2019-01-04 15:03:27 +00:00
svenbarth
8d235b5f26 * more correct handling of floating point values (especially Comp and Currency) inside TValue
git-svn-id: trunk@40660 -
2018-12-26 22:59:18 +00:00
svenbarth
7bb147dce0 + add TRttiMethodType for method variables and TRttiProcedureType for procedure variables
git-svn-id: trunk@39888 -
2018-10-07 12:25:42 +00:00
svenbarth
0f7f9c2bb8 + add support for open arrays in TValue; this is *not* supported by Delphi
Note: open array TValue "instances" are only valid till the routine with the open array parameter has returned, but they can be converted to a dynamic array value with the help of the OpenArrayToDynArrayValue<> function

git-svn-id: trunk@39886 -
2018-10-07 12:25:36 +00:00
svenbarth
be698b970b * ensure the correct values for TValue.GetReferenceToRawData for TObject and dynamic array types
git-svn-id: trunk@39883 -
2018-10-07 12:25:27 +00:00
svenbarth
88a9d07820 * extend test so that the methods and parameters of interfaces are checked as well
git-svn-id: trunk@37764 -
2017-12-18 21:37:50 +00:00
svenbarth
c15bcc693d * also check the base types of interfaces
git-svn-id: trunk@37706 -
2017-12-08 23:01:25 +00:00
svenbarth
1cb4514526 + add support for interface types (both reference counted and raw ones)
git-svn-id: trunk@37704 -
2017-12-08 22:52:26 +00:00
svenbarth
d9bc656852 * use new pool functionality for property instances
* extended test

git-svn-id: trunk@37418 -
2017-10-07 17:32:28 +00:00
svenbarth
0c8f670ee0 + add TRttiPointerType
* extend Rtti test

git-svn-id: trunk@37402 -
2017-10-05 21:10:30 +00:00
svenbarth
0b1b82bb2d * test reference of empty values of different types
git-svn-id: trunk@37075 -
2017-08-27 14:02:14 +00:00
svenbarth
25d9c85a87 - remove debug output -.-
git-svn-id: trunk@37073 -
2017-08-27 13:30:06 +00:00
svenbarth
36451e271c * test for unassigned TypeInfo
git-svn-id: trunk@37072 -
2017-08-27 13:29:14 +00:00
svenbarth
4de7b43a5c * enable tests of TTestMethod, TTestEnum and TTestSet now that they're public and Delphi doesn't complain anymore about them not having any runtime information...
git-svn-id: trunk@37070 -
2017-08-27 12:42:45 +00:00
svenbarth
b1439c066a * share types to reduce unnecessary duplication
git-svn-id: trunk@37067 -
2017-08-27 11:59:34 +00:00
svenbarth
4dc6d1f8f6 * test for correct DataSize if value is empty
git-svn-id: trunk@37066 -
2017-08-27 11:47:39 +00:00
svenbarth
5f02c30eed * explicitely state which check failed
git-svn-id: trunk@37063 -
2017-08-27 11:42:59 +00:00
svenbarth
292dff2e8c + add test for TValue.DataSize
git-svn-id: trunk@36991 -
2017-08-20 19:50:49 +00:00
svenbarth
c74afe6824 * expand test cases
git-svn-id: trunk@36987 -
2017-08-20 19:21:48 +00:00
maciej-izak
fff81bea64 * fix test run in Delphi: new Delphi (probably since XE7) has bug for method pointer which is considered as managed. Older Delphi versions are ok in this matter.
git-svn-id: trunk@36931 -
2017-08-17 21:45:55 +00:00
svenbarth
a3652bb69d * fix test run in Delphi: for some reason a method pointer is considered managed by Delphi
git-svn-id: trunk@36903 -
2017-08-14 19:09:52 +00:00
svenbarth
251d223f29 * fix test run in Delphi: TypeInfo(Integer) is indeed for "Integer" in Delphi, not "LongInt" as in FPC
git-svn-id: trunk@36902 -
2017-08-14 19:09:24 +00:00
svenbarth
88eabc12ff * fix warnings in Delphi test compilation: published implicitely enables $M for the class
git-svn-id: trunk@36901 -
2017-08-14 19:08:32 +00:00
svenbarth
bb947ed639 * fix test compilation in Delphi: TypeInfo() of a file type is not supported
git-svn-id: trunk@36900 -
2017-08-14 19:07:10 +00:00
svenbarth
95f3c6c427 * fix test compilation in Delphi: TypeInfo() requires a type identifier, variables/parameters are not supported :'(
git-svn-id: trunk@36899 -
2017-08-14 19:06:27 +00:00
svenbarth
2c70a0431e * fix test compilation in Delphi: raw interfaces are not supported in Delphi
git-svn-id: trunk@36898 -
2017-08-14 19:04:34 +00:00
svenbarth
dd906faf04 * fix test compilation in Delphi: management operators are not supported in Delphi
git-svn-id: trunk@36897 -
2017-08-14 19:03:45 +00:00
maciej-izak
ffd6465563 * rtti.pp: Update IsManaged function for management operators. Record without managed fields but with management operators is treated as managed record. tests.rtti.pas update.
git-svn-id: trunk@35485 -
2017-02-28 10:18:05 +00:00
maciej-izak
b38243c5cb Improvement for IsManaged in RTTI module: ShortString is not managed type. Test corrected.
git-svn-id: trunk@35405 -
2017-02-06 20:41:28 +00:00
maciej-izak
a4952071e3 Corrected function IsManaged for RTTI module. Return true if is passed managed type (finally it is possible thanks to r35180 and mantis 31249).
New test case "TestIsManaged" added in tests.rtti

git-svn-id: trunk@35404 -
2017-02-06 20:35:25 +00:00
svenbarth
3e5f8af01d + add RTTI unit from Joost's Attribute branch
* adjust unit to work without attributes
* adjust unit to work without unit list (TRttiContext.GetTypes is disabled due to this)
+ add ShortString support (due to an intermediary test I had done in $H-)
+ add unit test from Joost's Attribute branch
* adjust unit test accordingly (no attributes, no TRttiContext.GetTypes)
+ add ShortString tests
+ add testrunner for RTL-ObjPas tests using the new simpletestrunner

git-svn-id: trunk@35096 -
2016-12-09 20:45:46 +00:00