Chromium Code Reviews| Index: Source/core/css/parser/MediaQueryTokenizerTest.cpp |
| diff --git a/Source/core/css/parser/MediaQueryTokenizerTest.cpp b/Source/core/css/parser/MediaQueryTokenizerTest.cpp |
| index 1138de99d588e8eaf21d6f7619b6a65d80fe3d51..ca691882faf12b7ca95f96d44fd34d5a47695879 100644 |
| --- a/Source/core/css/parser/MediaQueryTokenizerTest.cpp |
| +++ b/Source/core/css/parser/MediaQueryTokenizerTest.cpp |
| @@ -24,4 +24,44 @@ TEST(MediaQueryTokenizerTest, Basic) |
| } |
| } |
| +void testToken(UChar c, MediaQueryTokenType tokenType) |
| +{ |
| + Vector<MediaQueryToken> tokens; |
| + StringBuilder input; |
| + input.append(c); |
| + MediaQueryTokenizer::tokenize(input.toString(), tokens); |
| + ASSERT_EQ(tokens[0].type(), tokenType); |
| +} |
| + |
| +TEST(MediaQueryTokenizerCodepointsTest, Basic) |
| +{ |
| + for (UChar c = 0; c <= SCHAR_MAX; ++c) { |
| + if (isASCIIDigit(c)) |
| + testToken(c, NumberToken); |
| + else if (isASCIIAlpha(c)) |
| + testToken(c, IdentToken); |
| + else if (c == '_') |
| + testToken(c, IdentToken); |
| + else if (c == '\r' || c == ' ' || c == '\n' || c == '\t' || c == '\f') |
| + testToken(c, WhitespaceToken); |
| + else if (c == '(') |
| + testToken(c, LeftParenthesisToken); |
| + else if (c == ')') |
| + testToken(c, RightParenthesisToken); |
| + else if (c == '.' || c == '+' || c == '-' || c == '/' || c == '\\') |
| + testToken(c, DelimiterToken); |
| + else if (c == ',') |
| + testToken(c, CommaToken); |
| + else if (c == ':') |
| + testToken(c, ColonToken); |
| + else if (c == ';') |
| + testToken(c, SemicolonToken); |
| + else if (!c) |
| + testToken(c, EOFToken); |
| + else |
| + testToken(c, DelimiterToken); |
| + } |
| + testToken(1098, IdentToken); |
|
eseidel
2014/03/18 21:29:53
So everything above SCHAR_MAX is an IdentToken, co
|
| +} |
| + |
| } // namespace |