Json: Add #parse_json method and tidy up tests #14858
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
brew style
with your changes locally?brew typecheck
with your changes locally?brew tests
with your changes locally?After working on the
Xml
strategy, I came back to theJson
strategy to make a few changes to better align the two. For example, theXml
strategy provides a#parse_xml
method that only includes the parsing logic, so other strategies can selectively use this method if that's all they need (instead ofXml#find_versions
). This PR modifies theJson
strategy to provide a similarJson#parse_json
method.This also renames the
simple_content*
variables injson_spec
tocontent_simple*
, to align the variable name with the naming convention used in theXml
strategy (e.g.,content_version_text
,content_version_attr
,content_simple
, etc.). This doesn't make a functional difference but is a little more tidy/predictable.I've also tweaked a few tests to use
content_simple
in place ofcontent
in tests where the content isn't actually used (aligning with similarXml
tests). It doesn't make a difference other than passing a smaller string as the argument.