Commit Graph

1293 Commits

Author SHA1 Message Date
Crzyrndm
d9513442b5 test for overloaded operator=(T)
Issue #300
2018-07-07 17:57:41 +12:00
Crzyrndm
be0dc2fc9a testing current optional implementation against target behaviour
Issue #300
-- NOTE: construction from no_default currently wont compile so is commented out (L:113)
-- NOTE: dll import/export of template classes is probably unnecessary (the header is already required) and doesn't work in the general case (explicit instantiations are required for at least MSVC)
2018-07-07 17:53:07 +12:00
Crzyrndm
9a9dd64306 fix static initialisation order issues causing the tests vector to get reset 2018-07-07 17:45:13 +12:00
Crzyrndm
1ab40c8cde Merge remote-tracking branch 'origin/test-auto-registration' into dev-resolve-simple-issues
# Conflicts:
#	tests/CMakeLists.txt
#	tests/cell/cell_test_suite.cpp
#	tests/runner.cpp
#	tests/workbook/workbook_test_suite.cpp
2018-07-06 11:57:21 +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
c96e3a349c once more for that build error 2018-07-03 14:48:21 +12:00
Crzyrndm
2e7830ea91 another simple build issue fix 2018-07-03 14:43:27 +12:00
Crzyrndm
887dfa56da fix build failure due to missing std::equal overload 2018-07-03 14:37:24 +12:00
Crzyrndm
e016170022 Merge remote-tracking branch 'origin/dev-remove-std-iterator' into dev-resolve-simple-issues
# Conflicts:
#	tests/workbook/workbook_test_suite.hpp
2018-07-03 14:32:56 +12:00
Crzyrndm
0e951c4665 Merge remote-tracking branch 'origin/test-examples' into dev-resolve-simple-issues
Issue #275
2018-07-03 14:28:15 +12:00
Crzyrndm
cf4026536c Merge remote-tracking branch 'origin/dev-unimplemented-functions' into dev-resolve-simple-issues
# Conflicts:
#	source/utils/variant.cpp
2018-07-03 14:21:24 +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
688c8c7f33 add column_index to cell to be consistent with cell_reference
Issue #298
The consistency argument is a good one in my opinion
2018-07-03 11:10:47 +12:00
Crzyrndm
fb195e2777 fix accidentally copied ctor declaration 2018-07-03 11:09:33 +12:00
Crzyrndm
bb04205dac workbook parameterised constructors
Issue #298
- all 4 are simply duplicating existing behaviour, but perhaps we can get a more optimal version in future
- istream ctor is intended as an extension point that can then be used to create free/static functions to work with any future data source (vector), while the path ctor is a convenience function for the common case (from file)
2018-07-02 21:33:27 +12:00
Crzyrndm
0aeb6a0765 improved hyperlink implementation
- hyperlinks to cells and ranges are complete
- hyperlink::display is now set as well as the cell value (in excel these can be different)
-- if a cell is empty, display is equal to value text
-- if a cell has a value, display can be just about anything
- This version copies excel in that display is completely ignored once value is set
- All hyperlink tests are now part of the cell test suite (not the worksheet test suite which the majority were previously located)
2018-07-02 21:06:12 +12:00
Crzyrndm
8fcdd49f0f fix missing return statement 2018-07-02 20:57:09 +12:00
Crzyrndm
c593a16cfb unimplemented functions in range and path 2018-07-02 11:09:41 +12:00
Crzyrndm
bf4c6032be unimplemented functions under worksheet
-- NOTE: ctor was removed because it can't have been in use, and is duplicated by the overload below it. A pair parameter is only optimal in a very limited number of use cases, and then only slightly over the begin/end overload
2018-07-02 10:57:51 +12:00
Crzyrndm
888739ead0 unimplemented functions under workbook/ 2018-07-02 10:55:32 +12:00
Crzyrndm
888cfb259f unimplemented functions under utils/ 2018-07-02 10:49:01 +12:00
Crzyrndm
39801d4350 unimplemented functions under styles/ 2018-07-02 10:43:09 +12:00
Crzyrndm
947037b9d2 All unimplemented functions under cell/ 2018-07-02 10:29:58 +12:00
Crzyrndm
e0d62b0835 Cleanup from review 2018-06-26 20:32:59 +12:00
Crzyrndm
0325c19488 Cleanup 2018-06-25 23:17:21 +12:00
Crzyrndm
3d3a59012a extLst element round tripped 2018-06-25 23:12:35 +12:00
Crzyrndm
4ff68319b0 Fix CI build warnings 2018-06-25 21:45:40 +12:00
Crzyrndm
8ba7f5b45d default is not a contextual keyword 2018-06-25 21:41:25 +12:00
Crzyrndm
fa19d8fccc Providing an explicit default value disables aggregate initialisation 2018-06-25 21:35:02 +12:00
Crzyrndm
49bd0c8fb4 Fix warnings + CI compile error 2018-06-25 21:28:17 +12:00
Crzyrndm
840d1bcefc Serialisation of extLst without namespace support
-- roundtripping namespaces requires modifications of the parser used for the entire worksheet as there does not appear to be a way to track the namespace changes without listening/registering for the event. This (ofcourse) breaks lots of other things...
2018-06-24 23:08:23 +12:00
Crzyrndm
a347d9c05d ext_list parsing for worksheets 2018-06-24 21:25:58 +12:00
Crzyrndm
1c1d63498a Parsing headerFotter block of test sheet correctly 2018-06-24 17:31:05 +12:00
Crzyrndm
d12d2e450b std::to_string is not good fpr serialising doubles
-- it uses fixed 6dp, xlsx wants 15sf
-- stringstream with precision set to 15 serialises correctly
2018-06-24 14:29:56 +12:00
Crzyrndm
e8fcd49c0d Add serialisation of "topLeftCell" sheetView attribute 2018-06-24 14:19:03 +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
884558fd15 Write numbers using a standard formatter (15sf to match excel) 2018-06-24 11:06:02 +12:00
Crzyrndm
f62e5fe5f7 Fix every 16th row (17, 33, ...) having data dropped 2018-06-24 10:20:30 +12:00
Crzyrndm
d81555dbae Add "bestFit" column attribute serialisation 2018-06-24 10:13:27 +12:00
Crzyrndm
4cfb74443c fixing build warnings 2018-06-23 22:43:11 +12:00
Crzyrndm
3eb06bac0d serialisation of custom row format property added 2018-06-23 22:29:57 +12:00
Crzyrndm
fe90c9d488 Fix build errors and warnings 2018-06-23 21:08:12 +12:00
Crzyrndm
07ea740d11 Add the ext_list class for parsing extLst xml elements to/from
-- no tests as yet
2018-06-23 19:08:39 +12:00
Crzyrndm
fde3b90bda implement overload of manifest::has_relationship(path, relation_id) 2018-06-23 13:19:34 +12:00
Crzyrndm
5817ef5cf0 Add serialisation of worksheet phonetic properties 2018-06-23 12:15:15 +12:00