Commit Graph

48 Commits

Author SHA1 Message Date
svenbarth
42d126e713 * enable Invoke() tests for i386
git-svn-id: trunk@41537 -
2019-03-01 15:21:01 +00:00
svenbarth
c2da9abd17 * correctly compare floating point values in TValue
git-svn-id: trunk@41535 -
2019-03-01 15:20:56 +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
30b1a45704 + add tests for TMethodImplementation for method and procedure variables
git-svn-id: trunk@40700 -
2018-12-29 19:21:20 +00:00
svenbarth
bef1b84d63 * move utility code to a separate unit
git-svn-id: trunk@40692 -
2018-12-29 19:20:51 +00:00
svenbarth
cfd8df4894 + add tests for raw Invoke() which needs to determine the result location by itself
git-svn-id: trunk@40667 -
2018-12-26 22:59:39 +00:00
svenbarth
30f14cfcc0 + add some more tests for floating point values
git-svn-id: trunk@40665 -
2018-12-26 22:59:33 +00:00
svenbarth
551e36cd19 + add tests for floating point arguments and results
git-svn-id: trunk@40663 -
2018-12-26 22:59:27 +00:00
svenbarth
0d09c3c124 + add utility functions to get TValue values for Single, Double, Extended, Comp and Currency
git-svn-id: trunk@40662 -
2018-12-26 22:59:24 +00:00
svenbarth
bd328025fd * correctly compare tkFloat values
git-svn-id: trunk@40661 -
2018-12-26 22:59:21 +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
e644e6332b - remove forgotten debug code
git-svn-id: trunk@39897 -
2018-10-07 12:51:09 +00:00
svenbarth
c97b607e60 * also run invoke tests if internal function call manager is available (which we prefer to the ffi one)
git-svn-id: trunk@39896 -
2018-10-07 12:26:09 +00:00
svenbarth
509383aeb3 + add define to use ffi function call manager for tests
git-svn-id: trunk@39895 -
2018-10-07 12:26:06 +00:00
svenbarth
afc83b9f70 + implement the high level Invoke() for TRttiMethod (currently only for interface methods), TRttiMethodType and TRttiProcedureType
git-svn-id: trunk@39893 -
2018-10-07 12:25:59 +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
pierre
40f443a974 Add SKIPTARGET for OSes that do not compile fcl-fpcunit
git-svn-id: trunk@38643 -
2018-03-28 14:27:25 +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
0954572af9 * only check result if the call itself succeeded (e.g. didn't fail due to the invoke manager not supporting the calling convention)
git-svn-id: trunk@37700 -
2017-12-08 14:56:48 +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
179b59753d + add optional, not by default enabled test for Invoke
git-svn-id: trunk@37095 -
2017-08-31 21:10:10 +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
0f484eb032 * change from SimpleTestRunner to ConsoleTestRunner and specify CONFIGFILE flag for the testsuite
git-svn-id: trunk@36994 -
2017-08-20 20:25:02 +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