1
0
mirror of https://github.com/nlohmann/json.git synced 2025-07-24 02:21:01 +03:00
Commit Graph

63 Commits

Author SHA1 Message Date
2f44ac1def moved from Catch to doctest for unit tests 2019-01-15 22:02:16 +02:00
6f89613acd 🚨 fixed some warnings 2018-12-23 13:56:18 +01:00
78348afeb6 🔖 set version to 3.5.0 2018-12-21 23:52:29 +01:00
7b2f8cce03 🔖 set version to 3.4.0 2018-10-30 21:30:20 +01:00
dbb0b63187 improved error messages for binary formats #1288
This commit is the equivalent of #1282 for CBOR, MessagePack, and UBJSON.
2018-10-17 12:15:58 +02:00
011b15dd08 added line positions to error messages
This is a follow-up to #1210.
2018-10-07 12:27:24 +02:00
b968faa882 🔖 set version to 3.3.0 2018-10-05 10:59:33 +02:00
9f3857ef6f 🔖 set version to 3.2.0 2018-08-18 18:46:15 +02:00
442886d040 use templates in the sax interface instead of virtuals 2018-08-16 11:58:52 +02:00
fed70f6bff 🎨 reindented code 2018-08-14 22:11:08 +02:00
05b27e83b7 Exclude bytewise comparison in certain tests.
These tests never worked - they weren't run before
d5aaeb4.

Note that these tests would fail because of this library
ordering dictionary keys (which is legal). So changing the
input files (or modifying stored cbor/msgpack/ubjson files)
would make the tests work and they could get removed from
"exclude_packaged".

Also move parsing of files in these unit tests to within
the inner sections, so that they're only parsed
number_of_files * number_of_sections instead of
number_of_files * number_of_files * number_of_sections
(so, instead of close to 100k parses about 700).
2018-07-29 14:52:52 +02:00
d5aaeb4cce Make section names unique in loops, as catch doesn't support duplicate
sections, see also https://github.com/catchorg/Catch2/issues/816#issuecomment-278268122

As a result, when built with gcc, loop iterations were skipped. When
built with clang, the test aborted with an assertion in catch.hpp
line 6222.

This also addresses the issues discussed here:
https://github.com/nlohmann/json/issues/1032#issuecomment-378707696

and here:
https://github.com/catchorg/Catch2/issues/1241

Please note that this introduces new problems, as some of
the unit tests fail now - the library stores keys in
lexographical order, while the cbor/msgpack/ubjson examples
store them in original order.
2018-07-29 10:44:36 +02:00
5ff2abb90d Merge branch 'develop' into feature/sax2 2018-05-06 13:29:23 +02:00
ed69e50ad2 📄 added SPDX-License-Identifier 2018-05-03 17:41:45 +02:00
4f6b2b6429 🔨 changed SAX interface 2018-03-21 20:12:06 +01:00
9e1abb4842 improved coverage 2018-03-20 22:39:08 +01:00
1e38ffc014 more tests 2018-03-20 20:04:11 +01:00
99ecca55c4 improved test coverage 2018-03-20 18:49:10 +01:00
afef474c0d 🔖 set version to 3.1.2 2018-03-14 21:09:27 +01:00
938c861a09 🔖 set version to 3.1.1 2018-02-12 22:59:36 +01:00
0258484626 🔖 set version to 3.1.0
- updated documentation wrt. new repository layout
- temporarily switched off Homebrew --HEAD building (can only be switched on after release)
- set copyright date to 2018
2018-02-01 22:20:26 +01:00
14cd019861 fix cmake install directory (for real this time)
* Rename 'develop' folder to 'include/nlohmann'
* Rename 'src' folder to 'single_include/nlohmann'
* Use <nlohmann/*> headers in sources and tests
* Change amalgamate config file
2018-02-01 11:06:51 +01:00
92484f0caf 🔖 set version to 3.0.1 2017-12-29 18:31:13 +01:00
9e3c4ad11f 🔖 set version to 3.0.0 2017-12-17 08:31:18 +01:00
569d275f65 💥 throwing an exception in case dump encounters a non-UTF-8 string #838
We had a lot of issues with failing roundtrips (i.e., parse errors from serializations) in case string were stored in the library that were not UTF-8 encoded. This PR adds an exception in this case.
2017-12-11 22:38:05 +01:00
7410763731 improved test coverage 2017-09-10 11:42:43 +02:00
8acaf5bdbc 🚨 fixing two compiler warnings 2017-08-20 19:31:07 +02:00
aba8b58492 🔨 approach to un-break the changes for #462 2017-08-16 20:11:05 +02:00
22b59693f1 💥 CBOR/MessagePack input must end with EOF #505
The CBOR and MessagePack parsers now expect the input to be read until the end. Unless the new parameter "strict" is set to false (it is true by default), an exception is raised if the parser ends prematurely. This is a breaking change as the parsers ignored unread input so far.

Furthermore, the offset/startIndex paramter introduced in #462 was removed as this behavior can be mimicked with an iterator range. For instance, instead of calling "from_cbor(vec, 5);", you can write "from_cbor({vec.begin()+5, vec.end()});".
2017-08-16 14:48:23 +02:00
5851daa576 binary formats can be stored in std::string, std::ofstreams or std::ostringstream #477 2017-07-28 00:21:55 +02:00
4414f94cd5 🔨 using input/output adapters for CBOR and MessagePack
- You can now pass a reference to a vector to the to_cbor and to_msgpack functions. The output will be written (appended) to the vector. #476

- You can now pass an output stream with uint8_t character type to the to_cbor and to_msgpack functions. #477

- You can now read from uint8_t */size in the to_cbor and to_msgpack functions. An input adapter will be created from this pair, so you need to use braces. #478
2017-07-23 23:02:24 +02:00
8b123107c0 🔨 fixed some pedantic GCC warnings 2017-07-07 22:41:22 +02:00
2f007ca092 improved coverage 2017-06-20 22:03:36 +02:00
6f99d5b2e9 🔨 fixed test case
One test case for CBOR and MessagePack assumed little endianess.
2017-04-08 23:39:17 +02:00
b15fc13dd1 🔨 implemented MessagePack in binary_reader 2017-04-04 16:59:19 +02:00
c5711f3072 🚧 a lot of minor changes
- Removed unused headers.
- Added override where needed.
- Added description for parse_error.113 exception.
- Fixed some conversion warnings.
- Integrated cbor_expect_string function for CBOR maps.
- Added documentation on the supported CBOR/MessagePack features.
- Added test to check all initial bytes for CBOR input.
2017-03-16 18:39:33 +01:00
855cdcf05c 🔀 merge branch 'develop' into feature/exceptions_3.0.0 2017-03-12 20:22:30 +01:00
8feaf8dc94 💥 implemented new handling of NaN and INF #70 #329 #388
- If an overflow occurs during parsing a number from a JSON text, an
exception (std::out_of_range for the moment, to be replaced by a
user-defined exception #244) is thrown so that the overflow is detected
early and roundtripping is guaranteed.
- NaN and INF floating-point values can be stored in a JSON value and
are not replaced by null. That is, the basic_json class behaves like
double in this regard (no exception occurs). However, NaN and INF are
serialized to “null”.
- Adjusted test cases appropriately.
2017-03-12 18:38:05 +01:00
fc9b528ec9 🔨 changed an exception 2017-03-08 18:07:21 +01:00
625cf7e3f7 🔨 added user-defined exception 112 2017-03-07 20:05:34 +01:00
27c65b860b 🔖 version 2.1.1 2017-02-25 16:34:38 +01:00
8cec55a271 🚧 fixed more warnings 2017-02-22 18:14:29 +01:00
1a6d7f5bca 🚧 try to fix some warnings in MSVC 2017-02-20 18:32:11 +01:00
83f1d2c81b added start index for from_cbor and from_msgpack (#462) 2017-02-19 21:17:05 +01:00
d870826811 🔖 set version to 2.1.0 2017-01-28 16:03:35 +01:00
8b46eb8ec0 📄 it's 2017 already 2017-01-02 09:40:00 +01:00
60b3703c62 🔖 version bump to 2.0.10 2017-01-02 09:35:57 +01:00
303e873ae8 🔖 bumped version to 2.0.9 2016-12-16 20:45:46 +01:00
dc6fc3e079 📝 clean up and added documentation for #358 2016-12-11 13:36:08 +01:00
fdce38fa79 fixed a test case 2016-12-11 00:39:26 +01:00