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
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