DRY up the use of fromHex and put it in ethutil
This commit is contained in:
@@ -64,6 +64,19 @@ func DefaultDataDir() string {
|
||||
return path.Join(usr.HomeDir, ".ethereum")
|
||||
}
|
||||
}
|
||||
|
||||
func FromHex(s string) []byte {
|
||||
if len(s) > 1 {
|
||||
if s[0:2] == "0x" {
|
||||
s = s[2:]
|
||||
}
|
||||
if len(s)%2 == 1 {
|
||||
s = "0" + s
|
||||
}
|
||||
return Hex2Bytes(s)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func IsWindows() bool {
|
||||
return runtime.GOOS == "windows"
|
||||
}
|
||||
|
@@ -1,8 +1,10 @@
|
||||
package ethutil
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"math/big"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
checker "gopkg.in/check.v1"
|
||||
)
|
||||
@@ -66,3 +68,22 @@ func (s *CommonSuite) TestLarge(c *checker.C) {
|
||||
c.Assert(adalarge, checker.Equals, "10000E7 Einstein")
|
||||
c.Assert(weilarge, checker.Equals, "100 Babbage")
|
||||
}
|
||||
|
||||
//fromHex
|
||||
func TestFromHex(t *testing.T) {
|
||||
input := "0x01"
|
||||
expected := []byte{1}
|
||||
result := FromHex(input)
|
||||
if bytes.Compare(expected, result) != 0 {
|
||||
t.Errorf("Expected % x got % x", expected, result)
|
||||
}
|
||||
}
|
||||
|
||||
func TestFromHexOddLength(t *testing.T) {
|
||||
input := "0x1"
|
||||
expected := []byte{1}
|
||||
result := FromHex(input)
|
||||
if bytes.Compare(expected, result) != 0 {
|
||||
t.Errorf("Expected % x got % x", expected, result)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user