Commit Graph

272 Commits

Author SHA1 Message Date
Crzyrndm
5671167d1d add cmake option XLNT_CXX_LANG to set the targetted cxx standard
- valid options are 11, 14, and 17
- default is 14
- cmake will error if an invalid value is provided
- requires cmake >= 3.10.* to take effect in visual studio
2018-07-15 21:23:22 +12:00
Crzyrndm
24b4b6c628 declaration/definition switched files
For some reason, the declaration was in the source file. Don't ask why, I don't know
2018-07-13 11:43:13 +12:00
Crzyrndm
54b1affd1e Merge remote-tracking branch 'upstream/dev' into dev-test-suite-improvements
# Conflicts:
#	tests/workbook/workbook_test_suite.cpp
2018-07-13 11:38:56 +12:00
Crzyrndm
1ab25fa7fc
Merge branch 'dev' into dev-Issue298 2018-07-13 11:21:13 +12:00
Crzyrndm
cffb1ce345 restart CI 2018-07-10 14:12:26 +12:00
Crzyrndm
0e69ea95bf fix build errors, fix warning about pragma once in source file 2018-07-10 13:43:16 +12:00
Crzyrndm
bf5105f0a3 fix static initialisation order issues causing the tests vector to get reset 2018-07-10 13:37:34 +12:00
Crzyrndm
4afc0963c6 add post (in/de)crement tests 2018-07-10 12:41:00 +12:00
Crzyrndm
b95919323d add more tests for worksheet iterator, add operator--
* operator-- completes the naive bidirectional iterator requirements
* tests for various construction and assignment behaviours
* tests for iteration and dereferencing behaviours
2018-07-10 12:40:56 +12:00
Crzyrndm
51545734e8 Cleanup and remove <xlnt/xlnt.hpp> 2018-07-05 21:26:29 +12:00
Crzyrndm
03a56d8af9 Change all test headers to source files with related modifications
Issue #299
2018-07-05 20:47:24 +12:00
Crzyrndm
a7b167032b Modifications to test suite to support test auto-registration
Issue #299
2018-07-05 20:46:32 +12:00
Crzyrndm
a8fa6637fe fix workbook::operator== always returning false, add tests for workbook::load
workbook::operator== was comparing the value of the raw pointer held by two std::unique_ptr's. By definition, this is always false in a well behaved program (if it's true, things go bang...). This then led to adding equality operators to nearly every other struct/class in xlnt to support workbook::operator==

workbook::load and the non-default ctors for loading data from a file are tested using the now functional equality operator

NOTE: a large number of copy ctors need updates/fixing. Many should be defaulted
2018-07-03 14:05:07 +12:00
Crzyrndm
4eecf84713 add simple test for cell::column_index 2018-07-03 13:16:33 +12:00
Crzyrndm
d2d0c2ab55 Serialisation of sheetPr and printOptions elements 2018-06-24 14:02:01 +12:00
Crzyrndm
93323f334d Basic pageSetup persistence
-- NOTE: The struct page_setup doesn't currently reflect the attributes of the pageSetup element
2018-06-24 12:34:56 +12:00
Crzyrndm
7820ac548f re-save custom_heights_widths.xlsx, add defaultColWidth sheet attribute
-- custom_heights was the only test sheet where the integral value was being saved with a trailing ".0"
-- Updated tests to expect the new values
-- added the new property "defaultColWidth"
2018-06-24 11:53:45 +12:00
Crzyrndm
1066b1007c Fixed another embedded unicode sequence 2018-06-18 23:01:15 +12:00
Crzyrndm
15b3bd1b53 unicode escape sequence for libre office pwd
-- to encode: copy the string into unicodelookup.com. Take the hex representation and pad to 4 characters with '0's, prefixing each character with '\u'
2018-06-18 22:40:26 +12:00
Crzyrndm
9bbebe5fdd Add __LINE__ to test assert failed messages 2018-06-18 22:40:25 +12:00
Crzyrndm
bd90cc4786 add brackets to macro expressions to ensure expected expansion results 2018-06-18 22:40:25 +12:00
Crzyrndm
6d16ffaddf Final test report now includes the test failure message 2018-06-18 22:40:25 +12:00
Crzyrndm
cfef764ab9 Add exception message and test name to std::cout when a test fails
-- '*' doesn't help much when debugging
2018-06-18 22:40:25 +12:00
Crzyrndm
92ae444791 round trip unicode test had the same embedded encoding issue 2018-06-18 22:40:25 +12:00
Crzyrndm
fa2b20da99 fix encoding issues with unicode file test
-- unicode string literals don't seem to work in an obvious way. Embedding the encoding using the \u escape sequences (https://en.wikibooks.org/wiki/Unicode/Character_reference/0000-0FFF)
2018-06-18 22:40:24 +12:00
Crzyrndm
fc7c69a724 Base selection on Excel behaviour
-- sqref is a block of selected cells containing the active_cell (normally is just == active_cell)
-- active cell is the selected vell in this selection/view/pane
-- inactive selections use the top-left cell as the active_cell
2018-06-18 22:40:24 +12:00
Crzyrndm
6f13002ac6 set selection::sqref in freeze_panes
-- NOTE: It doesn't seem likely that these should be 'A1' in all cases (set to 'A1' because current tests demanded it). Purpose of this parameter needs clarification
-- NOTE: [xlnt::selection] needs appropriate ctor's once the purpose of the parameters can be clarified
2018-06-18 22:40:24 +12:00
Crzyrndm
b4e7832419 Fixes to cell hyper links
-- additional tests to cover both variants of the set function
-- additional tests to cover hyper links on cells with non-string data
-- modified hyper link set function to handle cells with non-string data
-- fixed test behaviour for a cell with no value (value is set to the string form of the link. Behaviour copied from Excel 2010)
2018-06-18 22:40:24 +12:00
Crzyrndm
04c0b4a1ca Fix issues with the worksheet "title" setter.
-- Resolves two test failures caused by a crash when setting the title to the existing value removing the sheet from the 'sheet_title_rel_id_map_'
-- added empty title check
2018-06-18 22:40:23 +12:00
Thomas Fussell
e350a7734d implement abspath and archid flags, fixes some serialization problems 2018-05-28 23:13:57 -04:00
Thomas Fussell
50850ffb8a work on round-tripping for #230 2018-04-24 17:58:17 -04:00
Thomas Fussell
617f7a2525 improve hyperlinks and style round tripping 2018-03-21 09:03:37 -04:00
Thomas Fussell
410e73d594 work on hyperlinks, x14 extentions, other round tripping silliness 2018-03-16 21:21:16 -04:00
Thomas Fussell
2426215801 implement sheet view serialization 2018-03-14 20:12:07 -04:00
Thomas Fussell
0f0d3de75f implement sheetFormatPr, x14ac:dyDescent, reordering workbook rels so sheets come first after insertions 2018-01-26 14:32:00 -05:00
Thomas Fussell
90633d0e8e copyright year bump (2018) 2018-01-22 09:38:48 -05:00
Thomas Fussell
c960453ff4 prevent supression of failing round-trip tests 2017-12-10 15:03:03 -05:00
Thomas Fussell
c4a2bb8c6d Revert "add row height and column width serialization tests"
This reverts commit dc4befd867.
2017-10-30 19:53:39 -04:00
Thomas Fussell
470c655df6 fix empty row height/cell width, #235 2017-10-30 19:36:24 -04:00
Thomas Fussell
dc4befd867 add row height and column width serialization tests 2017-10-30 17:23:14 -04:00
Thomas Fussell
06b315b352 add interface to worksheet and range for clearing cells entirely, not just their values, for #232 2017-10-26 13:45:56 -04:00
Thomas Fussell
0e0bf0f8a1 continue work on #230, improves style/xf handling 2017-10-26 12:54:54 -04:00
Thomas Fussell
75de03745b start fixing serialization for #230 2017-09-28 08:55:16 -04:00
Thomas Fussell
e910666c56 include missing header in path_helper 2017-09-27 17:35:35 -04:00
Thomas Fussell
919c65ceea Merge pull request #229 from downwash/master
Fix for issue #228: Worksheet ID is not always unique
2017-09-27 17:32:40 -04:00
vervbe
c05b9f33c1 Fix for issue #228: Worksheet ID is not always unique
- Worksheet ID now generated from the maximum of existing IDs
- Worksheet ID no longer copied from existing sheet
- Added tests
2017-09-26 08:33:06 +02:00
Thomas Fussell
b2adee9fd3 implement upper case date/time handling, closes #221, closes #222, related to #220 2017-09-13 10:47:18 -04:00
Thomas Fussell
f27df9732c add option to enable linking with static C runtime when compiling with MSVC, #214 2017-09-13 10:20:51 -04:00
Thomas Fussell
81812d6e29 implement sheet view selection consumption, closes #164 2017-09-13 09:36:42 -04:00
Thomas Fussell
9d71dda531 ensure only exceptions derived from xlnt::exception are thrown by library code plus some minor code cleanup, closes #163 2017-09-13 08:48:22 -04:00