butataatawa
147d909fe6
Fix inconsistent Node::size when removing a key with unassigned node ( #327 ) ( #449 )
2016-12-06 08:40:00 -06:00
butataatawa
d025040049
Fix input strings with quotes giving "!" tagging artifacts.
2016-12-02 08:58:48 -06:00
Jesse Beder
b5b03bb9ad
Run clang-format.
2016-10-12 00:00:39 -05:00
Jesse Beder
086fec5c35
Fix formatting when writing \ as a character.
2016-10-11 23:58:03 -05:00
c0nk
f0b15cd6a0
Change node_map type from map<ptr,ptr> to vector<pair<ptr,ptr>> ( #386 )
...
* Change node_map type from map<ptr,ptr> to vector<pair<ptr,ptr>>
Map nodes are now iterated over in document order.
* Change insert_map_pair to always append
Always append in insert_map_pair even if the key is already present.
This breaks the behavior of force_insert which now always inserts KVs
even if the key is already present. The first insert for duplicated keys
now takes precedence for lookups.
2016-07-18 08:54:10 -05:00
Vincent Cogne
7c33b3cdab
Add convert specialization for std::array.
2016-06-12 21:59:31 -05:00
SirLoxley
f35f4a19fa
Fix for broken build on cygwin using gcc - "error '[fileno, strdup, fdopen]' are not in scope" ( #374 )
2016-05-11 23:00:34 -05:00
Jesse Beder
7d2873ce9f
Fix scalar parsing when a line starts with a comment.
2016-04-02 16:02:26 -05:00
Jesse Beder
bfb5703ce9
Add test to verify that ~ is loaded as null.
2016-04-01 20:01:01 -05:00
Jesse Beder
178c8d1f27
Add test for parser exceptions for incomplete JSON.
2016-03-26 16:01:00 -04:00
Scott Wolchok
0a1352525a
add some tests for RegEx
2016-03-26 14:52:11 -04:00
Rodrigo Hernandez
57805dfd6a
Removed quoted variables to avoid CMP0054 policy warnings on CMake 3.3.0.
2016-01-31 11:44:04 -06:00
Matt Blair
24fa1b3380
Replace Boost usage with C++11 features
...
- Adds 'std=c++11' compiler flags
- Replaces boost::type_traits with std::type_traits
- Replaces boost::shared_ptr with std::shared_ptr
- Replaces std::auto_ptr with std::unique_ptr
- Replaces raw pointers with std::unique_ptr in ptr_vector, ptr_stack, and SettingChanges
- Replaces boost::noncopyable with deleted copy and assignment operators
- Replaces boost::next with std::next
- Replaces boost::enable_if with std::enable_if
- Replaces boost::is_convertible with std::is_convertible
- Replaces ptrdiff_t with std::ptrdiff_t
- Replaces boost::iterator_facade and boost::iterator_adaptor with std::iterator, borrowing the 'proxy reference' technique from boost
- Removes Boost dependency from CMakeLists
- Formats changed files using clang-format
2016-01-10 22:44:15 -05:00
Jesse Beder
36fd93a8d5
Fix formatting when writing " as a character.
2016-01-10 12:08:42 -06:00
Michael Welsh Duggan
320b02b14a
Allow using a Node as the key in force_insert.
...
Node::force_insert() uses convert<> to convert its key to a node.
Add a specialization for convert<Node>.
2015-11-22 11:21:08 -06:00
Jonathan Hamilton
b426fafff6
Fix some Node::operator[] regressions from 0.5.1
...
"const Node Node::operator[](const Key& key) const" changed from
returning new empty node if the key was missing in 0.5.1 to returning
a shared 'zombie' node in 0.5.2 to resolve a memory leak.
(Specifically 1025f76df1 was where this
was introduced)
This caused some regressions where this 'zombie' object threw exceptions
in some functions where the 'empty' object would not.
This change fixes the Node::as(fallback) method (to return the
'fallback' instead of throwing an exception) and the
Node::begin()/Node::end() methods to return default-constructed
iterators (so begin() == end() in such cases) instead of another
exception.
2015-06-08 11:47:10 -07:00
bdutro
aa928b925b
Update node_data::remove to use new equals() method
...
- Update the call to equals() in node_data::remove() to match the new implementation
- Add unit test for node::remove() to catch this type of bug in the future
2015-04-08 13:41:59 -05:00
Jesse Beder
25b2ed0787
Fix operator bool() exception on zombie node
2015-03-29 14:31:22 -05:00
Jesse Beder
67e37d000a
Merge from core
2015-02-21 12:34:19 -06:00
Jesse Beder
b1322770c2
Remove the extraneous gtest library from the test's link args, since gmock covers it
2015-02-21 12:33:36 -06:00
Jesse Beder
39e7b651dc
Fix test that depended on the order of map outputs
2015-02-21 12:14:53 -06:00
Jesse Beder
f9ff72dee7
Add test for an empty string not being null
2015-01-24 17:30:12 -06:00
Jesse Beder
899b6614c1
Merge from core
2015-01-24 16:07:36 -06:00
Jesse Beder
bc86fd4aec
Force null to be quoted if written as a string
2015-01-24 16:07:10 -06:00
Jesse Beder
c9729b26a4
Remove stray 'auto' that leaked in without C++11
2015-01-24 15:34:39 -06:00
Jesse Beder
c324bf8a7d
Merge core
2015-01-24 14:47:29 -06:00
Jesse Beder
891c7338bf
Add test to CMake config
2015-01-24 14:45:40 -06:00
Jesse Beder
391111c055
Merge core
2015-01-24 14:40:55 -06:00
Jesse Beder
570ab9d3fb
Fix unused arg warnings for EmitterStyle
2015-01-24 14:39:17 -06:00
Jesse Beder
9eae039c91
Merge
2015-01-24 13:24:08 -06:00
Jesse Beder
0c280724e9
Add flow/block style setting on Nodes
2015-01-24 13:11:43 -06:00
Jesse Beder
9880b608b9
Merge from core
2015-01-24 12:26:16 -06:00
Jesse Beder
ad712c4f2d
Add EmitterStyle, which will allow sequence or map style (i.e., flow or block) to be preserved between parsing and emitting
2015-01-24 12:19:20 -06:00
Jesse Beder
2c340f0546
Fixed memory corruption when using a node as a key
2014-08-16 10:52:51 -05:00
Jesse Beder
1aa25e7679
Wrap the #pragma warning for msvc in an ifdef
2014-03-25 22:08:34 -05:00
Jesse Beder
13130ec20d
clang-format
2014-03-25 00:11:17 -05:00
Jesse Beder
dea3428ce0
Merge from core
2014-03-25 00:07:38 -05:00
Jesse Beder
e0b293e757
Add test and util sources to make format
2014-03-25 00:02:16 -05:00
Jesse Beder
a4a79835c9
Suppress gtest warnings on xcode
2014-03-24 23:47:46 -05:00
Jesse Beder
d59586630e
Fix clang compiler settings, and properly set up warnings so they don't interfere with gtest and gmock
2014-03-24 23:34:26 -05:00
Jesse Beder
066359802b
Merge from core, and update several missing DLL exports. This does not resolve them all (in particular, node_data::equals seems to be still missing, even though it is inlined in a header, which seems strange).
2014-03-24 00:31:43 -05:00
Jesse Beder
fe8ca77a1b
Add missing DLL export, and set up gtest/gmock to properly import their symbols.
2014-03-23 23:56:17 -05:00
Jesse Beder
833f2996bc
Fix MSVC static/shared library mismatch with gtest.
2014-03-23 23:26:02 -05:00
Jesse Beder
7a68eaafd9
Disable warning:
...
warning C4800: forcing value to bool 'true' or 'false' (performance warning)
for the node test, since it really doesn't make any sense in this context. (It's exactly what we intended with the "unspecified bool type".)
2014-03-23 22:42:06 -05:00
Jesse Beder
98a181c7a7
Merge from core
2014-03-23 22:25:53 -05:00
Jesse Beder
fcfd6635b0
Removed unicode control sequence from test, since it's not guaranteed that the source code is UTF-8
2014-03-23 22:25:25 -05:00
Jesse Beder
3bd412ccc3
Merge from core
2014-03-23 20:25:13 -05:00
Jesse Beder
114db22335
Fix UTF16 parsing for multi-byte characters
2014-03-23 20:24:36 -05:00
Jesse Beder
253c80d09e
Merge from core
2014-03-23 20:17:34 -05:00
Jesse Beder
06bf012d81
clang-format
2014-03-23 20:08:54 -05:00
Jesse Beder
ad0a3311a7
Convert node tests to gtest
2014-03-23 19:21:13 -05:00
Jesse Beder
33424ecb65
Merge from core
2014-03-23 18:14:51 -05:00
Jesse Beder
d508a7cb0d
Import encoding test from old-api
2014-03-23 18:12:23 -05:00
Jesse Beder
2e8841c6fa
Merge from core
2014-03-23 16:39:33 -05:00
Jesse Beder
ad2953f660
Converted gen emitter tests to gtest, and removed the old testing framework from core
2014-03-23 16:35:26 -05:00
Jesse Beder
ebf14ec83a
Factored out HandlerTest as a base class
2014-03-23 16:26:44 -05:00
Jesse Beder
066b71a755
Factored out mock event handler
2014-03-23 16:17:16 -05:00
Jesse Beder
f946473437
Merge from core
2014-03-23 15:01:08 -05:00
Jesse Beder
90d7562be3
Fixed uninteresting mock
2014-03-23 14:50:58 -05:00
Jesse Beder
1327ce6d73
Convert core parser tests to gtest
2014-03-23 14:47:30 -05:00
Jesse Beder
05834520e5
Merge from core
2014-03-23 14:06:56 -05:00
Jesse Beder
dfa32c7f44
Renamed SpecTest to HandlerSpecTest
2014-03-23 14:06:37 -05:00
Jesse Beder
a4382b1370
Merge from core, plus convert the node spec tests to gtest
2014-03-23 14:02:51 -05:00
Jesse Beder
ace9c49e31
Convert spec tests to gtest with gmock
2014-03-23 12:49:30 -05:00
Jesse Beder
e3f120b99d
Add gmock as dependency
2014-03-23 12:04:03 -05:00
Jesse Beder
be85bb3212
Merge from core
2014-03-23 11:55:30 -05:00
Jesse Beder
f6a6f46ba4
Move EmitterTests to gtest
2014-03-23 11:49:32 -05:00
Jesse Beder
da118bbb0d
Add test for cloning a null node
2014-03-22 23:29:14 -05:00
Jesse Beder
4b40441cee
Run IWYU
2014-03-22 23:14:48 -05:00
Jesse Beder
8d7eb02c46
Merge IWYU from core
2014-03-22 23:08:09 -05:00
Jesse Beder
5fd25df859
Run IWYU
2014-03-22 22:46:04 -05:00
Jesse Beder
d98ab9f342
Merge ostream_wrapper fix from core
2014-03-22 19:27:54 -05:00
Jesse Beder
0fbeac8f4f
Add more ostream_wrapper tests
2014-03-22 19:22:23 -05:00
Jesse Beder
396a97050d
Fix SEGV in ostream_wrapper
2014-03-22 19:15:49 -05:00
Jesse Beder
9583d1ab07
Merge gtest from core
2014-03-22 19:09:22 -05:00
Jesse Beder
db82302ed0
Add gtest, as separate set of tests (that just follow the ad-hoc tests that already exist)
2014-03-22 19:06:46 -05:00
Jesse Beder
d63ec48c8a
Run clang-format
2014-03-22 13:05:03 -05:00
Jesse Beder
3355bbb399
Merge clang-format from core
2014-03-22 13:03:18 -05:00
Jesse Beder
9b4db068bb
Run clang-format
2014-03-22 12:49:16 -05:00
Jesse Beder
5b88931143
Fixed bug while reading a single space char
2013-11-10 14:50:35 -06:00
Jesse Beder
25881c4f96
Add ifdef to check if BOOST_FOREACH is defined, and disable tests that use it if it is not available
2013-10-13 11:14:34 -05:00
Jesse Beder
0305ad13e4
Fixed crash when emitting empty node
2013-07-10 08:29:11 -05:00
Jesse Beder
e5aa599b27
Merge null string bug fix from core, plus bug fix regarding use-after-delete for a token that seems to have been ignored.
2013-04-13 18:25:37 -05:00
Jesse Beder
2375f2c66b
Fix bug where the string "null" (without quotes) is deserialized as a string, instead of null.
2013-04-13 18:21:06 -05:00
Jesse Beder
895af26226
Fix floating point precision on input.
2013-04-13 13:10:36 -05:00
Jesse Beder
434c6a5697
Add better exception reporting when incorrectly dereferencing an iterator.
2013-04-12 23:41:02 -05:00
Jesse Beder
097ac171c6
Add std::pair conversion specialization.
2013-04-02 21:04:17 -05:00
Jesse Beder
0482463569
Rename clear() to reset(), and it now takes an optional node parameter.
2013-04-02 20:39:54 -05:00
Jesse Beder
6276189716
Merged ? fix from core
2012-11-08 19:12:22 -06:00
Jesse Beder
15b60e2a3b
Added failing test for parsing a ? at the start of a value
2012-11-08 19:00:46 -06:00
Jesse Beder
4e1bdd08d3
Removed that failing test - I don't think the parser is correct here
2012-11-08 18:54:53 -06:00
Jesse Beder
490265cf22
Added failing tests for emitter ? at the start of a value
2012-11-08 18:52:54 -06:00
Jesse Beder
bcdda4027f
Added Node::clear() function
2012-11-08 18:47:22 -06:00
Jesse Beder
b12e4b0781
Merged from core, rfaef276b1f6e
2012-11-08 18:33:12 -06:00
Jesse Beder
09b4706faf
Added force_insert for mapping nodes that doesn't check to see if the key exists already (so it could duplicate keys)
2012-10-31 19:08:09 -05:00
Jesse Beder
1d1d6886cc
Fixed typo in the core parser tests
2012-09-15 15:50:44 -07:00
Jesse Beder
823311384f
Added free Clone() function for Nodes
2012-07-04 15:26:37 -05:00
Jesse Beder
f29ea4b070
Merged end of map/seq flow fix from core
2012-06-09 14:42:00 -05:00
Jesse Beder
68dd9b5d18
Fixed bug where the parser doesn't find the end of a map or seq flow
2012-06-09 14:39:00 -05:00
Jesse Beder
2d815c5d6a
Added extra parser tests for the core; in particular, one that asserts instead of throwing
2012-06-09 14:26:44 -05:00