mapserver/luaparser/luaparser_test.go

59 lines
761 B
Go
Raw Normal View History

2019-02-08 15:24:54 +03:00
package luaparser
import (
2019-02-08 18:02:24 +03:00
"fmt"
"testing"
2019-02-08 15:24:54 +03:00
)
2019-02-22 15:55:11 +03:00
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) {
2019-02-08 18:02:24 +03:00
p := New()
m, err := p.ParseMap(`return {a=1, b=true, c="abc"}`)
2019-02-08 15:24:54 +03:00
2019-02-08 18:02:24 +03:00
if err != nil {
panic(err)
}
2019-02-08 15:24:54 +03:00
2019-02-08 18:02:24 +03:00
fmt.Println(m)
2019-02-08 15:24:54 +03:00
2019-02-08 18:02:24 +03:00
if m["a"].(int) != 1 {
t.Fatal("parsing error")
}
2019-02-08 15:24:54 +03:00
2019-02-08 18:02:24 +03:00
if !m["b"].(bool) {
t.Fatal("parsing error")
}
2019-02-08 15:24:54 +03:00
2019-02-08 18:02:24 +03:00
if m["c"].(string) != "abc" {
t.Fatal("parsing error")
}
2019-02-08 15:24:54 +03:00
}