55009153a9
We should convert both `true` and `false` values.
63 lines
1 KiB
Go
63 lines
1 KiB
Go
package compiler_test
|
|
|
|
import (
|
|
"math/big"
|
|
"testing"
|
|
)
|
|
|
|
func TestImportFunction(t *testing.T) {
|
|
src := `
|
|
package somethingelse
|
|
|
|
import "github.com/nspcc-dev/neo-go/pkg/compiler/testdata/foo"
|
|
|
|
func Main() int {
|
|
i := foo.NewBar()
|
|
return i
|
|
}
|
|
`
|
|
eval(t, src, big.NewInt(10))
|
|
}
|
|
|
|
func TestImportStruct(t *testing.T) {
|
|
src := `
|
|
package somethingwedontcareabout
|
|
|
|
import "github.com/nspcc-dev/neo-go/pkg/compiler/testdata/bar"
|
|
|
|
func Main() int {
|
|
b := bar.Bar{
|
|
X: 4,
|
|
}
|
|
return b.Y
|
|
}
|
|
`
|
|
eval(t, src, big.NewInt(0))
|
|
}
|
|
|
|
func TestMultipleDirFileImport(t *testing.T) {
|
|
src := `
|
|
package hello
|
|
|
|
import "github.com/nspcc-dev/neo-go/pkg/compiler/testdata/foobar"
|
|
|
|
func Main() bool {
|
|
ok := foobar.OtherBool()
|
|
return ok
|
|
}
|
|
`
|
|
eval(t, src, true)
|
|
}
|
|
|
|
func TestImportNameSameAsOwn(t *testing.T) {
|
|
src := `package foo
|
|
import "github.com/nspcc-dev/neo-go/pkg/compiler/testdata/foo"
|
|
func get3() int { return 3 }
|
|
func Main() int {
|
|
return get3()
|
|
}
|
|
func unused() int {
|
|
return foo.Bar()
|
|
}`
|
|
eval(t, src, big.NewInt(3))
|
|
}
|