tests + fixes

This commit is contained in:
Taylor Gerring 2015-03-23 17:33:01 +01:00
parent 0330077d76
commit 1e61b75cbf
2 changed files with 37 additions and 7 deletions

View File

@ -467,7 +467,7 @@ func (args *BlockFilterArgs) UnmarshalJSON(b []byte) (err error) {
switch fromstr { switch fromstr {
case "latest": case "latest":
args.Earliest = 0 args.Earliest = -1
default: default:
args.Earliest = int64(common.Big(obj[0].FromBlock.(string)).Int64()) args.Earliest = int64(common.Big(obj[0].FromBlock.(string)).Int64())
} }
@ -479,9 +479,9 @@ func (args *BlockFilterArgs) UnmarshalJSON(b []byte) (err error) {
switch tostr { switch tostr {
case "latest": case "latest":
args.Latest = 0
case "pending":
args.Latest = -1 args.Latest = -1
case "pending":
args.Latest = -2
default: default:
args.Latest = int64(common.Big(obj[0].ToBlock.(string)).Int64()) args.Latest = int64(common.Big(obj[0].ToBlock.(string)).Int64())
} }
@ -775,8 +775,7 @@ func (args *SubmitWorkArgs) UnmarshalJSON(b []byte) (err error) {
return NewDecodeParamError("Nonce is not a string") return NewDecodeParamError("Nonce is not a string")
} }
args.Nonce = common.BytesToNumber(common.Hex2Bytes(objstr)) args.Nonce = common.String2Big(objstr).Uint64()
if objstr, ok = obj[1].(string); !ok { if objstr, ok = obj[1].(string); !ok {
return NewDecodeParamError("Header is not a string") return NewDecodeParamError("Header is not a string")
} }

View File

@ -5,6 +5,8 @@ import (
"encoding/json" "encoding/json"
"math/big" "math/big"
"testing" "testing"
"github.com/ethereum/go-ethereum/common"
) )
func TestSha3(t *testing.T) { func TestSha3(t *testing.T) {
@ -440,8 +442,8 @@ func TestBlockFilterArgsWords(t *testing.T) {
"toBlock": "pending" "toBlock": "pending"
}]` }]`
expected := new(BlockFilterArgs) expected := new(BlockFilterArgs)
expected.Earliest = 0 expected.Earliest = -1
expected.Latest = -1 expected.Latest = -2
args := new(BlockFilterArgs) args := new(BlockFilterArgs)
if err := json.Unmarshal([]byte(input), &args); err != nil { if err := json.Unmarshal([]byte(input), &args); err != nil {
@ -651,6 +653,10 @@ func TestFilterStringArgs(t *testing.T) {
t.Error(err) t.Error(err)
} }
if err := args.requirements(); err != nil {
t.Error(err)
}
if expected.Word != args.Word { if expected.Word != args.Word {
t.Errorf("Word shoud be %#v but is %#v", expected.Word, args.Word) t.Errorf("Word shoud be %#v but is %#v", expected.Word, args.Word)
} }
@ -720,3 +726,28 @@ func TestHashIndexArgs(t *testing.T) {
t.Errorf("Index shoud be %#v but is %#v", expected.Index, args.Index) t.Errorf("Index shoud be %#v but is %#v", expected.Index, args.Index)
} }
} }
func TestSubmitWorkArgs(t *testing.T) {
input := `["0x0000000000000001", "0x1234567890abcdef1234567890abcdef", "0xD1GE5700000000000000000000000000"]`
expected := new(SubmitWorkArgs)
expected.Nonce = 1
expected.Header = common.HexToHash("0x1234567890abcdef1234567890abcdef")
expected.Digest = common.HexToHash("0xD1GE5700000000000000000000000000")
args := new(SubmitWorkArgs)
if err := json.Unmarshal([]byte(input), &args); err != nil {
t.Error(err)
}
if expected.Nonce != args.Nonce {
t.Errorf("Nonce shoud be %d but is %d", expected.Nonce, args.Nonce)
}
if expected.Header != args.Header {
t.Errorf("Header shoud be %#v but is %#v", expected.Header, args.Header)
}
if expected.Digest != args.Digest {
t.Errorf("Digest shoud be %#v but is %#v", expected.Digest, args.Digest)
}
}