aboutsummaryrefslogtreecommitdiffstats
path: root/rpc/types_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'rpc/types_test.go')
-rw-r--r--rpc/types_test.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/rpc/types_test.go b/rpc/types_test.go
index c2c5c6db6..5482557b8 100644
--- a/rpc/types_test.go
+++ b/rpc/types_test.go
@@ -71,3 +71,25 @@ func TestHexNumberMarshalJSON(t *testing.T) {
t.Fatalf("Invalid json.Marshal, expected '%s', got '%s'", exp, got)
}
}
+
+var hexBytesTests = []struct{ in, out []byte }{
+ {in: []byte(`"0x"`), out: []byte{}},
+ {in: []byte(`"0x00"`), out: []byte{0}},
+ {in: []byte(`"0x01ff"`), out: []byte{0x01, 0xFF}},
+}
+
+func TestHexBytes(t *testing.T) {
+ for i, test := range hexBytesTests {
+ var dec HexBytes
+ if err := json.Unmarshal(test.in, &dec); err != nil {
+ t.Fatalf("test %d: can't decode: %v", i, err)
+ }
+ enc, _ := json.Marshal(HexBytes(test.out))
+ if !bytes.Equal(dec, test.out) {
+ t.Errorf("test %d: wrong decoded value 0x%x", i, dec)
+ }
+ if !bytes.Equal(enc, test.in) {
+ t.Errorf("test %d: wrong encoded value %#q", i, enc)
+ }
+ }
+}