| package test |
| |
| import "io" |
| |
| func init() { |
| var pCloser1 = func(str string) *io.Closer { |
| closer := io.Closer(strCloser1(str)) |
| return &closer |
| } |
| var pCloser2 = func(str string) *io.Closer { |
| strCloser := strCloser2(str) |
| closer := io.Closer(&strCloser) |
| return &closer |
| } |
| marshalCases = append(marshalCases, |
| pCloser1("hello"), |
| pCloser2("hello"), |
| ) |
| unmarshalCases = append(unmarshalCases, unmarshalCase{ |
| ptr: (*[]io.Closer)(nil), |
| input: "[null]", |
| }, unmarshalCase{ |
| obj: func() interface{} { |
| strCloser := strCloser2("") |
| return &struct { |
| Field io.Closer |
| }{ |
| &strCloser, |
| } |
| }, |
| input: `{"Field": "hello"}`, |
| }) |
| } |
| |
| type strCloser1 string |
| |
| func (closer strCloser1) Close() error { |
| return nil |
| } |
| |
| type strCloser2 string |
| |
| func (closer *strCloser2) Close() error { |
| return nil |
| } |