Commit graph

409 commits

Author SHA1 Message Date
Niels 1d3b4dd158 added test cases 2016-04-30 00:03:47 +02:00
Niels 5e0bf75d60 cleanup, test, and diff 2016-04-25 23:17:04 +02:00
Niels fb54e212b6 clean up and added tests 2016-04-24 19:03:33 +02:00
Niels 09e9f6dcd4 implemented "move" 2016-04-24 17:43:27 +02:00
Niels 855cf2307b extended "add" to cope with arrays 2016-04-24 16:51:06 +02:00
Niels 397ada22d3 implemented remove 2016-04-20 16:52:00 +02:00
Niels fa03cf0c63 replace and copy 2016-04-20 15:41:33 +02:00
Niels 70fc5835cb started implementing JSON Patch (RFC 6902) 2016-04-18 22:41:36 +02:00
Niels 1dee40a969 fixed test case 2016-04-17 22:34:39 +02:00
Niels 6268287940 improved documentation and test coverage 2016-04-17 22:08:21 +02:00
Niels 7034ae2486 improved test coverage 2016-04-17 19:12:12 +02:00
Niels 0835eb293f improved RFC compliance and code coverage 2016-04-17 18:54:54 +02:00
Niels 40e899a819 cleanup and documentation 2016-04-17 17:39:35 +02:00
Niels f834965b44 implemented deflatten function 2016-04-16 20:45:40 +02:00
Niels 007359675b added a flatten function 2016-04-16 16:39:20 +02:00
Niels 3401954f5b cleaned up API 2016-04-16 14:02:14 +02:00
Niels 3a3e064287 Merge branch 'develop' into feature/json-pointer 2016-04-16 12:19:31 +02:00
Niels 76a5a776eb cleanup after #234 2016-04-16 12:19:10 +02:00
Niels 94af8abdff overworked reference token parsing 2016-04-13 23:23:54 +02:00
Niels 2cb925c186 adding support for escaped reference tokens 2016-04-13 17:41:19 +02:00
Robert Marki 2197f5f0a6 Make the indirection and dereference operators of iterator const
fixes #233
2016-04-13 13:49:53 +02:00
Niels 726051e9b7 very first draft of a JSON pointer API 2016-04-11 23:17:03 +02:00
Niels a744c62696 made tests independent of "C" locale 2016-04-05 22:28:27 +02:00
Niels 31bccc83b9 fixed locale problems 2016-04-05 21:55:51 +02:00
Niels 9c233be567 merged #201 2016-04-03 14:08:38 +02:00
Niels 2f63e5fb45 added copyright information to files to make release more self-contained 2016-03-25 17:41:36 +01:00
Niels f965c4c35b improved code coverage 2016-02-14 22:56:51 +01:00
Niels 3a92559fa9 cleanup 2016-02-14 22:24:45 +01:00
Niels 7f4736b546 added serialization to fuzz testing 2016-02-14 21:36:56 +01:00
Niels a3eecdc383 updated Catch to v1.3.4 2016-02-14 21:36:43 +01:00
Niels 153e105164 cleanup after #207 2016-02-14 18:38:29 +01:00
Michael Macnair 9e500b49ac Add support for afl-fuzz testing
"make fuzz" creates a simple executable that de-serialises stdin
and re-serialises to stdout.
"make fuzz_testcases" extracts the smaller json test cases into
a testcases directory.

The library can then be fuzzed as follows:
    CC=afl-clang-fast make fuzz
    make fuzz_testcases
    mkdir out
    afl-fuzz -i testcases -o out ./fuzz
2016-02-12 09:35:08 +00:00
Niels 8b1a777d36 reverted change wrt. Erasable concept 2016-02-05 22:37:28 +01:00
Niels 2ff2e10660 checking Erasable concept 2016-02-05 22:30:37 +01:00
Niels 2c720b26ab added a constructor from an input stream 2016-02-05 19:24:42 +01:00
Niels 104c4b5286 improve code coverage 2016-01-31 15:04:38 +01:00
Niels 22127a4b85 moved documentation to index markdown file 2016-01-30 22:05:01 +01:00
Trevor Welsby 561accb068 Fixed issue #199 2016-01-30 12:41:12 +10:00
Niels 707732a53e clean up after #193 2016-01-26 19:50:49 +01:00
Niels e46cc6327f Merge pull request #193 from twelsby/issue178
Issue #178 - Extending support to full uint64_t/int64_t range and unsigned type (updated)
2016-01-26 19:40:16 +01:00
Trevor Welsby a4a88b1b7d Issue #195 - update Travis to Trusty due to gcc/clang strtod() bug 2016-01-26 08:36:18 +10:00
Trevor Welsby 281492c581 Merge upstream commits and resolve conflicts 2016-01-25 02:42:20 +10:00
Niels 54a4139157 cleanup after #191 2016-01-24 17:33:46 +01:00
Trevor Welsby 4620960b72 Disable problematic test for GCC/clang, remove debug dump from unit.cpp 2016-01-25 02:22:46 +10:00
Trevor Welsby 19918b948d Fix typo in preprocessor defined/!defined 2016-01-25 02:07:49 +10:00
Trevor Welsby 421affd06e Merge upstream commits and resolve conflicts 2016-01-25 02:01:01 +10:00
Trevor Welsby 4d6985d4e2 Disable problematic test for GCC/clang, remove debug dump from unit.cpp 2016-01-25 01:53:32 +10:00
Trevor Welsby d7ef2ccffd Issue #178 - fully support int64_t/uint64_t numbers, add unsigned type 2016-01-25 01:04:37 +10:00
Niels 8a0490a011 cleanup 2016-01-24 13:04:55 +01:00
Niels e00b00fea8 Merge pull request #190 from twelsby/issue185
fixed #185 - remove approx() and use #pragma to kill warnings
2016-01-24 12:55:40 +01:00
Niels 600ad330c5 cleanup after PR #189 2016-01-24 11:00:54 +01:00
Trevor Welsby f79d52b973 DEBUG ONLY: DUMP INFO FROM TRAVIS 2016-01-24 19:15:30 +10:00
Trevor Welsby a1c6f16bd3 Fix Issue #186 - add overload wrappers for strto(f|d|ld) 2016-01-24 17:00:11 +10:00
Trevor Welsby 3a1403409f Issue #185 - remove approx() and use #pragma to kill warnings 2016-01-23 17:45:30 +10:00
Trevor Welsby bd0f3001c6 Fix typo in new unit.hpp comments 2016-01-23 17:31:58 +10:00
Trevor Welsby 7e3245786c Fixed issue #171 - added extra operator[] template overloads 2016-01-23 17:03:45 +10:00
Niels a04bd4f851 cleanup after #184 2016-01-20 21:14:58 +01:00
dariomt e1645a09e9 Merge branch 'master' of https://github.com/nlohmann/json 2016-01-18 10:08:58 +01:00
Niels 7371c71d2a using CHECK_THROWS_WITH to check exceptions (#160) 2015-12-27 15:30:30 +01:00
Niels d6b8830e03 more work on exceptions (#160) 2015-12-26 13:17:32 +01:00
Niels dc8ab92552 more tests for exceptions (#160) 2015-12-25 13:04:40 +01:00
Niels 76e5e29eda overworked exceptions and tests (#160) 2015-12-25 11:46:18 +01:00
Niels 70493a10d1 iterator_wrapper for const objects (#83) 2015-12-23 08:21:29 +01:00
Niels 00f9296db5 some cleanup for #83 2015-12-22 18:07:51 +01:00
Niels 67c2d90a21 working on #160 2015-12-22 13:27:40 +01:00
Niels 4351698c83 re-adding const version operator[] (#135, #159)
It was a good idea to implement a const version of operator[] it in the
first place. I was a pity that this implementation was flawed. It was a
mistake to remove the const version completely. This commit
re-introduces the const version. My apologies for all the inconvenience.
2015-12-21 08:42:42 +01:00
Niels 9def0186be upgraded Catch to v1.3.1 2015-12-20 15:42:01 +01:00
Niels 457bfc2401 work on #144 2015-12-20 15:30:07 +01:00
Niels cd04a7d3e9 fix for #133
added value() function to get object value at given key or a default
value if key does not exist
2015-12-15 08:38:54 +01:00
Niels 258f04c561 fixed #154 (no more warnings for incomplete switches) 2015-12-14 16:32:37 +01:00
Niels a70a7a8001 fixed #135: operator[] now only works on nonconst JSON objects 2015-12-13 11:26:55 +01:00
Niels 9da8770f3a ignore UTF-8 byte order mark (fixes #152) 2015-12-07 22:27:53 +01:00
Robert Marki ec7a1d8347 Fix character skipping after a surrogate pair
In a string the first character following a surrogate pair is skipped by the
lexer, but the rest of the string is parsed as usual.
2015-11-13 13:13:46 +01:00
Niels 746c1a7142 cleanup 2015-10-17 12:51:59 +02:00
dariomt 4b8a822f33 Merge branch 'get_ref' 2015-10-16 16:42:03 +02:00
dariomt 04cc7d5a05 doh! disable test correctly only for MSVC 2015-10-16 16:36:34 +02:00
dariomt bd2783f45c Added get_ref()
Same as get_ptr() but for references.
If the type is incompatible it throws (get_ptr() returns null).
Implemented in terms of get_ptr().
2015-10-16 15:23:57 +02:00
dariomt 9d45aafc2c disabled "CopyAssignable" test for MSVC in Debug mode, see #125
STL iterators used by json::iterator don't pass this test in Debug mode.
The test does pass in Release mode, so I felt the best thing to do was selectively disable that test.
2015-10-07 18:31:08 +02:00
Niels b58a93b8dd merged #111 2015-08-14 14:45:13 +02:00
Niels fadccc34eb fixed iterator_wrapper 2015-08-13 10:08:55 +02:00
Niels 66ec58639b removed failing tests 2015-08-06 23:02:52 +02:00
Niels b0eb34394c added test cases for #83 2015-08-06 22:36:08 +02:00
Niels c910853304 fixed build 2015-08-02 21:49:42 +02:00
Niels b00e627c30 fixed build 2015-08-02 21:47:11 +02:00
Niels 9355dce063 fixed build 2015-08-02 21:40:25 +02:00
Niels e64dc532ab fixed build 2015-08-02 21:35:07 +02:00
Niels b5a05e1121 add a test for the iterator_wrapper 2015-08-02 21:27:02 +02:00
Niels 359cf7993f closed #75
minor changes, but the core idea remains the same
2015-07-26 18:41:58 +02:00
Niels 5993ff9976 updated catch 2015-07-26 10:41:38 +02:00
Niels 5084159048 added changes from #105: MSVC fixes
- additionally, switch off optimization flags to maybe allow build to
complete on AppVeyor
2015-07-16 18:45:19 +02:00
Niels 1c8d5dc211 added another insert function 2015-07-12 22:47:08 +02:00
Niels 092bf39f53 added test case 2015-07-12 20:40:46 +02:00
Niels 186aefb8f2 added first insert functions 2015-07-12 18:28:23 +02:00
Niels b2efd50a03 more documentation 2015-07-12 17:08:51 +02:00
Niels 19d550c044 new implementation for (const_)reverse_iterator to cope with issue #93 2015-07-07 23:31:43 +02:00
Niels 12d174d424 fixed #100 2015-07-06 23:21:54 +02:00
Niels 2bc5d893c8 refactored generic iterator into a new class primitive_iterator_t 2015-07-05 22:22:15 +02:00
Niels 82a6995306 fixed #101 2015-07-01 23:08:54 +02:00
Niels abd741708d more tests 2015-06-30 00:12:18 +02:00
Niels 3f6b10733b addressed static analysis warnings #94 2015-06-28 14:02:47 +02:00
Niels c58c5aa8c9 fixed #97
- added functions is_structured() and is_primitive()
- updated documentation
- updated test cases
2015-06-27 18:43:11 +02:00
Niels 3ffedea5c4 minor changes 2015-06-25 00:40:16 +02:00
Niels 6e6dd5f45d added test cases for the last uncovered lines 2015-06-24 15:46:50 +02:00
Niels 40312fb07b worked on #91
- implemented `get_ptr` function to return pointer to value member
- overworked `get` function to support pointer types
- added test cases
- added documentation (see
http://nlohmann.github.io/json/classnlohmann_1_1basic__json.html) with
examples
2015-06-24 15:16:32 +02:00
Niels 457572184c more documentation
In this commit, also the semantics for values skipped via the parser
callback has changed. Now, the top-level value is returned as “null”
instead of “discarded”.
2015-06-24 12:15:51 +02:00
Niels bd8150c58e updated Catch 2015-06-20 15:47:26 +02:00
Niels 64c467e940 fix warnings possible loss of data (from #88) 2015-06-20 14:15:15 +02:00
Niels 51edad3962 fixed #89 without breaking #71 2015-06-15 19:45:25 +02:00
Niels 8e9a711996 closes #90 2015-06-15 16:37:49 +02:00
Niels 1375162562 exclude Unicode tests from Valgrind to avoid timeout 2015-06-15 05:46:12 +02:00
Niels 2e9a13bd88 added extensive Unicode tests 2015-06-14 23:17:49 +02:00
Niels 6fb829062c some maintenance
- unified used exception types
- removed any camel case names
2015-06-14 19:35:20 +02:00
Niels bc55e496de test suite is not portable :-( 2015-06-13 13:01:10 +02:00
Niels bd0cb65b7a fixed more float parsing cases 2015-06-13 12:42:18 +02:00
Niels 29512ae989 added test case for #82 2015-06-04 20:07:33 +02:00
Niels 9dbb4402fb improved performance for dump() 2015-06-03 23:34:10 +02:00
Niels e2035df957 added unit test for issue #76 2015-05-30 16:47:21 +02:00
Niels 5ed80d308d some parsing performance improvements 2015-05-09 22:49:21 +02:00
Niels abb8653115 more test cases 2015-05-09 16:58:06 +02:00
Niels 03634cacbc cleanup 2015-05-09 15:38:58 +02:00
Niels 9cdd278f45 overworked code for pull request #71 2015-05-09 15:29:20 +02:00
Niels 2b4e461702 fixed string definition 2015-05-09 15:09:52 +02:00
Niels 1f381d496d overworked coverage 2015-05-09 14:54:33 +02:00
Niels bb142d6cae added test cases 2015-05-09 14:37:22 +02:00
Niels 869035a6c9 added compliance test cases 2015-05-09 13:56:51 +02:00
Niels 9f9d293bad valgrind still makes problems 2015-05-06 21:32:41 +02:00
Niels bef256600c added test cases 2015-05-06 20:46:04 +02:00
Niels 2cfc93fc76 overflows are handled wrong by Valgrind 2015-05-06 20:21:06 +02:00
Niels 17609f244d fixed #70 2015-05-06 19:52:12 +02:00
Niels 2b825760b5 removed failing test case 2015-05-03 21:37:14 +02:00
Niels 07dd3af848 another try 2015-05-03 21:28:57 +02:00
Niels 370929ac08 overworked test case 2015-05-03 21:10:22 +02:00
Niels c458bf18e6 more test cases 2015-05-03 20:59:11 +02:00
Niels 106705ed73 more tests 2015-05-03 20:42:24 +02:00
Niels 10bbb77491 test case for filter function 2015-05-03 20:18:16 +02:00
Niels 1143094e4c testing the callback function 2015-05-03 20:07:31 +02:00
Niels 093b97efc4 more tests 2015-05-03 19:55:45 +02:00
Niels f66e603686 more test cases 2015-05-03 18:59:58 +02:00
Niels ab1ff9de53 added more test cases 2015-05-03 18:27:43 +02:00
Niels 84561d8866 improved test case coverage 2015-05-03 18:19:12 +02:00
Niels fc58a73523 fix #60 (double escaping) 2015-04-24 22:06:57 +02:00
Daniel Kopecek ad6ad4ae1e Fix compilation of json_unit with GCC 5
Addressing:
```
+ make json_unit
g++ -std=c++11  -Wall -Wextra -pedantic -Weffc++ -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Wdisabled-optimization -Wformat=2 -Winit-self -Wmissing-declarations -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-conversion -Wsign-promo -Wstrict-overflow=5 -Wswitch -Wundef -Wno-unused -Wnon-virtual-dtor -Wreorder -Wdeprecated -Wfloat-equal  -I src -I test -Dprivate=public test/unit.cpp  -o json_unit
In file included from test/catch.hpp:65:0,
                 from test/unit.cpp:11:
/usr/include/c++/5.0.0/sstream:300:7: error: 'struct std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>::__xfer_bufptrs' redeclared with different access
       struct __xfer_bufptrs
```
2015-04-14 16:02:49 +02:00
Niels 4c55ada0f7 another test case 2015-04-12 18:33:38 +02:00
Niels 6ddb115072 more coverage 2015-04-12 18:12:29 +02:00
Niels f03c6ce458 added missing test cases 2015-04-12 16:57:51 +02:00
Niels 139ef0e750 implemented front() and back() 2015-04-12 14:14:00 +02:00
Niels ade49f8b2a constructor for an integer range 2015-04-12 13:15:26 +02:00
Niels b801adca76 started to implement sequence container 2015-04-12 12:02:30 +02:00
Niels a3210ee2a9 increase test coverage 2015-04-11 15:42:54 +02:00
Niels 6dceab583c implemented issue #57: erase with iterators 2015-04-11 15:30:19 +02:00