mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00

for i in github.com/BurntSushi/toml github.com/coreos/go-etcd/etcd github.com/coreos/go-log/log github.com/gorilla/context github.com/rcrowley/go-metrics bitbucket.org/kardianos/osext github.com/coreos/go-systemd/journal github.com/coreos/raft code.google.com/p/goprotobuf/proto ; do goven -copy -rewrite $i; done
62 lines
983 B
Go
62 lines
983 B
Go
package toml
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
var testParseSmall = `
|
|
# This is a TOML document. Boom.
|
|
|
|
wat = "chipper"
|
|
|
|
[owner.andrew.gallant]
|
|
hmm = "hi"
|
|
|
|
[owner] # Whoa there.
|
|
andreW = "gallant # poopy" # weeeee
|
|
predicate = false
|
|
num = -5192
|
|
f = -0.5192
|
|
zulu = 1979-05-27T07:32:00Z
|
|
whoop = "poop"
|
|
tests = [ [1, 2, 3], ["abc", "xyz"] ]
|
|
arrs = [ # hmm
|
|
# more comments are awesome.
|
|
1987-07-05T05:45:00Z,
|
|
# say wat?
|
|
1987-07-05T05:45:00Z,
|
|
1987-07-05T05:45:00Z,
|
|
# sweetness
|
|
] # more comments
|
|
# hehe
|
|
`
|
|
|
|
var testParseSmall2 = `
|
|
[a]
|
|
better = 43
|
|
|
|
[a.b.c]
|
|
answer = 42
|
|
`
|
|
|
|
func TestParse(t *testing.T) {
|
|
m, err := parse(testParseSmall)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
printMap(m.mapping, 0)
|
|
}
|
|
|
|
func printMap(m map[string]interface{}, depth int) {
|
|
for k, v := range m {
|
|
testf("%s%s\n", strings.Repeat(" ", depth), k)
|
|
switch subm := v.(type) {
|
|
case map[string]interface{}:
|
|
printMap(subm, depth+1)
|
|
default:
|
|
testf("%s%v\n", strings.Repeat(" ", depth+1), v)
|
|
}
|
|
}
|
|
}
|