Conversation
ordered_json was only covered by insertion-order and one compile regression. Binary round-trips, flatten/unflatten, and patch/update with merge_objects were untested for ordered_map. Signed-off-by: elix3r <157088510+22elix3r@users.noreply.github.com>
|
Adding to the earlier review — Binary formats. The issue asks for a matrix over { Also still untested with
Other specializations from the issue, both untouched: the custom-allocator The coverage that is here checks out — I ran all ten new assertions against Generated by Claude Code |
|
Thanks for this — good coverage of binary-format round trips and flatten/diff/patch for ordered_json. We landed a more extensive version in #5480: same behaviors plus BJData (in addition to CBOR/MessagePack/UBJSON/BSON), an — closed by Claude Code on behalf of @nlohmann |
Summary
unit-ordered_json.cpponly checked insertion order and one compile regression. Binary formats, flatten/unflatten, patch, andupdate(merge_objects=true)were exercised almost exclusively with defaultnlohmann::json, so ordered_map-specific behavior could regress silently.Related Issue
Fixes #5421
Changes Made
update(..., true)recursive object merge on ordered_jsonTesting
Commands executed:
cmake -S . -B build -DJSON_BuildTests=ON -DCMAKE_BUILD_TYPE=Debugcmake --build build --target test-ordered_json_cpp11./tests/test-ordered_json_cpp11 --no-skip -tce='*downloaded*'Results:
Notes
This does not add every binary-format edge case listed on the issue (duplicate keys in binary maps, BJData, std::format). It pins the order-sensitive APIs most likely to differ from
std::map.No amalgamation change: tests only.
make amalgamate. (n/a — test-only)