mapserver/luaparser/luaparser_test.go
2019-06-13 08:04:32 +02:00

59 lines
761 B
Go

package luaparser
import (
"fmt"
"testing"
)
func TestParseList(t *testing.T) {
p := New()
m, err := p.ParseList(`return {{["x"]=1},{["y"]=2}}`)
if err != nil {
panic(err)
}
fmt.Println(m)
if len(m) != 2 {
t.Fatalf("wrong length: %d", len(m))
}
v1 := m[0]
fmt.Println(v1)
if v1["x"].(int) != 1 {
t.Fatal("[0][x] does not match")
}
v2 := m[1]
if v2["y"].(int) != 2 {
t.Fatal("[1][y] does not match")
}
}
func TestParseMap(t *testing.T) {
p := New()
m, err := p.ParseMap(`return {a=1, b=true, c="abc"}`)
if err != nil {
panic(err)
}
fmt.Println(m)
if m["a"].(int) != 1 {
t.Fatal("parsing error")
}
if !m["b"].(bool) {
t.Fatal("parsing error")
}
if m["c"].(string) != "abc" {
t.Fatal("parsing error")
}
}