Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
clang/unittests/Format/TokenAnnotatorTest.cpp
Show First 20 Lines • Show All 1,241 Lines • ▼ Show 20 Lines | TEST_F(TokenAnnotatorTest, UnderstandsVerilogOperators) { | ||||
Tokens = Annotate("case (x)\n" | Tokens = Annotate("case (x)\n" | ||||
" x ? x : x:\n" | " x ? x : x:\n" | ||||
" x;\n" | " x;\n" | ||||
"endcase\n"); | "endcase\n"); | ||||
ASSERT_EQ(Tokens.size(), 14u) << Tokens; | ASSERT_EQ(Tokens.size(), 14u) << Tokens; | ||||
EXPECT_TOKEN(Tokens[5], tok::question, TT_ConditionalExpr); | EXPECT_TOKEN(Tokens[5], tok::question, TT_ConditionalExpr); | ||||
EXPECT_TOKEN(Tokens[7], tok::colon, TT_ConditionalExpr); | EXPECT_TOKEN(Tokens[7], tok::colon, TT_ConditionalExpr); | ||||
EXPECT_TOKEN(Tokens[9], tok::colon, TT_GotoLabelColon); | EXPECT_TOKEN(Tokens[9], tok::colon, TT_GotoLabelColon); | ||||
// Non-blocking assignments. | |||||
Tokens = Annotate("a <= b;"); | |||||
ASSERT_EQ(Tokens.size(), 5u); | |||||
EXPECT_TOKEN(Tokens[1], tok::lessequal, TT_BinaryOperator); | |||||
EXPECT_TOKEN_PRECEDENCE(Tokens[1], prec::Assignment); | |||||
Tokens = Annotate("if (a <= b) break;"); | |||||
ASSERT_EQ(Tokens.size(), 9u); | |||||
EXPECT_TOKEN(Tokens[3], tok::lessequal, TT_BinaryOperator); | |||||
EXPECT_TOKEN_PRECEDENCE(Tokens[3], prec::Relational); | |||||
Tokens = Annotate("a <= b <= a;"); | |||||
ASSERT_EQ(Tokens.size(), 7u); | |||||
EXPECT_TOKEN(Tokens[1], tok::lessequal, TT_BinaryOperator); | |||||
EXPECT_TOKEN_PRECEDENCE(Tokens[1], prec::Assignment); | |||||
EXPECT_TOKEN(Tokens[3], tok::lessequal, TT_BinaryOperator); | |||||
EXPECT_TOKEN_PRECEDENCE(Tokens[3], prec::Relational); | |||||
} | } | ||||
TEST_F(TokenAnnotatorTest, UnderstandConstructors) { | TEST_F(TokenAnnotatorTest, UnderstandConstructors) { | ||||
auto Tokens = annotate("Class::Class() : BaseClass(), Member() {}"); | auto Tokens = annotate("Class::Class() : BaseClass(), Member() {}"); | ||||
// The TT_Unknown is clearly not binding for the future, please adapt if those | // The TT_Unknown is clearly not binding for the future, please adapt if those | ||||
// tokens get annotated. | // tokens get annotated. | ||||
ASSERT_EQ(Tokens.size(), 16u) << Tokens; | ASSERT_EQ(Tokens.size(), 16u) << Tokens; | ||||
Show All 26 Lines |