51 | 51 |
}
|
52 | 52 |
|
53 | 53 |
// Logging this should result in the MarshalLog() value.
|
54 | |
type Tmarshaler string
|
|
54 |
type Tmarshaler struct{ val string }
|
55 | 55 |
|
56 | 56 |
func (t Tmarshaler) MarshalLog() interface{} {
|
57 | 57 |
return struct{ Inner string }{"I am a logr.Marshaler"}
|
|
65 | 65 |
return "Error(): you should not see this"
|
66 | 66 |
}
|
67 | 67 |
|
|
68 |
// Logging this should result in a panic.
|
|
69 |
type Tmarshalerpanic struct{ val string }
|
|
70 |
|
|
71 |
func (t Tmarshalerpanic) MarshalLog() interface{} {
|
|
72 |
panic("Tmarshalerpanic")
|
|
73 |
}
|
|
74 |
|
68 | 75 |
// Logging this should result in the String() value.
|
69 | |
type Tstringer string
|
|
76 |
type Tstringer struct{ val string }
|
70 | 77 |
|
71 | 78 |
func (t Tstringer) String() string {
|
72 | 79 |
return "I am a fmt.Stringer"
|
|
74 | 81 |
|
75 | 82 |
func (t Tstringer) Error() string {
|
76 | 83 |
return "Error(): you should not see this"
|
|
84 |
}
|
|
85 |
|
|
86 |
// Logging this should result in a panic.
|
|
87 |
type Tstringerpanic struct{ val string }
|
|
88 |
|
|
89 |
func (t Tstringerpanic) String() string {
|
|
90 |
panic("Tstringerpanic")
|
|
91 |
}
|
|
92 |
|
|
93 |
// Logging this should result in the Error() value.
|
|
94 |
type Terror struct{ val string }
|
|
95 |
|
|
96 |
func (t Terror) Error() string {
|
|
97 |
return "I am an error"
|
|
98 |
}
|
|
99 |
|
|
100 |
// Logging this should result in a panic.
|
|
101 |
type Terrorpanic struct{ val string }
|
|
102 |
|
|
103 |
func (t Terrorpanic) Error() string {
|
|
104 |
panic("Terrorpanic")
|
77 | 105 |
}
|
78 | 106 |
|
79 | 107 |
type TjsontagsString struct {
|
|
350 | 378 |
},
|
351 | 379 |
},
|
352 | 380 |
{
|
353 | |
val: Tmarshaler("foobar"),
|
|
381 |
val: Tmarshaler{"foobar"},
|
354 | 382 |
exp: `{"Inner":"I am a logr.Marshaler"}`,
|
355 | 383 |
},
|
356 | 384 |
{
|
357 | |
val: Tstringer("foobar"),
|
|
385 |
val: &Tmarshaler{"foobar"},
|
|
386 |
exp: `{"Inner":"I am a logr.Marshaler"}`,
|
|
387 |
},
|
|
388 |
{
|
|
389 |
val: (*Tmarshaler)(nil),
|
|
390 |
exp: `"<panic: value method github.com/go-logr/logr/funcr.Tmarshaler.MarshalLog called using nil *Tmarshaler pointer>"`,
|
|
391 |
},
|
|
392 |
{
|
|
393 |
val: Tmarshalerpanic{"foobar"},
|
|
394 |
exp: `"<panic: Tmarshalerpanic>"`,
|
|
395 |
},
|
|
396 |
{
|
|
397 |
val: Tstringer{"foobar"},
|
358 | 398 |
exp: `"I am a fmt.Stringer"`,
|
359 | 399 |
},
|
360 | 400 |
{
|
361 | |
val: fmt.Errorf("error"),
|
362 | |
exp: `"error"`,
|
|
401 |
val: &Tstringer{"foobar"},
|
|
402 |
exp: `"I am a fmt.Stringer"`,
|
|
403 |
},
|
|
404 |
{
|
|
405 |
val: (*Tstringer)(nil),
|
|
406 |
exp: `"<panic: value method github.com/go-logr/logr/funcr.Tstringer.String called using nil *Tstringer pointer>"`,
|
|
407 |
},
|
|
408 |
{
|
|
409 |
val: Tstringerpanic{"foobar"},
|
|
410 |
exp: `"<panic: Tstringerpanic>"`,
|
|
411 |
},
|
|
412 |
{
|
|
413 |
val: Terror{"foobar"},
|
|
414 |
exp: `"I am an error"`,
|
|
415 |
},
|
|
416 |
{
|
|
417 |
val: &Terror{"foobar"},
|
|
418 |
exp: `"I am an error"`,
|
|
419 |
},
|
|
420 |
{
|
|
421 |
val: (*Terror)(nil),
|
|
422 |
exp: `"<panic: value method github.com/go-logr/logr/funcr.Terror.Error called using nil *Terror pointer>"`,
|
|
423 |
},
|
|
424 |
{
|
|
425 |
val: Terrorpanic{"foobar"},
|
|
426 |
exp: `"<panic: Terrorpanic>"`,
|
363 | 427 |
},
|
364 | 428 |
{
|
365 | 429 |
val: TjsontagsString{
|