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
Robert Marki
639d63217e
Define CMake/CTest tests
...
Instead of copying the test executable and the JSON files used by
the tests at install time, define CMake/CTest tests for running
the json_unit executable from any build directory with the project's
source directory as its working directory.
- call enable_testing in the main lists file to allow the definition
of tests
- remove install commands from the test directory's lists file
- define two tests
- json_unit_default for running the default tests by executing
json_unit without any arguments
- json_unit_all for running all the tests by executing json_unit
with the "*" argument
- update the AppVeyor configuration file to use the new testing method
2016-05-18 11:53:49 +02:00
Chris Kitching
527a69bb64
Install the test binary and test data. Fixes #241
...
The resulting install tree, when tests are enabled, looks like this:
```
.
├── cmake
│ ├── nlohmann_jsonConfig.cmake
│ ├── nlohmann_jsonConfigVersion.cmake
│ └── nlohmann_jsonTargets.cmake
├── include
│ └── nlohmann
│ └── json.hpp
└── test
├── bin
│ └── json_unit
└── data
├── json_nlohmann_tests
│ ├── all_unicode.json
│ └── bom.json
├── json.org
│ ├── 1.json
│ ├── ...
├── json_roundtrip
│ ├── roundtrip01.json
│ ├── roundtrip02.json
│ └── ...
├── json_tests
│ ├── fail10.json
│ └── ...
└── json_testsuite
└── sample.json
```
It has the property that you can invoke the test binary from the
root of the install tree and the tests work correctly (you no
longer depend on the test binary being run inside the source
tree).
If tests are disabled, the entire `test/` subtree is omitted.
Notice how that yields exactly what you want for using this
library in other projects.
I do not believe I need to update travis due to this change, as the
evil Makefile continues to do in-tree builds. I expect I'll find
out soon enough.
2016-05-11 01:43:42 +01: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
Chris Kitching
bf7b6d15c7
Unset execute bit on sample.json
2016-05-11 01:10:29 +01:00
Niels
9ecf83f630
working on #235
2016-05-08 20:28:20 +02:00
Niels
fadf286653
added test case for std::bad_alloc
2016-05-08 14:35:32 +02:00
Niels
85a30813c8
removed unnecessary code (numbers must not begin with "+")
2016-05-07 20:22:58 +02:00
Niels
c04275966f
improved test coverage
2016-05-07 18:33:43 +02:00
Niels
f4ecceab19
cleanup
2016-04-30 00:12:19 +02:00
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