Repository: mikefarah/yq
Pull request #1250 (2022-06-23 07:04:07)

Bump github.com/spf13/cobra from 1.4.0 to 1.5.0
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.4.0 to 1.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/spf13/cobra/releases">github.com/spf13/cobra's releases</a>.</em></p>
<blockquote>
<h2>v1.5.0</h2>
<h2>Spring 2022 Release 🌥️</h2>
<p>Hello everyone! Welcome to another release of cobra. Completions continue to get better and better. This release adds a few really cool new features. We also continue to patch versions of our dependencies as they become available via dependabot. Happy coding!</p>
<h2>Active help 👐🏼</h2>
<p>Shout out to <a href="https://github.com/marckhouzam"><code>@​marckhouzam</code></a> for a big value add: Active Help <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1482">spf13/cobra#1482</a>. With active help, a program can provide some inline warnings or hints for users as they hit tab. Now, your CLIs can be even more intuitive to use!</p>
<p>Currently active help is only supported for bash V2 and zsh. Marc wrote a whole guide on how to do this, so make sure to give it a good read to learn how you can add this to your cobra code! <a href="https://github.com/spf13/cobra/blob/master/active_help.md">https://github.com/spf13/cobra/blob/master/active_help.md</a></p>
<h2>Group flags 🧑🏼‍🤝‍🧑🏼</h2>
<p>Cobra now has the ability to mark flags as required or exclusive as a <strong><em>group</em></strong>. Shout out to our newest maintainer <a href="https://github.com/johnSchnake"><code>@​johnSchnake</code></a> for this! <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1654">spf13/cobra#1654</a> Let's say you have a <code>username</code> flag that <em><strong>MUST</strong></em> be partnered with a <code>password</code> flag. Well, now, you can enforce those as being required together:</p>
<pre lang="go"><code>rootCmd.Flags().StringVarP(&amp;u, &quot;username&quot;, &quot;u&quot;, &quot;&quot;, &quot;Username (required if password is set)&quot;)
rootCmd.Flags().StringVarP(&amp;pw, &quot;password&quot;, &quot;p&quot;, &quot;&quot;, &quot;Password (required if username is set)&quot;)
rootCmd.MarkFlagsRequiredTogether(&quot;username&quot;, &quot;password&quot;)
</code></pre>
<p>Flags may also be marked as &quot;mutally exclusive&quot; with the <code>MarkFlagsMutuallyExclusive(string, string ... )</code> command API. Refer to our <a href="https://github.com/spf13/cobra/blob/master/user_guide.md">user guide documentation</a> for further info!</p>
<h2>Completions 👀</h2>
<ul>
<li>Add backwards-compatibility tests for legacyArgs() by <a href="https://github.com/marckhouzam"><code>@​marckhouzam</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1547">spf13/cobra#1547</a></li>
<li>feat: Add how to load completions in your current zsh session by <a href="https://github.com/ondrejsika"><code>@​ondrejsika</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1608">spf13/cobra#1608</a></li>
<li>Introduce FixedCompletions by <a href="https://github.com/emersion"><code>@​emersion</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1574">spf13/cobra#1574</a></li>
<li>Add shell completion to flag groups by <a href="https://github.com/marckhouzam"><code>@​marckhouzam</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1659">spf13/cobra#1659</a></li>
<li>Modify brew prefix path in macOS system by <a href="https://github.com/imxw"><code>@​imxw</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1719">spf13/cobra#1719</a></li>
<li>perf(bash-v2): use backslash escape string expansion for tab by <a href="https://github.com/scop"><code>@​scop</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1682">spf13/cobra#1682</a></li>
<li>style(bash-v2): out is not an array variable, do not refer to it as such by <a href="https://github.com/scop"><code>@​scop</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1681">spf13/cobra#1681</a></li>
<li>perf(bash-v2): standard completion optimizations by <a href="https://github.com/scop"><code>@​scop</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1683">spf13/cobra#1683</a></li>
<li>style(bash): out is not an array variable, do not refer to it as such by <a href="https://github.com/scop"><code>@​scop</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1684">spf13/cobra#1684</a></li>
<li>perf(bash-v2): short-circuit descriptionless candidate lists by <a href="https://github.com/scop"><code>@​scop</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1686">spf13/cobra#1686</a></li>
<li>perf(bash-v2): speed up filtering entries with descriptions by <a href="https://github.com/scop"><code>@​scop</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1689">spf13/cobra#1689</a></li>
<li>perf(bash-v2): speed up filtering menu-complete descriptions by <a href="https://github.com/scop"><code>@​scop</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1692">spf13/cobra#1692</a></li>
<li>fix(bash-v2): skip empty completions when filtering descriptions by <a href="https://github.com/scop"><code>@​scop</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1691">spf13/cobra#1691</a></li>
<li>perf(bash-v2): read directly to COMPREPLY on descriptionless short circuit by <a href="https://github.com/scop"><code>@​scop</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1700">spf13/cobra#1700</a></li>
<li>fix: Don't complete _command on zsh by <a href="https://github.com/twpayne"><code>@​twpayne</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1690">spf13/cobra#1690</a></li>
<li>Improve fish_completions code quality by <a href="https://github.com/t29kida"><code>@​t29kida</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1515">spf13/cobra#1515</a></li>
<li>Fix handling of descriptions for bash v3 by <a href="https://github.com/marckhouzam"><code>@​marckhouzam</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1735">spf13/cobra#1735</a></li>
<li>undefined or nil Args default to ArbitraryArgs by <a href="https://github.com/umarcor"><code>@​umarcor</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1612">spf13/cobra#1612</a></li>
<li>Add Command.SetContext by <a href="https://github.com/joshcarp"><code>@​joshcarp</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1551">spf13/cobra#1551</a></li>
<li>Wrap printf tab with quotes by <a href="https://github.com/PapaCharlie"><code>@​PapaCharlie</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1665">spf13/cobra#1665</a></li>
</ul>
<h2>Documentation 📝</h2>
<ul>
<li>Fixed typos in completions docs - <a href="https://github.com/cuishuang"><code>@​cuishuang</code></a> <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1625">spf13/cobra#1625</a></li>
<li>Removed <code>CHANGELOG.md</code> as it isn't updated - <a href="https://github.com/johnSchnake"><code>@​johnSchnake</code></a> <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1634">spf13/cobra#1634</a></li>
<li>Minor typo fix in <code>shell_completion.md</code> - <a href="https://github.com/danieldn"><code>@​danieldn</code></a> <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1678">spf13/cobra#1678</a></li>
<li>Changed branch name in the cobra generator link to 'main' - <a href="https://github.com/skywalker2909"><code>@​skywalker2909</code></a> <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1645">spf13/cobra#1645</a></li>
<li>Fix Command.Context comment by <a href="https://github.com/katexochen"><code>@​katexochen</code></a> in <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1639">spf13/cobra#1639</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/spf13/cobra/commit/06b06a9dc9f9f5eba93c552b2532a3da64ef9877"><code>06b06a9</code></a> Bump golangci/golangci-lint-action from 3.1.0 to 3.2.0 (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1697">#1697</a>)</li>
<li><a href="https://github.com/spf13/cobra/commit/5f2ec3c897155c3346e77430932e3966e5cfa648"><code>5f2ec3c</code></a> Update shell completion to respect flag groups (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1659">#1659</a>)</li>
<li><a href="https://github.com/spf13/cobra/commit/b9ca5949e2f58373e8e4c3823c213401f7d9d0e3"><code>b9ca594</code></a> use errors.Is() to check for errors (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1730">#1730</a>)</li>
<li><a href="https://github.com/spf13/cobra/commit/ea94a3db55f84f026891709d82ebf25e17f89e0d"><code>ea94a3d</code></a> undefined or nil Args default to ArbitraryArgs (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1612">#1612</a>)</li>
<li><a href="https://github.com/spf13/cobra/commit/7c9831d376a6c048ae9f95b435cdde9dc14358a0"><code>7c9831d</code></a> Fix handling of descriptions for bash v3 (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1735">#1735</a>)</li>
<li><a href="https://github.com/spf13/cobra/commit/ed7bb9dda481082672ed9ea60c29b3b70ae0fc04"><code>ed7bb9d</code></a> Add unit test for fish completion (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1515">#1515</a>)</li>
<li><a href="https://github.com/spf13/cobra/commit/f464d6c82e9af74b7a46301a775163984af32cd1"><code>f464d6c</code></a> Add Active Help support (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1482">#1482</a>)</li>
<li><a href="https://github.com/spf13/cobra/commit/7dc8b004e653f2f69511378d52c2989c8f64d42b"><code>7dc8b00</code></a> Bump actions/setup-go from 2 to 3 (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1660">#1660</a>)</li>
<li><a href="https://github.com/spf13/cobra/commit/87ea1807f71dfa4d0bd7058c099b3978b128aea6"><code>87ea180</code></a> Modify brew prefix path in macOS system (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1719">#1719</a>)</li>
<li><a href="https://github.com/spf13/cobra/commit/ca8e3c2779b8cc6168ab6ffdf9c1f2ac65652404"><code>ca8e3c2</code></a> Add Pulumi as a project using cobra (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1720">#1720</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/spf13/cobra/compare/v1.4.0...v1.5.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/spf13/cobra&package-manager=go_modules&previous-version=1.4.0&new-version=1.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>


Patch:
diff --git a/go.mod b/go.mod
index 7b6cead5..7ec3f97a 100644
--- a/go.mod
+++ b/go.mod
@@ -8,7 +8,7 @@ require (
 	github.com/jinzhu/copier v0.3.5
 	github.com/magiconair/properties v1.8.6
 	github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e
-	github.com/spf13/cobra v1.4.0
+	github.com/spf13/cobra v1.5.0
 	github.com/timtadh/lexmachine v0.2.2
 	golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d
 	gopkg.in/op/go-logging.v1 v1.0.0-20160211212156-b2cb9fa56473
diff --git a/go.sum b/go.sum
index d742be4b..1ed44dc2 100644
--- a/go.sum
+++ b/go.sum
@@ -1,6 +1,6 @@
 github.com/a8m/envsubst v1.3.0 h1:GmXKmVssap0YtlU3E230W98RWtWCyIZzjtf1apWWyAg=
 github.com/a8m/envsubst v1.3.0/go.mod h1:MVUTQNGQ3tsjOOtKCNd+fl8RzhsXcDvvAEzkhGtlsbY=
-github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
+github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
 github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/elliotchance/orderedmap v1.4.0 h1:wZtfeEONCbx6in1CZyE6bELEt/vFayMvsxqI5SgsR+A=
@@ -33,8 +33,8 @@ github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsK
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
-github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q=
-github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g=
+github.com/spf13/cobra v1.5.0 h1:X+jTBEBqF0bHN+9cSMgmfuvv2VHJ9ezmFNf9Y/XstYU=
+github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM=
 github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
 github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
diff --git a/pkg/yqlib/lib.go b/pkg/yqlib/lib.go
index ef4be5fd..dd328dcf 100644
--- a/pkg/yqlib/lib.go
+++ b/pkg/yqlib/lib.go
@@ -352,6 +352,13 @@ func parseInt(numberString string) (int, error) {
 	return int(parsed), err
 }
 
+func createStringScalarNode(stringValue string) *yaml.Node {
+	var node = &yaml.Node{Kind: yaml.ScalarNode}
+	node.Value = stringValue
+	node.Tag = "!!str"
+	return node
+}
+
 func createScalarNode(value interface{}, stringValue string) *yaml.Node {
 	var node = &yaml.Node{Kind: yaml.ScalarNode}
 	node.Value = stringValue
diff --git a/pkg/yqlib/operator_entries.go b/pkg/yqlib/operator_entries.go
index c7ab6351..2af9fe94 100644
--- a/pkg/yqlib/operator_entries.go
+++ b/pkg/yqlib/operator_entries.go
@@ -72,20 +72,20 @@ func parseEntry(entry *yaml.Node, position int) (*yaml.Node, *yaml.Node, error)
 	prefs := traversePreferences{DontAutoCreate: true}
 	candidateNode := &CandidateNode{Node: entry}
 
-	keyResults, err := traverseMap(Context{}, candidateNode, "key", prefs, false)
+	keyResults, err := traverseMap(Context{}, candidateNode, createStringScalarNode("key"), prefs, false)
 
 	if err != nil {
 		return nil, nil, err
 	} else if keyResults.Len() != 1 {
-		return nil, nil, fmt.Errorf("Expected to find one 'key' entry but found %v in position %v", keyResults.Len(), position)
+		return nil, nil, fmt.Errorf("expected to find one 'key' entry but found %v in position %v", keyResults.Len(), position)
 	}
 
-	valueResults, err := traverseMap(Context{}, candidateNode, "value", prefs, false)
+	valueResults, err := traverseMap(Context{}, candidateNode, createStringScalarNode("value"), prefs, false)
 
 	if err != nil {
 		return nil, nil, err
 	} else if valueResults.Len() != 1 {
-		return nil, nil, fmt.Errorf("Expected to find one 'value' entry but found %v in position %v", valueResults.Len(), position)
+		return nil, nil, fmt.Errorf("expected to find one 'value' entry but found %v in position %v", valueResults.Len(), position)
 	}
 
 	return keyResults.Front().Value.(*CandidateNode).Node, valueResults.Front().Value.(*CandidateNode).Node, nil
diff --git a/pkg/yqlib/operator_traverse_path.go b/pkg/yqlib/operator_traverse_path.go
index 2b40282f..ca7141aa 100644
--- a/pkg/yqlib/operator_traverse_path.go
+++ b/pkg/yqlib/operator_traverse_path.go
@@ -3,7 +3,6 @@ package yqlib
 import (
 	"container/list"
 	"fmt"
-	"strconv"
 
 	"github.com/elliotchance/orderedmap"
 	yaml "gopkg.in/yaml.v3"
@@ -57,7 +56,7 @@ func traverse(context Context, matchingNode *CandidateNode, operation *Operation
 	switch value.Kind {
 	case yaml.MappingNode:
 		log.Debug("its a map with %v entries", len(value.Content)/2)
-		return traverseMap(context, matchingNode, operation.StringValue, operation.Preferences.(traversePreferences), false)
+		return traverseMap(context, matchingNode, createStringScalarNode(operation.StringValue), operation.Preferences.(traversePreferences), false)
 
 	case yaml.SequenceNode:
 		log.Debug("its a sequence of %v things!", len(value.Content))
@@ -131,11 +130,8 @@ func traverseArrayIndices(context Context, matchingNode *CandidateNode, indicesT
 		node.Tag = ""
 		node.Kind = yaml.SequenceNode
 		//check that the indices are numeric, if not, then we should create an object
-		if len(indicesToTraverse) != 0 {
-			_, err := strconv.ParseInt(indicesToTraverse[0].Value, 10, 64)
-			if err != nil {
-				node.Kind = yaml.MappingNode
-			}
+		if len(indicesToTraverse) != 0 && indicesToTraverse[0].Tag != "!!int" {
+			node.Kind = yaml.MappingNode
 		}
 	}
 
@@ -155,14 +151,14 @@ func traverseArrayIndices(context Context, matchingNode *CandidateNode, indicesT
 
 func traverseMapWithIndices(context Context, candidate *CandidateNode, indices []*yaml.Node, prefs traversePreferences) (*list.List, error) {
 	if len(indices) == 0 {
-		return traverseMap(context, candidate, "", prefs, true)
+		return traverseMap(context, candidate, createStringScalarNode(""), prefs, true)
 	}
 
 	var matchingNodeMap = list.New()
 
 	for _, indexNode := range indices {
 		log.Debug("traverseMapWithIndices: %v", indexNode.Value)
-		newNodes, err := traverseMap(context, candidate, indexNode.Value, prefs, false)
+		newNodes, err := traverseMap(context, candidate, indexNode, prefs, false)
 		if err != nil {
 			return nil, err
 		}
@@ -224,9 +220,9 @@ func keyMatches(key *yaml.Node, wantedKey string) bool {
 	return matchKey(key.Value, wantedKey)
 }
 
-func traverseMap(context Context, matchingNode *CandidateNode, key string, prefs traversePreferences, splat bool) (*list.List, error) {
+func traverseMap(context Context, matchingNode *CandidateNode, keyNode *yaml.Node, prefs traversePreferences, splat bool) (*list.List, error) {
 	var newMatches = orderedmap.NewOrderedMap()
-	err := doTraverseMap(newMatches, matchingNode, key, prefs, splat)
+	err := doTraverseMap(newMatches, matchingNode, keyNode.Value, prefs, splat)
 
 	if err != nil {
 		return nil, err
@@ -235,7 +231,7 @@ func traverseMap(context Context, matchingNode *CandidateNode, key string, prefs
 	if !prefs.DontAutoCreate && !context.DontAutoCreate && newMatches.Len() == 0 {
 		//no matches, create one automagically
 		valueNode := &yaml.Node{Tag: "!!null", Kind: yaml.ScalarNode, Value: "null"}
-		keyNode := &yaml.Node{Kind: yaml.ScalarNode, Value: key}
+
 		node := matchingNode.Node
 
 		if len(node.Content) == 0 {


Test patch:
diff --git a/pkg/yqlib/operator_traverse_path_test.go b/pkg/yqlib/operator_traverse_path_test.go
index 464cbba5..56b3cc9c 100644
--- a/pkg/yqlib/operator_traverse_path_test.go
+++ b/pkg/yqlib/operator_traverse_path_test.go
@@ -44,6 +44,13 @@ var traversePathOperatorScenarios = []expressionScenario{
 			"D0, P[0 0], (!!int)::1\n",
 		},
 	},
+	{
+		skipDoc:    true,
+		expression: `.cat["12"] = "things"`,
+		expected: []string{
+			"D0, P[], ()::cat:\n    \"12\": things\n",
+		},
+	},
 	{
 		skipDoc:    true,
 		document:   `blah: {}`,