compiler: remove offset comparison from debug test
We shouldn't test for them anyway plus the error is more specific now.
This commit is contained in:
parent
fec214055f
commit
e8ba386e58
1 changed files with 14 additions and 16 deletions
|
@ -158,14 +158,12 @@ func _deploy(data interface{}, isUpdate bool) {}
|
||||||
t.Run("convert to Manifest", func(t *testing.T) {
|
t.Run("convert to Manifest", func(t *testing.T) {
|
||||||
actual, err := d.ConvertToManifest(&Options{Name: "MyCTR", SafeMethods: []string{"methodInt", "methodString"}})
|
actual, err := d.ConvertToManifest(&Options{Name: "MyCTR", SafeMethods: []string{"methodInt", "methodString"}})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
// note: offsets are hard to predict, so we just take them from the output
|
|
||||||
expected := &manifest.Manifest{
|
expected := &manifest.Manifest{
|
||||||
Name: "MyCTR",
|
Name: "MyCTR",
|
||||||
ABI: manifest.ABI{
|
ABI: manifest.ABI{
|
||||||
Methods: []manifest.Method{
|
Methods: []manifest.Method{
|
||||||
{
|
{
|
||||||
Name: "_deploy",
|
Name: "_deploy",
|
||||||
Offset: 0,
|
|
||||||
Parameters: []manifest.Parameter{
|
Parameters: []manifest.Parameter{
|
||||||
manifest.NewParameter("data", smartcontract.AnyType),
|
manifest.NewParameter("data", smartcontract.AnyType),
|
||||||
manifest.NewParameter("isUpdate", smartcontract.BoolType),
|
manifest.NewParameter("isUpdate", smartcontract.BoolType),
|
||||||
|
@ -173,16 +171,14 @@ func _deploy(data interface{}, isUpdate bool) {}
|
||||||
ReturnType: smartcontract.VoidType,
|
ReturnType: smartcontract.VoidType,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "main",
|
Name: "main",
|
||||||
Offset: 4,
|
|
||||||
Parameters: []manifest.Parameter{
|
Parameters: []manifest.Parameter{
|
||||||
manifest.NewParameter("op", smartcontract.StringType),
|
manifest.NewParameter("op", smartcontract.StringType),
|
||||||
},
|
},
|
||||||
ReturnType: smartcontract.BoolType,
|
ReturnType: smartcontract.BoolType,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "methodInt",
|
Name: "methodInt",
|
||||||
Offset: 70,
|
|
||||||
Parameters: []manifest.Parameter{
|
Parameters: []manifest.Parameter{
|
||||||
{
|
{
|
||||||
Name: "a",
|
Name: "a",
|
||||||
|
@ -194,32 +190,27 @@ func _deploy(data interface{}, isUpdate bool) {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "methodString",
|
Name: "methodString",
|
||||||
Offset: 101,
|
|
||||||
Parameters: []manifest.Parameter{},
|
Parameters: []manifest.Parameter{},
|
||||||
ReturnType: smartcontract.StringType,
|
ReturnType: smartcontract.StringType,
|
||||||
Safe: true,
|
Safe: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "methodByteArray",
|
Name: "methodByteArray",
|
||||||
Offset: 107,
|
|
||||||
Parameters: []manifest.Parameter{},
|
Parameters: []manifest.Parameter{},
|
||||||
ReturnType: smartcontract.ByteArrayType,
|
ReturnType: smartcontract.ByteArrayType,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "methodArray",
|
Name: "methodArray",
|
||||||
Offset: 112,
|
|
||||||
Parameters: []manifest.Parameter{},
|
Parameters: []manifest.Parameter{},
|
||||||
ReturnType: smartcontract.ArrayType,
|
ReturnType: smartcontract.ArrayType,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "methodStruct",
|
Name: "methodStruct",
|
||||||
Offset: 117,
|
|
||||||
Parameters: []manifest.Parameter{},
|
Parameters: []manifest.Parameter{},
|
||||||
ReturnType: smartcontract.ArrayType,
|
ReturnType: smartcontract.ArrayType,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "methodConcat",
|
Name: "methodConcat",
|
||||||
Offset: 92,
|
|
||||||
Parameters: []manifest.Parameter{
|
Parameters: []manifest.Parameter{
|
||||||
{
|
{
|
||||||
Name: "a",
|
Name: "a",
|
||||||
|
@ -237,8 +228,7 @@ func _deploy(data interface{}, isUpdate bool) {}
|
||||||
ReturnType: smartcontract.StringType,
|
ReturnType: smartcontract.StringType,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "methodParams",
|
Name: "methodParams",
|
||||||
Offset: 129,
|
|
||||||
Parameters: []manifest.Parameter{
|
Parameters: []manifest.Parameter{
|
||||||
manifest.NewParameter("addr", smartcontract.Hash160Type),
|
manifest.NewParameter("addr", smartcontract.Hash160Type),
|
||||||
manifest.NewParameter("h", smartcontract.Hash256Type),
|
manifest.NewParameter("h", smartcontract.Hash256Type),
|
||||||
|
@ -267,7 +257,15 @@ func _deploy(data interface{}, isUpdate bool) {}
|
||||||
},
|
},
|
||||||
Extra: json.RawMessage("null"),
|
Extra: json.RawMessage("null"),
|
||||||
}
|
}
|
||||||
require.ElementsMatch(t, expected.ABI.Methods, actual.ABI.Methods)
|
require.Equal(t, len(expected.ABI.Methods), len(actual.ABI.Methods))
|
||||||
|
for _, exp := range expected.ABI.Methods {
|
||||||
|
md := actual.ABI.GetMethod(exp.Name, len(exp.Parameters))
|
||||||
|
require.NotNil(t, md)
|
||||||
|
require.Equal(t, exp.Name, md.Name)
|
||||||
|
require.Equal(t, exp.Parameters, md.Parameters)
|
||||||
|
require.Equal(t, exp.ReturnType, md.ReturnType)
|
||||||
|
require.Equal(t, exp.Safe, md.Safe)
|
||||||
|
}
|
||||||
require.Equal(t, expected.ABI.Events, actual.ABI.Events)
|
require.Equal(t, expected.ABI.Events, actual.ABI.Events)
|
||||||
require.Equal(t, expected.Groups, actual.Groups)
|
require.Equal(t, expected.Groups, actual.Groups)
|
||||||
require.Equal(t, expected.Permissions, actual.Permissions)
|
require.Equal(t, expected.Permissions, actual.Permissions)
|
||||||
|
|
Loading…
Reference in a new issue