C++ indenter: Fix indentation after namespace aliases.

Task-number: QTCREATORBUG-2574
Reviewed-by: Roberto Raggi
This commit is contained in:
Christian Kamm
2010-10-19 12:49:09 +02:00
parent 3c94a89801
commit 5ac981a0ac
2 changed files with 16 additions and 0 deletions

View File

@@ -93,6 +93,7 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block)
case namespace_start: case namespace_start:
switch (kind) { switch (kind) {
case T_LBRACE: enter(namespace_open); break; case T_LBRACE: enter(namespace_open); break;
case T_SEMICOLON:
case T_RBRACE: leave(); break; case T_RBRACE: leave(); break;
} break; } break;

View File

@@ -51,6 +51,7 @@ private Q_SLOTS:
void forStatement(); void forStatement();
void templateSingleline(); void templateSingleline();
void macrosNoSemicolon2(); void macrosNoSemicolon2();
void renamedNamespace();
}; };
struct Line { struct Line {
@@ -985,6 +986,20 @@ void tst_CodeFormatter::macrosNoSemicolon2()
checkIndent(data); checkIndent(data);
} }
void tst_CodeFormatter::renamedNamespace()
{
QList<Line> data;
data
<< Line("namespace X = Y;")
<< Line("void foo()")
<< Line("{")
<< Line(" return;")
<< Line("}")
<< Line("int i;")
;
checkIndent(data);
}
QTEST_APPLESS_MAIN(tst_CodeFormatter) QTEST_APPLESS_MAIN(tst_CodeFormatter)
#include "tst_codeformatter.moc" #include "tst_codeformatter.moc"