Commit Graph

21 Commits

Author SHA1 Message Date
Azat Khuzhin
bcf7604479 Fix merge operator support (that can be visible by iterating through the node)
The problem is that const_map_to.get(*j->first) compares only the
shared_ptr's, while we need to compare the key itself.

v2: remove const iterator
v3: fix use-after-free due to const reference
2024-05-03 14:36:12 +02:00
Nicolas Le Scouarnec
629297180d Fix merge-key handling in case the dictionary contains a sub-dictionary 2023-12-08 20:42:30 +01:00
Nicolas Le Scouarnec
6bbc603b22 Adding support for handling YAML Merge Key (#41)
Support for YAML Merge keys ( <<: [*dict1, *dict2] ) is added. The merge
key is a specific scalar with value << (and tag !!merge) that implies
that during node construction, the map (or sequence of maps) are merged
into the current map. The priority rules are that each key from maps
within the value associated with  << are added iff the key is not yet
present in the current map (and first map gets higher priority). Test
cases have been added accordingly.
2023-11-04 10:08:10 +01:00
Dr. Andre Vehreschild
4c982d59dc
Improve build and fix single cr on windows (#1099) 2022-04-19 12:39:55 -05:00
Chen
c3df6d87d4
Properly allow a trailing tab character on a block scalar (#919)
Fixes #917
2020-07-16 10:08:09 -05:00
Chen
33315286ab
Add the support to parsing a null value as std::string.
Fixes #590.
2020-07-16 09:15:39 -05:00
Chen
026a53fbe1
Parse colon in plain scalar correctly when in a flow collection
Fixes #740.
2020-07-02 14:08:14 -05:00
Chen
5a9ab177ba
tag_null (#897) 2020-06-17 12:49:09 -05:00
Rosen Penev
b2cd008717
partially fix clang compilation (#893)
* partially fix clang compilation

Missing header and mistaken algorithm usage.

Also removed it name from range loops. It's not correct.

Signed-off-by: Rosen Penev <rosenp@gmail.com>

* run through clang's -Wrange-loop-analysis

Some range loops should not use references as they need to copy.

Signed-off-by: Rosen Penev <rosenp@gmail.com>

* manual range loop conversions

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-06-15 16:59:27 -05:00
Chen
4dbfeb0bbc
Support as<uint8_t>/as<int8_t>.
Fix issue 844/848.
2020-06-15 10:31:59 -05:00
Chen
d9c35b6079
Throw an exception when trying to parse a negative number as an unsigned.
Fixing issue 859.
2020-05-19 11:48:22 -05:00
Ted Lyngmo
ce056acab7
Add IsNull() check in test after reassignment (#814) 2020-02-07 10:52:43 -06:00
Jesse Beder
c9460110e0 Fix reading empty token stack with a node with properties but no scalar.
E.g. `!2`.
2020-01-20 18:16:08 -06:00
Stefan Reinhold
45d9035a33 Skip newlines in binary decoding (Fix #387) (#616)
* Skip newlines in binary decoding
This fixes #387

* Skip all whitespace characters

This also removes spaces and tabs in addition to newlines.
2018-09-03 15:55:45 -05:00
Denis Gladkikh
cfb7606a84 Fix tag parsing with () (#532) 2018-01-28 10:18:55 -06: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
Jesse Beder
25b2ed0787 Fix operator bool() exception on zombie node 2015-03-29 14:31:22 -05:00
Jesse Beder
f9ff72dee7 Add test for an empty string not being null 2015-01-24 17:30:12 -06:00
Jesse Beder
0c280724e9 Add flow/block style setting on Nodes 2015-01-24 13:11:43 -06:00
Jesse Beder
ad0a3311a7 Convert node tests to gtest 2014-03-23 19:21:13 -05:00