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, "LocalDate"}, 29 {tokenLocalDate, "LocalDate"}, 30 {tokenKeyGroup, "KeyGroup"}, 31 {tokenKeyGroupArray, "KeyGroupArray"}, 32 {tokenComma, ","}, 33 {tokenColon, ":"}, 34 {tokenDollar, "$"}, 35 {tokenStar, "*"}, 36 {tokenQuestion, "?"}, 37 {tokenDot, "."}, 38 {tokenDotDot, ".."}, 39 {tokenEOL, "EOL"}, 40 {tokenEOL + 1, "Unknown"}, 41 } 42 43 for i, test := range tests { 44 got := test.tt.String() 45 if got != test.expect { 46 t.Errorf("[%d] invalid string of token type; got %q, expected %q", i, got, test.expect) 47 } 48 } 49} 50 51func TestTokenString(t *testing.T) { 52 var tests = []struct { 53 tok token 54 expect string 55 }{ 56 {token{Position{1, 1}, tokenEOF, ""}, "EOF"}, 57 {token{Position{1, 1}, tokenError, "Δt"}, "Δt"}, 58 {token{Position{1, 1}, tokenString, "bar"}, `"bar"`}, 59 {token{Position{1, 1}, tokenString, "123456789012345"}, `"123456789012345"`}, 60 } 61 62 for i, test := range tests { 63 got := test.tok.String() 64 if got != test.expect { 65 t.Errorf("[%d] invalid of string token; got %q, expected %q", i, got, test.expect) 66 } 67 } 68} 69