| 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..2adbbf31d266a92a2915b0dea95e9ae6533f8500 100644
|
| --- a/Source/core/css/parser/MediaQueryTokenizerTest.cpp
|
| +++ b/Source/core/css/parser/MediaQueryTokenizerTest.cpp
|
| @@ -24,4 +24,46 @@ 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 <= 1000; ++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 if (c > SCHAR_MAX)
|
| + testToken(c, IdentToken);
|
| + else
|
| + testToken(c, DelimiterToken);
|
| + }
|
| + testToken(USHRT_MAX, IdentToken);
|
| +}
|
| +
|
| } // namespace
|
|
|