mirror of
https://github.com/mikefarah/yq.git
synced 2024-11-12 13:48:06 +00:00
Fixed newline issue https://github.com/mikefarah/yq/issues/855
This commit is contained in:
parent
88bee2809f
commit
da47318f42
@ -7,11 +7,24 @@ import (
|
|||||||
"github.com/mikefarah/yq/v4/test"
|
"github.com/mikefarah/yq/v4/test"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var variableWithNewLine = `"cat
|
||||||
|
"`
|
||||||
|
|
||||||
var pathTests = []struct {
|
var pathTests = []struct {
|
||||||
path string
|
path string
|
||||||
expectedTokens []interface{}
|
expectedTokens []interface{}
|
||||||
expectedPostFix []interface{}
|
expectedPostFix []interface{}
|
||||||
}{
|
}{
|
||||||
|
{
|
||||||
|
".a\n",
|
||||||
|
append(make([]interface{}, 0), "a"),
|
||||||
|
append(make([]interface{}, 0), "a"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
variableWithNewLine,
|
||||||
|
append(make([]interface{}, 0), "cat\n (string)"),
|
||||||
|
append(make([]interface{}, 0), "cat\n (string)"),
|
||||||
|
},
|
||||||
{
|
{
|
||||||
`.[0]`,
|
`.[0]`,
|
||||||
append(make([]interface{}, 0), "SELF", "TRAVERSE_ARRAY", "[", "0 (int64)", "]"),
|
append(make([]interface{}, 0), "SELF", "TRAVERSE_ARRAY", "[", "0 (int64)", "]"),
|
||||||
|
@ -320,7 +320,7 @@ func initLexer() (*lex.Lexer, error) {
|
|||||||
lexer.Add([]byte("( |\t|\n|\r)+"), skip)
|
lexer.Add([]byte("( |\t|\n|\r)+"), skip)
|
||||||
|
|
||||||
lexer.Add([]byte(`\."[^ "]+"\??`), pathToken(true))
|
lexer.Add([]byte(`\."[^ "]+"\??`), pathToken(true))
|
||||||
lexer.Add([]byte(`\.[^ \}\{\:\[\],\|\.\[\(\)=]+\??`), pathToken(false))
|
lexer.Add([]byte(`\.[^ \}\{\:\[\],\|\.\[\(\)=\n]+\??`), pathToken(false))
|
||||||
lexer.Add([]byte(`\.`), selfToken())
|
lexer.Add([]byte(`\.`), selfToken())
|
||||||
|
|
||||||
lexer.Add([]byte(`\|`), opToken(pipeOpType))
|
lexer.Add([]byte(`\|`), opToken(pipeOpType))
|
||||||
|
@ -35,6 +35,14 @@ var traversePathOperatorScenarios = []expressionScenario{
|
|||||||
"D0, P[0 0], (!!int)::1\n",
|
"D0, P[0 0], (!!int)::1\n",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
skipDoc: true,
|
||||||
|
document: `b: cat`,
|
||||||
|
expression: ".b\n",
|
||||||
|
expected: []string{
|
||||||
|
"D0, P[b], (!!str)::cat\n",
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
skipDoc: true,
|
skipDoc: true,
|
||||||
document: `[[[1]]]`,
|
document: `[[[1]]]`,
|
||||||
|
Loading…
Reference in New Issue
Block a user