Assert keeps going after failure, but require immediately fails
the tests, making it easier to find the output related to the test
failure, rather than having to comb through a bunch of subsequent
assertion failures. For equality tests, we may or may not want to
continue, but for error checks we almost always want to immediately
fail the test. Exceptions can be changed as-needed.
* hotfix: return error instead of log at `FromMapAndOption`
* chore: show error message
* hotfix: use correct function
* hotix: use `t.Helper()` and fix `t *testing.T order
* hotfix: wrapt the error of `FromMapAndOption`
* hotfix: meaningful message for an error
* hotfix: summarize in one line
* hotfix: fix the abandoned error and show meaningful message
* hotfix: start with helper function
* Keep TODO comment
* WIP
* Fix merge corner cases
* Add test for explicit !!merge tag
* Fix tests
* Cleanup
* Cleanup
* Fix deanchoring lists
* Add test case for keeping comments
* Add MapEntrySetter and fix json marshalling after deanchoring
* Keep duplicated keys
* Move MergeTag definition to yaml alias
* Remove go-spew from api
* Add support for sequence nodes on merge tags
* Add docstring to MapEntrySetter.Key
* Add docstring to MapEntrySetter struct
* Add tests to MapEntrySetter
* Fix duplicate merge key
* Revert whitespace changes on forked go-yaml
* Remove AssocMapEntry function
* Refactoring merge order
* Return errors on VisitFields and PipeE
* Add tests for each non-conforming map merges
The implementations in WNode are supposed to be thin,
as it will be removed once #2506 closes.
The change also makes some addjustments for the
upcoming flip of the enable_kyaml flag, pointing to
issue #3271.