Harden tests for bad arrays
This commit is contained in:
@@ -264,7 +264,7 @@ func (p *tomlParser) parseArray() []interface{} {
|
||||
}
|
||||
if follow.typ == tokenRightBracket {
|
||||
p.getToken()
|
||||
return array
|
||||
break
|
||||
}
|
||||
val := p.parseRvalue()
|
||||
if arrayType == nil {
|
||||
@@ -275,7 +275,7 @@ func (p *tomlParser) parseArray() []interface{} {
|
||||
}
|
||||
array = append(array, val)
|
||||
follow = p.peek()
|
||||
if follow == nil {
|
||||
if follow == nil || follow.typ == tokenEOF {
|
||||
p.raiseError(follow, "unterminated array")
|
||||
}
|
||||
if follow.typ != tokenRightBracket && follow.typ != tokenComma {
|
||||
|
||||
@@ -297,6 +297,16 @@ func TestUnterminatedArray(t *testing.T) {
|
||||
if err.Error() != "(1, 8): unterminated array" {
|
||||
t.Error("Bad error message:", err.Error())
|
||||
}
|
||||
|
||||
_, err = Load("a = [1")
|
||||
if err.Error() != "(1, 7): unterminated array" {
|
||||
t.Error("Bad error message:", err.Error())
|
||||
}
|
||||
|
||||
_, err = Load("a = [1 2")
|
||||
if err.Error() != "(1, 8): missing comma" {
|
||||
t.Error("Bad error message:", err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewlinesInArrays(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user