lazarus-ccr/components/fpspreadsheet/tests
2020-07-29 17:41:00 +00:00
..
celltypetests.pas fpspreadsheet: Add test cases for Excel 2003/XML format. Not complete yet, some test failures. 2019-07-17 22:33:22 +00:00
colortests.pas fpspreadsheet: Add Worksheet.TabColor support. Update biff8/ooxml/ods readers/writers for it. Add test case for it. 2020-02-10 15:23:30 +00:00
colrowtests.pas fpspreadsheet: Add TsWorksheetIndicator as new visual control. Donated by forum user "abcthing" (https://forum.lazarus.freepascal.org/index.php/topic,49312.0.html) 2020-04-15 22:19:20 +00:00
commenttests.pas fpspreadsheet: Add test cases for Excel 2003/XML format. Not complete yet, some test failures. 2019-07-17 22:33:22 +00:00
conditionalformattests.pas fpspreadsheet: Add, with r/w support, conditional date formats cfcLastYear, cfcThisYear, cfcNextYear. 2020-07-29 17:41:00 +00:00
copytests.pas fpspreadsheet: Redo storage of formulas: formulas now are stored in a separate tree independent of the cells tree. The field FormulaValue of TCell record was removed. All unit tests passed. Demos updated (issues of speedtest due to SST in BIFF8 found - not related). 2018-05-30 22:15:07 +00:00
datetests.pas fpspreadsheet: Add test cases for Excel 2003/XML format. Not complete yet, some test failures. 2019-07-17 22:33:22 +00:00
dbexporttests.pas fpspreadsheet: Move type declarations from fpspreadsheet.pas to new unit fpstypes.pas. Update all examples. 2015-01-17 22:57:23 +00:00
emptycelltests.pas fpspreadsheet: Extend file-based test cases for Excel2003/XML file format. Still lots of issues. 2019-07-18 08:51:02 +00:00
enumeratortests.pas fpspreadsheet: In fpspreadsheet.pas, extract cells AVLTree to fpsclasses.pas. Implement enumerator for the avl trees. Add unit tests for cell and comment enumeration. 2015-03-04 17:30:59 +00:00
errortests.pas fpspreadsheet: Add test cases for Excel 2003/XML format. Not complete yet, some test failures. 2019-07-17 22:33:22 +00:00
exceltests.pas fpspreadsheet: Fix compilation of new Excel unit test for non-Windows systems. 2016-03-09 09:55:28 +00:00
fileformattests.pas fpspreadsheet: Extend file-based test cases for Excel2003/XML file format. Still lots of issues. 2019-07-18 08:51:02 +00:00
fonttests.pas fpspreadsheet: Extend file-based test cases for Excel2003/XML file format. Still lots of issues. 2019-07-18 08:51:02 +00:00
formattests.pas fpspreadsheet: Fix inconsistencies in test suite introduced by FPC 3.2.0 2020-07-16 20:47:01 +00:00
formulatests.pas fpspreadsheet: Fix 3d formulas crashing when reading Excel2003/XML files because target sheets have not yet been loaded. 2019-07-18 21:38:01 +00:00
hyperlinktests.pas fpspreadsheet: Extend file-based test cases for Excel2003/XML file format. Still lots of issues. 2019-07-18 08:51:02 +00:00
internaltests.pas fpspreadsheet: Extend file-based test cases for Excel2003/XML file format. Still lots of issues. 2019-07-18 08:51:02 +00:00
lazarus32x32.png fpspreadsheet: Add tests for Excel being able to read files containing commens, images, header/footer images, and hyperlinks. 2016-03-08 13:38:04 +00:00
manualtests.pas fpspreadsheet: Major reconstructor of color management: no more palettes now, use direct rgb colors instead. May break existing code - sorry! Update all demos and unit tests (passed). 2015-05-28 20:08:24 +00:00
mathtests.pas fpspreadsheet: Avoid Banker's rounding (https://forum.lazarus.freepascal.org/index.php/topic,46104.0.html). Add unit tests for it. 2019-07-20 16:52:10 +00:00
numberstests.pas fpspreadsheet: Extend file-based test cases for Excel2003/XML file format. Still lots of issues. 2019-07-18 08:51:02 +00:00
numformatparsertests.pas fpspreadsheet: Fix unit tests broken after r7152 (lower-case "d", "m" and "y" date format symbols). 2020-01-28 11:32:46 +00:00
optiontests.pas fpspreadsheet: Add test cases for Excel 2003/XML format. Not complete yet, some test failures. 2019-07-17 22:33:22 +00:00
pagelayouttests.pas fpspreadsheet: Fix inconsistencies in test suite introduced by FPC 3.2.0 2020-07-16 20:47:01 +00:00
protectiontests.pas fpspreadsheet: Done - Excel2003/XML format passes all tests. 2019-07-19 22:42:59 +00:00
readme.txt + Add date/time/datetime read/write support for BIFF8 xls format. No plans for earlier formats though the code could be adapted 2013-12-07 13:42:22 +00:00
rpnformulaunit.pas fpspreadsheet: optimize workbook font infrastructure to avoid that missing font 4 dictated by Excel. Remove UsedFormattingField uffBold (obsolete since supporting fonts). 2015-03-11 22:28:07 +00:00
singleformulatests.pas fpspreadsheet: Extend file-based test cases for Excel2003/XML file format. Still lots of issues. 2019-07-18 08:51:02 +00:00
sortingtests.pas fpspreadsheet: Add units (mm, cm, in, pts, lines/chars) for column width and row heights. Update all demos (some issues left). 2016-03-18 19:50:40 +00:00
spreadtestcli.lpi fpspreadsheet: Fix test suite crashing due to changes in ODS writer. All green again. 2020-07-08 16:59:42 +00:00
spreadtestcli.lpr fpspreadsheet: Fix test suite crashing due to changes in ODS writer. All green again. 2020-07-08 16:59:42 +00:00
spreadtestgui.lpi fpsprreadsheet: Add conditional date formats, read/write support for XLSX, ODS, ExcelXML. Add unit tests. 2020-07-29 16:55:45 +00:00
spreadtestgui.lpr fpspreadsheet: Add a few test cases for conditional formatting 2020-07-08 22:01:09 +00:00
spreadtestgui.res fpspreadsheet: Fix conversion of biff palette colors for fonts in reader. 2017-05-17 21:43:30 +00:00
ssttests.pas fpspreadsheet: Write biff8 text cells to shared-string-table to overcome string truncation at 255 characters. 2017-11-03 13:39:12 +00:00
stringtests.pas fpspreadsheet: Add test cases for Excel 2003/XML format. Not complete yet, some test failures. 2019-07-17 22:33:22 +00:00
testbiff8_1899.xls fpspreadsheet: Fix format in predefined test files (test*_1899*.* and test*_1904*.*); fix biff8 ignoring cell format in shared formula range. 2015-05-02 14:25:39 +00:00
testbiff8_1904.xls fpspreadsheet: Fix format in predefined test files (test*_1899*.* and test*_1904*.*); fix biff8 ignoring cell format in shared formula range. 2015-05-02 14:25:39 +00:00
testcases_calc3dformula.inc fpspreadsheet: Simplify handling of 3d references. Fix bug related to 3d reference type 'Sheet1:Sheet2!A1'. 2018-05-16 17:44:02 +00:00
testcases_calcrpnformula.inc fpspreadsheet: Fix reading of ods files containing formulas with several arguments (separator semicolon). Update unit tests. (Still issues with files posted at https://forum.lazarus.freepascal.org/index.php/topic,42168.msg293792.html). 2018-08-09 14:28:17 +00:00
testdbwriter_firebird.sql Cosmetic: better test reporting database 2014-03-25 14:44:04 +00:00
testdbwriter_postgresql.sql + Add date/time/datetime read/write support for BIFF8 xls format. No plans for earlier formats though the code could be adapted 2013-12-07 13:42:22 +00:00
testdbwriter.ini + Add date/time/datetime read/write support for BIFF8 xls format. No plans for earlier formats though the code could be adapted 2013-12-07 13:42:22 +00:00
testdbwriter.pas Cosmetic: better test reporting database 2014-03-25 14:44:04 +00:00
testdbwriter.rc + Add date/time/datetime read/write support for BIFF8 xls format. No plans for earlier formats though the code could be adapted 2013-12-07 13:42:22 +00:00
testdbwriter.res * fpspreadsheet: resource file 2014-09-30 12:00:04 +00:00
testodf_1899.ods fpspreadsheet: Fix format in predefined test files (test*_1899*.* and test*_1904*.*); fix biff8 ignoring cell format in shared formula range. 2015-05-02 14:25:39 +00:00
testodf_1904.ods fpspreadsheet: Fix format in predefined test files (test*_1899*.* and test*_1904*.*); fix biff8 ignoring cell format in shared formula range. 2015-05-02 14:25:39 +00:00
testooxml_1899.xlsx fpspreadsheet: Fix format in predefined test files (test*_1899*.* and test*_1904*.*); fix biff8 ignoring cell format in shared formula range. 2015-05-02 14:25:39 +00:00
testooxml_1904.xlsx fpspreadsheet: Fix format in predefined test files (test*_1899*.* and test*_1904*.*); fix biff8 ignoring cell format in shared formula range. 2015-05-02 14:25:39 +00:00
testsutility.pas fpspreadsheet: Add test cases for Excel 2003/XML format. Not complete yet, some test failures. 2019-07-17 22:33:22 +00:00
testxml_1899.xml fpspreadsheet: Add test cases for Excel 2003/XML format. Not complete yet, some test failures. 2019-07-17 22:33:22 +00:00
testxml_1904.xml fpspreadsheet: Add test cases for Excel 2003/XML format. Not complete yet, some test failures. 2019-07-17 22:33:22 +00:00
virtualmodetests.pas fpspreadsheet: Extend file-based test cases for Excel2003/XML file format. Still lots of issues. 2019-07-18 08:51:02 +00:00

Tests for fpspreadsheet

spreadtestgui
=============
Lets you quickly run tests in a GUI.
If there are problems, you can open the spreadtestgui.lpr in Lazarus, compile it with debug mode, and trace through the offending test and the fpspreadsheet code it calls.
More details: FPCUnit documentation

spreadtestcli
=============
Command line version of the above, extended with database output. Useful for scripting use (use e.g. --all --format=plain.

For output to an embedded Firebird database, make sure the required dlls/packages are present and run the program, e.g:
spreadtestcli --comment="Hoped to have fixed that string issue" --revision="482"
(the revision is the SVN revision number, so you can keep track of regresssions)

More details: FPCUnit documentation and
https://bitbucket.org/reiniero/testdbwriter

The tests
=========
Basic tests read XLS files and check the retrieved values against a list. This tests whether reading dates, text etc works.

Another test is to take that list of normative values, write it to an xls file, then read back and compare with the original list. This basically tests whether write support is correct.
The files are written to the temp directory. They are deleted on succesful test completion; otherwise they are kept so you can open them up with a spreadsheet application/mso dumper tool/hex editor and check what exactly got written.

Finally, there is a manual test unit: these tests write out cells to a spreadsheet file (testmanual.xls) that the user should inspect himself. Examples are tests for colors, formatting etc.

Adding tests
============
For most tests:
- Add new cells to the A column in the relevant xls files; see comments in files.
- Add corresponding normative/expected value in the relevant test unit; increase array size
- Add your tests that read the data from xls and checks against the norm array.

Note that tests that check for known failures are quite valuable. You can indicate you expect an exception etc. 

Ideas for more tests:
- add more tests to internaltests to explicitly tests fpspreadsheet functions/procedures/properties that don't read/write to xls/xml files
- writing RPN formulas in the manualtests unit
- more xls/xml file formats tested
- more corner cases
- writing all data available to various sheets and reading it back to test whether complex sheets work
- reading faulty files to test exception handling

For more details, please see the FPCUnit documentation.