diff options
author | Ivan Krasin <krasin@golang.org> | 2010-01-06 07:25:17 -0800 |
---|---|---|
committer | Ivan Krasin <krasin@golang.org> | 2010-01-06 07:25:17 -0800 |
commit | d7f9d03638a68e2632400b75ecfaa71f35a33d88 (patch) | |
tree | 377cf41efd1bdb9793c6d2670420420d2d048a86 /src/pkg/json/struct_test.go | |
parent | 218c405e70449ae29c7293e7e5bbe4343f41e725 (diff) | |
download | golang-d7f9d03638a68e2632400b75ecfaa71f35a33d88.tar.gz |
Propagate error to the caller in json.Marshal. Fixes issue 445.
R=rsc, imkrasin
CC=golang-dev
http://codereview.appspot.com/179125
Committer: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/pkg/json/struct_test.go')
-rw-r--r-- | src/pkg/json/struct_test.go | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/pkg/json/struct_test.go b/src/pkg/json/struct_test.go index 9a928f7d0..f1440c413 100644 --- a/src/pkg/json/struct_test.go +++ b/src/pkg/json/struct_test.go @@ -175,6 +175,12 @@ type marshalTest struct { out string } +type MTE string + +type OneField struct { + a int +} + var marshalTests = []marshalTest{ // basic string marshalTest{nil, "null"}, @@ -201,6 +207,9 @@ var marshalTests = []marshalTest{ `{"a":1,"b":"hello"}`, }, marshalTest{map[string][]int{"3": []int{1, 2, 3}}, `{"3":[1,2,3]}`}, + marshalTest{map[string]*MTE{"hi": nil}, `{"hi":null}`}, + marshalTest{map[string]interface{}{"hi": 3}, `{"hi":3}`}, + marshalTest{&OneField{3}, `{"a":3}`}, } func TestMarshal(t *testing.T) { @@ -224,11 +233,14 @@ type marshalErrorTest struct { error string } -type MTE string +type ChanVal struct { + C chan int +} var marshalErrorTests = []marshalErrorTest{ marshalErrorTest{map[chan int]string{make(chan int): "one"}, "json cannot encode value of type map[chan int] string"}, - marshalErrorTest{map[string]*MTE{"hi": nil}, "json cannot encode value of type *json.MTE"}, + marshalErrorTest{make(chan int, 100), "json cannot encode value of type chan int"}, + marshalErrorTest{new(ChanVal), "json cannot encode value of type chan int"}, } func TestMarshalError(t *testing.T) { |