30 lines
559 B
Go
30 lines
559 B
Go
package starbind
|
|
|
|
import (
|
|
"go.starlark.net/starlark"
|
|
"testing"
|
|
)
|
|
|
|
func TestConv(t *testing.T) {
|
|
script := `
|
|
# A list global that we'll unmarshal into a slice.
|
|
x = [1,2]
|
|
`
|
|
globals, err := starlark.ExecFile(&starlark.Thread{}, "test.star", script, nil)
|
|
starlarkVal, ok := globals["x"]
|
|
if !ok {
|
|
t.Fatal("missing global 'x'")
|
|
}
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
var x []int
|
|
err = unmarshalStarlarkValue(starlarkVal, &x, "x")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if len(x) != 2 || x[0] != 1 || x[1] != 2 {
|
|
t.Fatalf("expected [1 2], got: %v", x)
|
|
}
|
|
}
|