forked from qt-creator/qt-creator
More tests for template-ids.
This commit is contained in:
@@ -44,15 +44,17 @@ private slots:
|
|||||||
void gcc_attributes_1();
|
void gcc_attributes_1();
|
||||||
|
|
||||||
// expressions
|
// expressions
|
||||||
void simple_name();
|
void simple_name_1();
|
||||||
void template_id();
|
void template_id_1();
|
||||||
void new_expression_1();
|
void new_expression_1();
|
||||||
void new_expression_2();
|
void new_expression_2();
|
||||||
void condition_1();
|
void condition_1();
|
||||||
void init_1();
|
void init_1();
|
||||||
|
|
||||||
// statements
|
// statements
|
||||||
void if_statement();
|
void if_statement_1();
|
||||||
|
void if_statement_2();
|
||||||
|
void if_statement_3();
|
||||||
void if_else_statement();
|
void if_else_statement();
|
||||||
void while_statement();
|
void while_statement();
|
||||||
void while_condition_statement();
|
void while_condition_statement();
|
||||||
@@ -99,7 +101,7 @@ void tst_AST::simple_declaration_1()
|
|||||||
QVERIFY(declStmt);
|
QVERIFY(declStmt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tst_AST::simple_name()
|
void tst_AST::simple_name_1()
|
||||||
{
|
{
|
||||||
QSharedPointer<TranslationUnit> unit(parseExpression("a"));
|
QSharedPointer<TranslationUnit> unit(parseExpression("a"));
|
||||||
AST *ast = unit->ast();
|
AST *ast = unit->ast();
|
||||||
@@ -109,7 +111,7 @@ void tst_AST::simple_name()
|
|||||||
QCOMPARE(ast->asSimpleName()->identifier_token, 1U);
|
QCOMPARE(ast->asSimpleName()->identifier_token, 1U);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tst_AST::template_id()
|
void tst_AST::template_id_1()
|
||||||
{
|
{
|
||||||
QSharedPointer<TranslationUnit> unit(parseExpression("list<10>"));
|
QSharedPointer<TranslationUnit> unit(parseExpression("list<10>"));
|
||||||
AST *ast = unit->ast();
|
AST *ast = unit->ast();
|
||||||
@@ -255,7 +257,7 @@ void tst_AST::assignment_2()
|
|||||||
QVERIFY(ast->asExpressionStatement());
|
QVERIFY(ast->asExpressionStatement());
|
||||||
}
|
}
|
||||||
|
|
||||||
void tst_AST::if_statement()
|
void tst_AST::if_statement_1()
|
||||||
{
|
{
|
||||||
QSharedPointer<TranslationUnit> unit(parseStatement("if (a) b;"));
|
QSharedPointer<TranslationUnit> unit(parseStatement("if (a) b;"));
|
||||||
|
|
||||||
@@ -283,6 +285,34 @@ void tst_AST::if_statement()
|
|||||||
QCOMPARE(id_expr->identifier_token, 5U);
|
QCOMPARE(id_expr->identifier_token, 5U);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_AST::if_statement_2()
|
||||||
|
{
|
||||||
|
QSharedPointer<TranslationUnit> unit(parseStatement("if (x<0 && y>a);"));
|
||||||
|
|
||||||
|
AST *ast = unit->ast();
|
||||||
|
QVERIFY(ast != 0);
|
||||||
|
|
||||||
|
IfStatementAST *stmt = ast->asIfStatement();
|
||||||
|
QVERIFY(stmt != 0);
|
||||||
|
|
||||||
|
QVERIFY(stmt->condition);
|
||||||
|
QVERIFY(stmt->condition->asBinaryExpression());
|
||||||
|
QCOMPARE(unit->tokenKind(stmt->condition->asBinaryExpression()->binary_op_token), int(T_AMPER_AMPER));
|
||||||
|
}
|
||||||
|
|
||||||
|
void tst_AST::if_statement_3()
|
||||||
|
{
|
||||||
|
QSharedPointer<TranslationUnit> unit(parseStatement("if (x<0 && x<0 && x<0 && x<0 && x<0 && x<0 && x<0);"));
|
||||||
|
|
||||||
|
AST *ast = unit->ast();
|
||||||
|
QVERIFY(ast != 0);
|
||||||
|
|
||||||
|
IfStatementAST *stmt = ast->asIfStatement();
|
||||||
|
QVERIFY(stmt != 0);
|
||||||
|
|
||||||
|
QVERIFY(stmt->condition);
|
||||||
|
}
|
||||||
|
|
||||||
void tst_AST::if_else_statement()
|
void tst_AST::if_else_statement()
|
||||||
{
|
{
|
||||||
QSharedPointer<TranslationUnit> unit(parseStatement("if (a) b; else c;"));
|
QSharedPointer<TranslationUnit> unit(parseStatement("if (a) b; else c;"));
|
||||||
|
Reference in New Issue
Block a user