1package log
2
3import (
4	"fmt"
5	"testing"
6)
7
8func TestFieldString(t *testing.T) {
9	testCases := []struct {
10		field    Field
11		expected string
12	}{
13		{
14			field:    String("key", "value"),
15			expected: "key:value",
16		},
17		{
18			field:    Bool("key", true),
19			expected: "key:true",
20		},
21		{
22			field:    Int("key", 5),
23			expected: "key:5",
24		},
25		{
26			field:    Error(fmt.Errorf("err msg")),
27			expected: "error:err msg",
28		},
29		{
30			field:    Error(nil),
31			expected: "error:<nil>",
32		},
33	}
34	for i, tc := range testCases {
35		if str := tc.field.String(); str != tc.expected {
36			t.Errorf("%d: expected '%s', got '%s'", i, tc.expected, str)
37		}
38	}
39}
40