lazarus-ccr/components/fpspreadsheet/tests
2017-03-07 22:02:09 +00:00
..
celltypetests.pas
colortests.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
commenttests.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
copytests.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
datetests.pas fpspreadsheet: Add header/footer parser for conversion between Excel and ODS header/footer. Still some bugs. 2015-05-09 22:40:59 +00:00
dbexporttests.pas
emptycelltests.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
enumeratortests.pas
errortests.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
exceltests.pas fpspreadsheet: Fix compilation of new Excel unit test for non-Windows systems. 2016-03-09 09:55:28 +00:00
fonttests.pas fpspreadsheet: Replace new fpsutils.GetSetValues by typinfo.SetToString. 2015-10-31 10:35:16 +00:00
formattests.pas fpspreadsheet: Fix numberformat fails in csv unit tests. A tests passed now. 2017-03-02 12:17:32 +00:00
formulatests.pas fpspreadsheet: Another exotic formula test case: multiple application of % operator. 2015-06-08 17:11:46 +00:00
hyperlinktests.pas fpspreadsheet: Fix unit reference error in spreadtestgui. 2016-11-06 08:36:37 +00:00
insertdeletetests.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
internaltests.pas fpspreadsheet: Fix valid sheetname test case. 2016-06-03 21:43:46 +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
numberstests.pas
numformatparsertests.pas fpspreadsheet: Fix compilation issues when fpc version is changed: separate package units into different folders, incorporate code of fpsnumformatparser in unit fpsnumformat and code of fpsregfileformats in units fpsreaderwriter. Check and fix all demos. 2016-10-22 20:59:00 +00:00
optiontests.pas fpspreadsheet: Add unit tests for hidden worksheets. 2017-03-01 20:16:47 +00:00
pagelayouttests.pas fpspreadsheet: Move PageLayout to separate unit (fpsPageLayout). Move PrintRanges and RepeatedRows/Cols to PageLayout. Some simplifiations because TsPageLayout is a class now. Prepare for images in header/footer. 2016-03-04 23:01:21 +00:00
protectiontests.pas fpspreadsheet: Add writing support for xls password hashes. Add test case for it. 2017-03-07 22:02:09 +00:00
readme.txt
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
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: Make sure that all demos are compiled with -Xg 2017-02-20 17:21:56 +00:00
spreadtestcli.lpr fpspreadsheet: Make number format parser independent of workbook. Some cleanup. 2015-05-31 16:06:22 +00:00
spreadtestgui.lpi fpspreadsheet: Add support of workbook, worksheet, and cell protection for xlsx (modified patch by shobits1, see http://forum.lazarus.freepascal.org/index.php/topic,36075.0.html). Add protection unit tests. 2017-03-04 21:29:12 +00:00
spreadtestgui.lpr fpspreadsheet: Add support of workbook, worksheet, and cell protection for xlsx (modified patch by shobits1, see http://forum.lazarus.freepascal.org/index.php/topic,36075.0.html). Add protection unit tests. 2017-03-04 21:29:12 +00:00
spreadtestgui.res
stringtests.pas
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_calcrpnformula.inc fpspreadsheet: Another exotic formula test case: multiple application of % operator. 2015-06-08 17:11:46 +00:00
testdbwriter_firebird.sql
testdbwriter_postgresql.sql
testdbwriter.ini
testdbwriter.pas
testdbwriter.rc
testdbwriter.res
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
virtualmodetests.pas fpspreadsheet: Fix compilation of spreadsheet tests 2016-09-24 18:31:03 +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.