@@ -52,7 +52,7 @@ func (p pointErr) MarshalText() ([]byte, error) {
52
52
}
53
53
54
54
// Logging this should result in the MarshalLog() value.
55
- type Tmarshaler string
55
+ type Tmarshaler struct { val string }
56
56
57
57
func (t Tmarshaler ) MarshalLog () interface {} {
58
58
return struct { Inner string }{"I am a logr.Marshaler" }
@@ -67,7 +67,7 @@ func (t Tmarshaler) Error() string {
67
67
}
68
68
69
69
// Logging this should result in the String() value.
70
- type Tstringer string
70
+ type Tstringer struct { val string }
71
71
72
72
func (t Tstringer ) String () string {
73
73
return "I am a fmt.Stringer"
@@ -77,6 +77,13 @@ func (t Tstringer) Error() string {
77
77
return "Error(): you should not see this"
78
78
}
79
79
80
+ // Logging this should result in the Error() value.
81
+ type Terror struct { val string }
82
+
83
+ func (t Terror ) Error () string {
84
+ return "I am an error"
85
+ }
86
+
80
87
type TjsontagsString struct {
81
88
String1 string `json:"string1"` // renamed
82
89
String2 string `json:"-"` // ignored
@@ -351,16 +358,40 @@ func TestPretty(t *testing.T) {
351
358
},
352
359
},
353
360
{
354
- val : Tmarshaler ( "foobar" ) ,
361
+ val : Tmarshaler { "foobar" } ,
355
362
exp : `{"Inner":"I am a logr.Marshaler"}` ,
356
363
},
357
364
{
358
- val : Tstringer ("foobar" ),
365
+ val : & Tmarshaler {"foobar" },
366
+ exp : `{"Inner":"I am a logr.Marshaler"}` ,
367
+ },
368
+ {
369
+ val : (* Tmarshaler )(nil ),
370
+ exp : `"<nil-logr-marshaler>"` ,
371
+ },
372
+ {
373
+ val : Tstringer {"foobar" },
359
374
exp : `"I am a fmt.Stringer"` ,
360
375
},
361
376
{
362
- val : fmt .Errorf ("error" ),
363
- exp : `"error"` ,
377
+ val : & Tstringer {"foobar" },
378
+ exp : `"I am a fmt.Stringer"` ,
379
+ },
380
+ {
381
+ val : (* Tstringer )(nil ),
382
+ exp : `"<nil-fmt-stringer>"` ,
383
+ },
384
+ {
385
+ val : Terror {"foobar" },
386
+ exp : `"I am an error"` ,
387
+ },
388
+ {
389
+ val : & Terror {"foobar" },
390
+ exp : `"I am an error"` ,
391
+ },
392
+ {
393
+ val : (* Terror )(nil ),
394
+ exp : `"<nil-error>"` ,
364
395
},
365
396
{
366
397
val : TjsontagsString {
0 commit comments