neoneo-go/pkg/compiler/nilcheck_test.go

56 lines
656 B
Go
Raw Normal View History

2020-06-24 05:57:04 +00:00
package compiler_test
import (
"math/big"
"testing"
)
var nilTestCases = []testCase{
{
"nil check positive right",
`
package foo
func Main() int {
var t interface{}
if t == nil {
return 1
}
return 2
}
`,
big.NewInt(1),
},
{
"nil check negative right",
`
package foo
func Main() int {
t := []byte{}
if t == nil {
return 1
}
return 2
}
`,
big.NewInt(2),
},
{
"nil check positive left",
`
package foo
func Main() int {
var t interface{}
if nil == t {
return 1
}
return 2
}
`,
big.NewInt(1),
},
}
func TestNil(t *testing.T) {
runTestCases(t, nilTestCases)
}