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