FilterIdArgs

This commit is contained in:
Taylor Gerring 2015-03-26 20:10:31 +01:00
parent 62ebf999bf
commit 1f1e98f96b
2 changed files with 37 additions and 4 deletions

View File

@ -664,9 +664,8 @@ type FilterIdArgs struct {
} }
func (args *FilterIdArgs) UnmarshalJSON(b []byte) (err error) { func (args *FilterIdArgs) UnmarshalJSON(b []byte) (err error) {
var obj []string var obj []interface{}
r := bytes.NewReader(b) if err := json.Unmarshal(b, &obj); err != nil {
if err := json.NewDecoder(r).Decode(&obj); err != nil {
return NewDecodeParamError(err.Error()) return NewDecodeParamError(err.Error())
} }
@ -674,7 +673,11 @@ func (args *FilterIdArgs) UnmarshalJSON(b []byte) (err error) {
return NewInsufficientParamsError(len(obj), 1) return NewInsufficientParamsError(len(obj), 1)
} }
args.Id = int(common.Big(obj[0]).Int64()) var num int64
if err := numString(obj[0], &num); err != nil {
return err
}
args.Id = int(num)
return nil return nil
} }

View File

@ -1056,6 +1056,36 @@ func TestFilterIdArgs(t *testing.T) {
} }
} }
func TestFilterIdArgsInvalid(t *testing.T) {
input := `{}`
args := new(FilterIdArgs)
str := ExpectDecodeParamError(json.Unmarshal([]byte(input), &args))
if len(str) > 0 {
t.Errorf(str)
}
}
func TestFilterIdArgsEmpty(t *testing.T) {
input := `[]`
args := new(FilterIdArgs)
str := ExpectInsufficientParamsError(json.Unmarshal([]byte(input), &args))
if len(str) > 0 {
t.Errorf(str)
}
}
func TestFilterIdArgsBool(t *testing.T) {
input := `[true]`
args := new(FilterIdArgs)
str := ExpectInvalidTypeError(json.Unmarshal([]byte(input), &args))
if len(str) > 0 {
t.Errorf(str)
}
}
func TestWhsiperFilterArgs(t *testing.T) { func TestWhsiperFilterArgs(t *testing.T) {
input := `[{"topics": ["0x68656c6c6f20776f726c64"], "to": "0x34ag445g3455b34"}]` input := `[{"topics": ["0x68656c6c6f20776f726c64"], "to": "0x34ag445g3455b34"}]`
expected := new(WhisperFilterArgs) expected := new(WhisperFilterArgs)