mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
Fixed index out of range error
This commit is contained in:
parent
cc7738bb8d
commit
5df71072f5
3
go.mod
3
go.mod
@ -30,5 +30,6 @@ require (
|
|||||||
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
|
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
go 1.21
|
go 1.21.0
|
||||||
|
|
||||||
toolchain go1.22.5
|
toolchain go1.22.5
|
||||||
|
@ -11,6 +11,11 @@ func getExpressionParser() ExpressionParserInterface {
|
|||||||
return ExpressionParser
|
return ExpressionParser
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestParserCreateMapColonOnItsOwn(t *testing.T) {
|
||||||
|
_, err := getExpressionParser().ParseExpression(":")
|
||||||
|
test.AssertResultComplex(t, "':' expects 2 args but there is 0", err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
func TestParserNoMatchingCloseBracket(t *testing.T) {
|
func TestParserNoMatchingCloseBracket(t *testing.T) {
|
||||||
_, err := getExpressionParser().ParseExpression(".cat | with(.;.bob")
|
_, err := getExpressionParser().ParseExpression(".cat | with(.;.bob")
|
||||||
test.AssertResultComplex(t, "bad expression - probably missing close bracket on WITH", err.Error())
|
test.AssertResultComplex(t, "bad expression - probably missing close bracket on WITH", err.Error())
|
||||||
|
@ -126,7 +126,7 @@ func handleToken(tokens []*token, index int, postProcessedTokens []*token) (toke
|
|||||||
if tokenIsOpType(currentToken, createMapOpType) {
|
if tokenIsOpType(currentToken, createMapOpType) {
|
||||||
log.Debugf("tokenIsOpType: createMapOpType")
|
log.Debugf("tokenIsOpType: createMapOpType")
|
||||||
// check the previous token is '[', means we are slice, but dont have a first number
|
// check the previous token is '[', means we are slice, but dont have a first number
|
||||||
if tokens[index-1].TokenType == traverseArrayCollect {
|
if index > 0 && tokens[index-1].TokenType == traverseArrayCollect {
|
||||||
log.Debugf("previous token is : traverseArrayOpType")
|
log.Debugf("previous token is : traverseArrayOpType")
|
||||||
// need to put the number 0 before this token, as that is implied
|
// need to put the number 0 before this token, as that is implied
|
||||||
postProcessedTokens = append(postProcessedTokens, &token{TokenType: operationToken, Operation: createValueOperation(0, "0")})
|
postProcessedTokens = append(postProcessedTokens, &token{TokenType: operationToken, Operation: createValueOperation(0, "0")})
|
||||||
|
Loading…
Reference in New Issue
Block a user