1 Star 0 Fork 0

落雪无痕/gopher-luar

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
metatable_test.go 693 Bytes
一键复制 编辑 原始数据 按行查看 历史
Tim Cooper 提交于 2018-06-19 07:31 . remove getMetatableFromValue
package luar
import (
"testing"
"github.com/yuin/gopher-lua"
)
func Test_metatable(t *testing.T) {
L := lua.NewState()
defer L.Close()
tbl := []struct {
Value interface{}
CustomMT bool
}{
{"hello", false},
{123, false},
{1.23, false},
{nil, false},
{struct{}{}, true},
{&struct{}{}, true},
{[]string{}, true},
{make(chan string), true},
{(*string)(nil), true},
{func() {}, false},
{map[string]int{}, true},
}
for _, v := range tbl {
mt := MT(L, v.Value)
if v.CustomMT && mt == nil {
t.Fatalf("expected to have custom MT for %#v\n", v.Value)
} else if !v.CustomMT && mt != nil {
t.Fatalf("unexpected custom MT for %#v\n", v.Value)
}
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/8704612/gopher-luar.git
[email protected]:8704612/gopher-luar.git
8704612
gopher-luar
gopher-luar
master

搜索帮助