neo-go/pkg/core/native/compatibility_test.go
Evgeniy Stratonikov f9f1fe03b2 core: refactor native call
1. `System.Contract.CallNative` expects version on stack.
2. Actual method is determined based on current
   instruction pointer.
3. Native hashes don't longer depend on NEF checksum.
2021-02-26 10:59:09 +03:00

30 lines
594 B
Go

package native
import (
"testing"
"unicode"
"github.com/stretchr/testify/require"
)
// "C" and "O" can easily be typed by accident.
func TestNamesASCII(t *testing.T) {
cs := NewContracts(true)
for _, c := range cs.Contracts {
require.True(t, isASCII(c.Metadata().Name))
for _, m := range c.Metadata().Methods {
require.True(t, isASCII(m.MD.Name))
}
for _, e := range c.Metadata().Manifest.ABI.Events {
require.True(t, isASCII(e.Name))
}
}
}
func isASCII(s string) bool {
ok := true
for i := 0; i < len(s); i++ {
ok = ok && s[i] <= unicode.MaxASCII
}
return ok
}