333 Commits

Author SHA1 Message Date
Milo Yip
5babae98e5 Add Writer::IsComplete() 2014-07-13 13:21:25 +08:00
Milo Yip
b234007713 Fixes #66 by adding Writer::Reset() and multiple root check
Note it redefines RAPIDJSON_ASSERT() to throw exception in unittest and
check for assertion with gtest.
2014-07-13 13:16:03 +08:00
Milo Yip
b55fcbd36a Merge pull request #61 from miloyip/issue59terminate
Fixes #59 by adding bool return value for each event handler function
2014-07-12 23:42:50 +08:00
thebusytypist
face7240fe Revise unittests of compound value(array or object)'s initial state transition. 2014-07-11 16:33:32 +08:00
thebusytypist
3038a7855e Revise unittests: reset the handler before the transition which we are going to test. 2014-07-11 16:03:38 +08:00
thebusytypist
36434b66c8 Merge remote-tracking branch 'upstream/master' into TransitionTable 2014-07-11 12:52:07 +08:00
thebusytypist
70d01cc5f3 Complete unittests for state transition. 2014-07-11 11:43:09 +08:00
Philipp A. Hartmann
7a2e6e79c6 StrLen: align implementations
There are two copies of `StrLen` in the RapidJSON code base
 * strfunc.h: rapidjson::internal::StrLen<Ch>
 * unittest.h: Strlen<Ch>

To hide a warning on MSVC, align both implementations to use
'unsigned/SizeType' as return type and add an explicit cast.
2014-07-10 19:41:17 +02:00
Philipp A. Hartmann
3cdfb0dafe rapidjsontest.cpp: silence a warning (C4244) on MSVC 2014-07-10 19:38:57 +02:00
Milo Yip
f1ae39f9e2 Fixed readertest compilation error 2014-07-11 00:37:55 +08:00
thebusytypist
55e97eada0 Add two basic performance tests. 2014-07-10 22:31:12 +08:00
thebusytypist
e3c4b33915 Add unittests for state transition. 2014-07-10 22:27:25 +08:00
Milo Yip
cc04219e36 Fixes #59 by adding bool return value for each event handler function 2014-07-10 19:33:01 +08:00
thebusytypist
f6235b2160 Add basic error handling. 2014-07-10 00:00:56 +08:00
Philipp A. Hartmann
9a89eed11a adopt AddMember tests from #47 (726f986,b7bf73c) 2014-07-09 09:24:34 +02:00
Philipp A. Hartmann
8bbf41f7c7 update string API tests 2014-07-08 20:23:34 +02:00
Philipp A. Hartmann
6aa601cd51 perftest.h/unittest.h: fix pragma ordering 2014-07-08 15:12:02 +02:00
Philipp A. Hartmann
813da24d72 Add RAPIDJSON_DIAG_* macros to handle compiler warnings
Warning push/pop support has been added to GCC in version 4.6.0,
and pragmas to ignore certain warnings are present since 4.2.0.
This patch hides the compiler-specific warning push/pop/disable
pragmas behind a macro-based implementation (currently for MSVC and
clang /GCC.

This avoids warnings, as seen e.g. on GCC 4.4:
  ../../include/rapidjson/document.h:14: error: expected [error|warning|ignored] after ‘#pragma GCC diagnostic’
and earlier versions complaining about unknown pragmas being ignored.

Note: unittest.h and perftest.h need to check for compilers
explicitly, as rapidjson.h is not included there.
2014-07-08 14:45:19 +02:00
thebusytypist
6b0df217a8 WIP: refactor iterative parsing. 2014-07-08 02:19:35 +08:00
thebusytypist
7d33b01515 Bugfix: add missing transition from finish state. 2014-07-07 21:57:23 +08:00
thebusytypist
7acb0c181e Rename flags/state names/functions/test cases from 'NonRecursive' to 'Iterative'. 2014-07-07 21:46:57 +08:00
thebusytypist
3006fa7d8c Try to resolve issue #35: implement iterative parsing. 2014-07-06 21:15:38 +08:00
Milo Yip
469333af8f Fixes filename cases in source code 2014-07-04 17:03:58 +08:00
Milo Yip
ace56097fd Fixes compilation error. 2014-07-04 16:56:19 +08:00
Milo Yip
0bff4ffd0c Adds unit tests about streams. 2014-07-04 16:39:09 +08:00
Milo Yip
b01093b16c Fixes a compilation error in Reader when using encoded stream.
Added unit test for parsing EncodedStream to Document.
2014-07-04 14:32:44 +08:00
Milo Yip
9ed11d29a2 Safer implementation of Swap()
Also added documentation, unit tests for swapping Document/Value,
Document/Document.
2014-07-04 00:59:16 +08:00
Philipp A. Hartmann
3254a784bb add missing 'typename' 2014-07-03 17:13:17 +02:00
Philipp A. Hartmann
6b7f346437 ParseErrorCode: fix typo (NumberTooBig) 2014-07-03 17:06:35 +02:00
Philipp A. Hartmann
a22f325ae4 perftest: fix typo 2014-07-03 17:06:35 +02:00
Milo Yip
80a5b9093c In Value.CopyFrom unit test, run both allocators.
@pah
2014-07-03 22:57:09 +08:00
Milo Yip
1aa84342ba Added GenericValue::Swap() 2014-07-03 22:38:34 +08:00
Milo Yip
49b1a12799 Fixes two other warning about unused fread() return value 2014-07-03 01:24:52 +08:00
Milo Yip
0815f0560a Fixes a warning about unused fread() return value 2014-07-03 01:17:58 +08:00
Milo Yip
e4188c8040 Fixes a warning in release. 2014-07-03 01:11:52 +08:00
Milo Yip
1e99f0b537 Merge remote-tracking branch 'origin/master' into warning 2014-07-03 01:00:01 +08:00
Milo Yip
5a186104f4 Fixes warnings 2014-07-03 00:59:35 +08:00
Milo Yip
9aec8d6ad4 Fixes local copy optimization
The previous optimization #32 has problem that restoration requires
assignment operator.
Change the backup/restore process using a template wrapper class to
select code path.
2014-07-02 23:49:47 +08:00
Milo Yip
4843b790c0 Remove debug code 2014-06-30 21:28:57 +08:00
Milo Yip
10924e389c Fixes parsing small floating point values underflow
https://code.google.com/p/rapidjson/issues/detail?id=75

The modification is slightly different from dlbattle123 to improve
speed.
2014-06-30 21:26:43 +08:00
miloyip
389fe87cd8 Merge branch 'master' into issue23errorcode
Conflicts:
	example/condense/condense.cpp
	include/rapidjson/reader.h
	test/unittest/readertest.cpp
2014-06-30 09:44:24 +08:00
Milo Yip
789761ae1b Fixes compilation error
‘>>’ should be ‘> >’ within a nested template argument list
2014-06-29 21:18:31 +08:00
Milo Yip
bcf7cee788 Add stream copying optimization switch depending stream type.
An unit test is added
2014-06-29 20:59:01 +08:00
Milo Yip
1d14748bc9 Added overloaded functions for default parseFlags
Can write d.Parse(...) instead of d.Parse<0>(...)
Hope to reduce strangeness and confusion for beginner.
2014-06-29 15:03:38 +08:00
Milo Yip
69ca7487bc Manually merge the segfault fix from main branch and fix several unit tests about error code 2014-06-27 22:27:18 +08:00
Milo Yip
bb889b6ab6 Verify all error codes in unit tests of parsing. 2014-06-27 16:19:04 +08:00
Milo Yip
d5add05c9a Merge pull request #19 from pah/feature/double-precision
User-defined double output precision
2014-06-26 10:33:24 +08:00
Philipp A. Hartmann
65b4316da9 valuetest: add deep copy unit test
This commit adds some simple tests for the deep-copying
of values, either based on the explicit constructor, or
the CopyFrom function.

It uses the CrtAllocator to test for possible double-free
errors due to insufficient copying.
2014-06-25 18:09:26 +02:00
Philipp A. Hartmann
5474bc2f3d DoublePrecision: add a unit test for the precision handling 2014-06-25 18:09:16 +02:00
Milo Yip
1eb62770d3 Fixed gcc 4.8.x warnings. 2014-06-25 00:04:24 +08:00