Commit graph

635 commits

Author SHA1 Message Date
Théo DELRIEU
3494014ba0 new unit-udt.cpp tests 2017-01-21 16:14:22 +01:00
Théo DELRIEU
be6b417c87 tweak SFINAE checks for internal types (see commit body)
only check for public types (iterators, json_pointer)

for private ones (m_array.iterator, primitive_iterator) simply double
parentheses on relevant Catch checks
2017-01-21 16:14:22 +01:00
Théo DELRIEU
c847e0eea2 replace constructor by from/to_json: array_t
- tweaked a bit how `get<container<json>>` is handled
- added a from_json overload for forward list
2017-01-21 16:14:22 +01:00
Théo DELRIEU
6d427acdde replace constructor by from/to_json: unscoped enum types
this also means that one can do: j.get<unscoped_enum>();
2017-01-21 16:14:22 +01:00
Théo DELRIEU
a32de3b528 replace constructor by from/to_json: number_unsigned_t
This commit forces a design change in custom JSONSerializer, which might
be temporary
2017-01-21 16:14:21 +01:00
Niels Lohmann
be1d3de49b 💄 moved changes to re2c file and ran make pretty 2017-01-21 16:14:21 +01:00
Théo DELRIEU
aa2679a8ce fix tests, avoid instantiating JSONSerializer when it will not be used 2017-01-21 16:14:21 +01:00
Théo DELRIEU
d5ee5830ed add more tests 2017-01-21 16:14:21 +01:00
Théo DELRIEU
1c21c87e6f use u8 prefix in unit-udt.cpp 2017-01-21 16:14:21 +01:00
Théo DELRIEU
7e750ec1fa fix msvc, by doubling parenthesis on catch assertions 2017-01-21 16:14:21 +01:00
Théo DELRIEU
3d405c6883 add support for enum classes 2017-01-21 16:14:21 +01:00
Théo DELRIEU
8e43d476d3 add more tests to unit-udt.cpp 2017-01-21 16:14:21 +01:00
Théo DELRIEU
1eafac7220 remove explicit keyword on udt-constructor 2017-01-21 16:14:21 +01:00
Théo Delrieu
c0c72b5b62 rewrite unit-udt: basic usage 2017-01-21 16:14:21 +01:00
Théo DELRIEU
60e6f822fa add support for non-default-constructible udt 2017-01-21 16:14:21 +01:00
Théo DELRIEU
e5999c6c82 add a few tests 2017-01-21 16:14:21 +01:00
Théo DELRIEU
88819449c2 remove constraints on JSONSerializer instances, constrain correctly new methods 2017-01-21 16:14:21 +01:00
Théo DELRIEU
23bd2bce35 add is_compatible_* traits 2017-01-21 16:14:21 +01:00
Théo DELRIEU
178441cdfd add basic test for custom serializer 2017-01-21 16:14:21 +01:00
Théo DELRIEU
2bc685f6b4 to_json and from_json takes both two arguments now
the first is the basic_json type, the second the user-defined type
2017-01-21 16:14:21 +01:00
Théo DELRIEU
837b81d672 renamed unit-constructor3.cpp to unit-udt.cpp 2017-01-21 16:14:21 +01:00
Théo DELRIEU
7dc268ef42 add first version for alternate implementation 2017-01-21 16:14:21 +01:00
Théo DELRIEU
4cdc61e493 move most SFINAE trickery in to/from_json_fn 2017-01-21 16:14:21 +01:00
Théo DELRIEU
fe628b585b anonymous namespace renamed to detail 2017-01-21 16:14:21 +01:00
Théo Delrieu
b443edf49e add first version support for user-defined types 2017-01-21 16:14:20 +01:00
Niels Lohmann
1ab26ab367 option to switch off exceptions 2017-01-16 22:11:07 +01:00
Niels Lohmann
a7f3938391 added Big List of Naughty Strings 2017-01-16 20:03:50 +01:00
Niels Lohmann
3a9ccfac22 🚧 cleanup 2017-01-12 21:35:27 +01:00
Niels Lohmann
e9bbf5aaba 🐛 forgot to remove a test case 2017-01-08 09:31:40 +01:00
Niels Lohmann
dd45ba6f89 🚧 renamed version() to meta() 2017-01-08 09:19:44 +01:00
Alex Astashyn
c236b596c9 Merge upstream/develop into feature/locale_independent_str_to_num 2017-01-04 19:20:16 -05:00
Alex Astashyn
949061079a Merge upstream/develop into feature/locale_independent_num_to_str 2017-01-04 18:55:19 -05:00
Niels Lohmann
e1b89dd1d6 Merge branch 'develop' into feature/release_information 2017-01-04 20:06:23 +01:00
Niels Lohmann
cdd3b5a68c 🚑 fix for #416 2017-01-03 23:52:01 +01:00
Niels Lohmann
245a69d554 💄 ran clang-tidy 2017-01-03 21:33:23 +01:00
Niels Lohmann
ea4d71ee21 Merge branch 'develop' into feature/release_information 2017-01-02 17:26:00 +01:00
Niels Lohmann
8b46eb8ec0 📄 it's 2017 already 2017-01-02 09:40:00 +01:00
Niels Lohmann
60b3703c62 🔖 version bump to 2.0.10 2017-01-02 09:35:57 +01:00
Niels Lohmann
d173517212 💄 clean up 2017-01-02 09:21:26 +01:00
Niels Lohmann
09b91406c6 🔀 merge pull request #410 from Daniel599/feature/clang_sanitize
Feature/clang sanitize
2017-01-01 19:45:11 +01:00
Niels Lohmann
cf9bf2d913 🚑 fix for #411 and #412 2017-01-01 15:28:01 +01:00
Daniel Cohen
ff3221a375 #394 fixed memory leak in unit-allocator, found by clang's fsanitize 2016-12-30 15:21:25 +02:00
Niels Lohmann
328eb55dc4 🚧 started working on #397 2016-12-30 14:02:51 +01:00
Niels Lohmann
d7029c37aa improved test coverage 2016-12-30 13:04:33 +01:00
Niels Lohmann
f0edab2363 🚑 fix for #408 2016-12-29 17:00:02 +01:00
Niels Lohmann
383a29a924 🚑 fix for #407 2016-12-29 16:14:15 +01:00
Niels Lohmann
871cebaf84 🚑 fix for #405 2016-12-29 15:39:16 +01:00
Niels Lohmann
1dd99d04b6 Merge branch 'develop' into feature/fuzzer 2016-12-28 12:19:12 +01:00
Niels Lohmann
888f5b9f60 🚚 renamed test files to allow windows build 2016-12-28 12:18:48 +01:00
Niels Lohmann
55be721615 Merge branch 'develop' into feature/fuzzer 2016-12-28 12:11:51 +01:00
Niels Lohmann
acb7e0558d 🚑 fixed bugs detected by AFL-Fuzz 2016-12-28 12:09:15 +01:00
Niels Lohmann
1399abc583 🚧 added MessagePack fuzz target 2016-12-25 16:18:56 +01:00
Niels Lohmann
6de9d4035a 🐛 fixed AFL driver to also read binary data 2016-12-25 16:06:56 +01:00
Niels Lohmann
33be4e7f1f 🚧 cleanup 2016-12-22 12:08:36 +01:00
Niels Lohmann
a084e90f39 🔨 split AFL test in driver and test file 2016-12-22 11:09:26 +01:00
Niels Lohmann
ad241a2260 🔨 moved third-party code into separate folder 2016-12-22 09:35:53 +01:00
Niels Lohmann
303e873ae8 🔖 bumped version to 2.0.9 2016-12-16 20:45:46 +01:00
Niels Lohmann
2f94c30bad added a regression test for #380 / #390 2016-12-13 21:46:07 +01:00
Alex Astashyn
6fba52b6da Merged upstream/develop into feature/locale_independent_str_to_num 2016-12-12 20:27:15 -05:00
Alex Astashyn
65b9b0c429 Disabling snprintf pre-check, since can't get locale-specific behavior to manifest in AppVeyor 2016-12-12 19:50:21 -05:00
Alex Astashyn
0f8de48ddb Disabling strtod pre-check, since can't get locale-specific behavior to manifest in AppVeyor 2016-12-12 19:48:14 -05:00
Niels Lohmann
79fa8b2f41 🚑 fix to address #389 2016-12-12 23:19:43 +01:00
Niels Lohmann
447e01427d 🚨 fixed some warnings 2016-12-12 18:21:17 +01:00
Niels Lohmann
dc6fc3e079 📝 clean up and added documentation for #358 2016-12-11 13:36:08 +01:00
Niels Lohmann
fdce38fa79 fixed a test case 2016-12-11 00:39:26 +01:00
Niels Lohmann
e8c903294f more test cases for CBOR and msgpack 2016-12-11 00:05:29 +01:00
Niels Lohmann
41673e8fed 🐛 fixed CBOR code and added test cases 2016-12-10 23:12:57 +01:00
Niels Lohmann
d99c230f51 implemented indefinite-length CBOR types (#387) 2016-12-10 18:32:56 +01:00
Alex Astashyn
01930357f7 Tweaking unit test, as digits grouping is failing to be invoked in CI 2016-12-08 22:39:38 -05:00
Alex Astashyn
1c029b97c0 Still trying to invoke locale-specific behavior in CI 2016-12-08 22:13:05 -05:00
Alex Astashyn
50f0484ad5 Added unit test for issue #378 2016-12-07 20:23:25 -05:00
Alex Astashyn
27d9740ad6 Tweaks to unit-test for issue #379 2016-12-07 19:55:07 -05:00
Niels Lohmann
81a4272444 more test cases for CBOR 2016-12-07 23:14:37 +01:00
Niels Lohmann
3a0f5398a2 more CBOR test cases 2016-12-07 22:50:10 +01:00
Niels Lohmann
b7e0c12966 CBOR support for half-precision floats 2016-12-07 21:43:59 +01:00
Niels Lohmann
17c9b17a7e test cases from RFC 7049 #384 2016-12-07 21:25:22 +01:00
Niels Lohmann
de289ea336 💚 another approach to the AppVeyor error 2016-12-07 19:15:05 +01:00
Niels Lohmann
81c43dca6a 💚 more AppVeyor fixes 2016-12-07 16:51:15 +01:00
Niels Lohmann
3f14a09e73 💚 another try to fix the AppVeyor build 2016-12-07 16:43:55 +01:00
Niels Lohmann
74571d531c 💚 still fixing the AppVeyor error 2016-12-07 16:34:02 +01:00
Niels Lohmann
2c7946f2bc 💚 hopefully fixed an error on AppVeyor 2016-12-07 16:21:22 +01:00
Niels Lohmann
474da6b28f  more msgpack test cases 2016-12-07 13:47:08 +01:00
Niels Lohmann
be973e52bb more msgpack test cases 2016-12-07 09:19:46 +01:00
Niels Lohmann
a1693bfe48 Merge branch 'develop' into feature/messagepack 2016-12-07 08:39:57 +01:00
Alex Astashyn
6774457733 Trying to coerce setlocale to make snprintf use commas as delimiter some more 2016-12-06 22:59:12 -05:00
Alex Astashyn
d2e9ce270a Trying to coerce setlocale to make snprintf use commas as delimiter; the behavior appears to be compiler/platform-specific 2016-12-06 22:18:20 -05:00
Alex Astashyn
6e8da7d8c4 Added unit-test for issue #379 (locale-independent str-to-num) 2016-12-06 19:45:48 -05:00
Alex Astashyn
2197856395 Fixed suffixing .0 and modified the unit tests accordingly 2016-12-04 01:38:23 -05:00
Alex Astashyn
6b78b5c2be Added strtonum for locale-independent number parsing 2016-12-03 19:05:09 -05:00
Niels Lohmann
4adb8a81bf 📝 version bump 2016-12-02 18:39:35 +01:00
Niels Lohmann
ba3c5e1a25 more test cases 2016-11-29 09:49:05 +01:00
Niels Lohmann
c46b4ea990 more test cases 2016-11-29 08:37:27 +01:00
Niels Lohmann
ee0f23fdc6 🚧 bug fixes and more tests 2016-11-28 23:20:03 +01:00
Niels Lohmann
aeb4f87a27 added return value for emplace (#349) 2016-11-28 18:33:46 +01:00
Niels Lohmann
6ecff31b7f Merge branch 'develop' into feature/emplace 2016-11-28 18:00:10 +01:00
Niels Lohmann
93589e630c CBOR roundtrip tests 2016-11-27 17:47:56 +01:00
Niels Lohmann
eef408e5fb tests for CBOR 2016-11-27 00:09:24 +01:00
Niels Lohmann
87e088990b Merge branch 'develop' into feature/messagepack 2016-11-26 18:17:18 +01:00
Niels Lohmann
1ed510c232 Merge branch 'develop' into feature/filenotfound 2016-11-25 17:39:24 +01:00
Niels Lohmann
c39c36e6ad 💄 fixed indentation 2016-11-24 22:05:29 +01:00
Niels Lohmann
8014637ad1 added a test for EOF error (#367) 2016-11-24 21:53:41 +01:00
Niels Lohmann
4bb41d065b 🐛 parsing erroneous files yields an exception (#366) 2016-11-23 16:57:01 +01:00
Niels
d362a07239 💚 moved sample.json to standard test suite to run it with Valgrind 2016-11-16 22:49:16 +01:00
Niels
a9744f3937 💚 is sample.json killing AppVeyor? 2016-11-16 22:08:21 +01:00
Niels
05e916717b Merge branch 'develop' into feature/messagepack 2016-11-16 19:16:36 +01:00
Niels
693bfe439b Merge branch 'develop' into feature/emplace 2016-11-16 19:16:16 +01:00
Niels
0d72767b3e ⬆️ updated to Catch v1.5.8 2016-11-16 19:15:54 +01:00
Niels
1be73b903e proposal for emplace/emplace_back (#349) 2016-11-11 19:29:14 +01:00
Niels
d1e73ce954 hid an expensive test case 2016-11-11 17:31:37 +01:00
Niels
543745a10e starting to integrate MessagePack (#358) 2016-11-11 17:11:13 +01:00
Niels
700977d73e version bump 2016-11-02 20:52:15 +01:00
Niels
3716a2fbe8 Merge branch 'develop' into feature/jsontestsuite 2016-11-02 17:03:12 +01:00
Niels
737d43724f Merge branch 'feature/issue329' into develop 2016-11-02 16:59:23 +01:00
Niels
59c8343851 cleanup 2016-11-02 15:44:46 +01:00
Niels
8f70525374 more test coverage 2016-10-30 17:46:00 +01:00
Niels
7adccde714 improved coverage and updated README 2016-10-30 17:10:11 +01:00
Niels
8d1e65f297 evaluated i-tests (#344) 2016-10-30 16:07:17 +01:00
Niels
7b4e6cf705 added implementation-specific tests (#344) 2016-10-30 12:08:29 +01:00
Niels
a8136c578a fixed BOM handling #344 2016-10-29 21:08:30 +02:00
Niels
b820bb3b1f fixed a lot of unicode errors (#344)
BOMs currently yield an error.
2016-10-29 19:35:17 +02:00
Niels
b03bbe724d added n test cases (#344) 2016-10-29 14:02:33 +02:00
Niels
42ea4fb751 fixed a bug for short input files (#344)
For input files with less than 5 bytes, the parser had a bug so that
refilling the input buffer led to erasing it.
2016-10-29 13:32:36 +02:00
Niels
2fdba9de19 added "y" cases 2016-10-26 23:45:11 +02:00
Niels
606098f45d release 2.0.6 2016-10-15 16:47:45 +02:00
Niels
d91067220f added missing overflow check for #329 2016-10-13 21:00:48 +02:00
Niels
470197bd0b improve test coverage 2016-10-10 21:58:31 +02:00
Niels
2fa8ea0f74 started fixing #323 2016-10-08 14:27:28 +02:00
Vasil Dimov
b5128b1610
Fix usage examples' comments for std::multiset 2016-10-04 18:53:44 +03:00
Niels
3d104f1d43 version bump 2016-09-14 23:06:39 +02:00
Niels
6bbcdc1ec5 fixes #310 2016-09-14 22:48:12 +02:00
Niels
768d66560e version bump 2016-09-11 23:36:59 +02:00
Niels
f922426ec3 fixed #304 2016-09-11 22:40:51 +02:00
Niels
2daab5a4c2 fixed #306 2016-09-11 22:30:08 +02:00
Niels
42be2edd4c fixed test coverage 2016-09-01 00:29:42 +02:00
Niels
df9fd6237e release 2.0.3 2016-08-31 21:27:23 +02:00
Niels
58cbf4b3ef added another test case 2016-08-31 18:23:46 +02:00
Niels
ae7aaed4ac Merge branch 'develop' into feature/iterator_range_parsing 2016-08-31 18:07:18 +02:00
Niels
a485aa8d27 cleanup and improvement of branch coverage 2016-08-30 23:44:15 +02:00
Thomas Braun
e0ff1a837c unit-constructor1.cpp: Fix floating point truncation warning 2016-08-25 00:24:33 +02:00
Niels
1d66ab9f7a fixed lexer issue which required null byte at the end of contiguous storage containers #290 2016-08-23 22:38:05 +02:00
Niels
cda84ba323 Merge branch 'develop' into feature/iterator_range_parsing 2016-08-21 23:15:27 +02:00
Niels
1e896eb91e improved code coverage 2016-08-21 22:38:56 +02:00
Niels
aa7f5ad8b1 minor changes 2016-08-21 21:48:15 +02:00
Niels
585a39a235 improved branch coverage 2016-08-21 14:39:54 +02:00
Niels
b4571360df more on #290 2016-08-21 12:35:40 +02:00
Niels
eef8059003 allowing parsing from contiguous containers 2016-08-20 20:29:33 +02:00
Niels
a78eaa27b5 fixed unit tests 2016-08-17 21:31:59 +02:00
Niels
5e67f7af01 added a first version of a parser for #290 2016-08-15 22:44:14 +02:00
Niels
dfc2c1abe5 added assertion for contiguous memory 2016-08-14 23:38:20 +02:00
Niels
92ee1d56eb cleanup 2016-08-14 21:59:41 +02:00
Niels
4871e39415 spell fix 2016-08-14 17:52:21 +02:00
Niels
7b42c973bd fix for MSVC 2016-08-14 17:34:58 +02:00
Niels
c9e5d56c9c fix for MSVC 2016-08-14 17:30:53 +02:00
Niels
01386b3977 cleanup 2016-08-14 17:23:15 +02:00
Niels
b76f5506d7 added a parser for continguous containers 2016-08-14 14:18:25 +02:00
Niels
46174879ef clean up 2016-08-10 22:41:09 +02:00
Niels
38f562af2a reorganization into smaller test units 2016-08-04 22:51:08 +02:00
Niels
91b6e223d9 adjusted capacity test cases 2016-08-04 22:04:55 +02:00
Niels
d80329034e split test suite in one file per test case 2016-08-04 21:55:47 +02:00
Niels
5541e6f6f9 split unit tests 2016-08-04 07:24:46 +02:00
Niels
a05df038cd prepared release 2016-07-31 13:37:04 +02:00
Niels
148fed1e63 minor change 2016-07-25 18:06:59 +02:00
Niels
a01ec918ac minor changes 2016-07-25 16:21:15 +02:00
Niels
369671f028 added more Unicode tests 2016-07-25 16:05:58 +02:00
Niels
84673b7de3 added test case from issue #283 2016-07-24 11:08:39 +02:00
Niels
e2aa2d2189 improved test coverage 2016-07-24 11:01:47 +02:00
Niels
75dbbc55cf started to implement #283 2016-07-23 09:59:09 +02:00
Niels
ddfe86cc49 fixed a bug that was found in the discussion of #274 2016-07-22 21:40:58 +02:00
Niels
4e7501e59a minor changes
- fixed a bug that did not discard strings with control characters
between 0x10 and 0x1f
- added termination proofs for two important loops
- made get_ref() constexpr
2016-07-22 15:34:45 +02:00
Niels
1286d35767 make sure precision is reset on output streams during serialization 2016-07-20 20:07:45 +02:00
Niels
28644bada0 removed std::out output from test cases 2016-07-01 17:25:56 +02:00
Niels
d2475f9010 bumped version number 2016-06-28 21:44:03 +02:00
Niels
7214243d89 reset locale (for #272) 2016-06-28 19:18:23 +02:00
Niels
420659f187 addressing #272 2016-06-28 10:42:17 +02:00
Niels
0767290c26 off-by-one error in the documentation 2016-06-24 08:06:41 +02:00
Niels
04a80a8f60 Merge branch 'develop' into feature/undo-number-roundtrip 2016-06-23 05:57:41 +02:00
Niels
7cff6c8771 Merge branch 'develop' into feature/issue269
# Conflicts:
#	README.md
2016-06-23 00:04:55 +02:00
Niels
6f76c9237b overworked ChangeLog and README 2016-06-22 22:20:55 +02:00
Niels
ecf84dddb1 test case for #269 2016-06-22 20:40:15 +02:00
Niels
90b46868b5 Merge branch 'develop' into feature/undo-number-roundtrip 2016-06-19 18:27:07 +02:00
Niels
8c48ef1f73 updated to Catch v1.5.6 2016-06-19 18:25:43 +02:00
Niels
b47fdf88ee Merge branch 'develop' into feature/undo-number-roundtrip 2016-06-19 17:59:53 +02:00
Niels
4ff27b207e fixed two typos 2016-06-19 17:56:58 +02:00
Niels
ad7a419a03 removed roundtripping of floats (#230) 2016-06-19 17:13:13 +02:00
Chris Kitching
af76508fe7
Introduce structure to the test/ directory
This introduces a clear separation between test data and test
binaries. Test data is moved into test/data, and the test binaries
move into test/src. A new CMake script specific to building the
tests is introduced in /test to slightly clean up the toplevel
one.

As well as tidying things up, this makes the next step trivial...
2016-05-11 01:30:08 +01:00