1package toml
2
3import "testing"
4
5func TestTokenStringer(t *testing.T) {
6	var tests = []struct {
7		tt     tokenType
8		expect string
9	}{
10		{tokenError, "Error"},
11		{tokenEOF, "EOF"},
12		{tokenComment, "Comment"},
13		{tokenKey, "Key"},
14		{tokenString, "String"},
15		{tokenInteger, "Integer"},
16		{tokenTrue, "True"},
17		{tokenFalse, "False"},
18		{tokenFloat, "Float"},
19		{tokenEqual, "="},
20		{tokenLeftBracket, "["},
21		{tokenRightBracket, "]"},
22		{tokenLeftCurlyBrace, "{"},
23		{tokenRightCurlyBrace, "}"},
24		{tokenLeftParen, "("},
25		{tokenRightParen, ")"},
26		{tokenDoubleLeftBracket, "]]"},
27		{tokenDoubleRightBracket, "[["},
28		{tokenDate, "Date"},
29		{tokenKeyGroup, "KeyGroup"},
30		{tokenKeyGroupArray, "KeyGroupArray"},
31		{tokenComma, ","},
32		{tokenColon, ":"},
33		{tokenDollar, "$"},
34		{tokenStar, "*"},
35		{tokenQuestion, "?"},
36		{tokenDot, "."},
37		{tokenDotDot, ".."},
38		{tokenEOL, "EOL"},
39		{tokenEOL + 1, "Unknown"},
40	}
41
42	for i, test := range tests {
43		got := test.tt.String()
44		if got != test.expect {
45			t.Errorf("[%d] invalid string of token type; got %q, expected %q", i, got, test.expect)
46		}
47	}
48}
49
50func TestTokenString(t *testing.T) {
51	var tests = []struct {
52		tok    token
53		expect string
54	}{
55		{token{Position{1, 1}, tokenEOF, ""}, "EOF"},
56		{token{Position{1, 1}, tokenError, "Δt"}, "Δt"},
57		{token{Position{1, 1}, tokenString, "bar"}, `"bar"`},
58		{token{Position{1, 1}, tokenString, "123456789012345"}, `"123456789012345"`},
59	}
60
61	for i, test := range tests {
62		got := test.tok.String()
63		if got != test.expect {
64			t.Errorf("[%d] invalid of string token; got %q, expected %q", i, got, test.expect)
65		}
66	}
67}
68