Skip to content

Commit cd6ec77

Browse files
committed
Fixes bug with handling of empty identifier
1 parent 2655679 commit cd6ec77

File tree

5 files changed

+9
-3
lines changed

5 files changed

+9
-3
lines changed

.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@ language: go
22

33
go:
44
- 1.7
5+
- 1.8
6+
- 1.9
57
- tip

identifier.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ var reservedWords = map[string]bool{
4949
// a key with spaces -> false
5050
// 1startsWithANumber -> false
5151
func validIdentifier(s string) bool {
52-
if reservedWords[s] {
52+
if reservedWords[s] || s == "" {
5353
return false
5454
}
5555

identifier_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ func TestValidIdentifier(t *testing.T) {
2121
{"true", false},
2222
{"else", false},
2323
{"null", false},
24+
25+
// Empty string
26+
{"", false},
2427
}
2528

2629
for _, test := range tests {

script/precommit

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,3 @@ PROJDIR=$(cd `dirname $0`/.. && pwd)
44
cd ${PROJDIR}
55

66
./script/test
7-
./script/lint

statements_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ func TestStatementsSimple(t *testing.T) {
2929
"foo": "bar"
3030
},
3131
"else": 1,
32-
"id": 66912849
32+
"id": 66912849,
33+
"": 2
3334
}`)
3435

3536
ss, err := statementsFromJSON(bytes.NewReader(j), statement{{"json", typBare}})
@@ -52,6 +53,7 @@ func TestStatementsSimple(t *testing.T) {
5253
`json.anob.foo = "bar";`,
5354
`json["else"] = 1;`,
5455
`json.id = 66912849;`,
56+
`json[""] = 2;`,
5557
})
5658

5759
t.Logf("Have: %#v", ss)

0 commit comments

Comments
 (0)