Change-Id: Id7b8fba6707b1eaabf8065854f357cf600c809c5
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
case expression_or_label:
switch (kind) {
- case Colon: turnInto(labelled_statement); break;
- default: enter(expression); continue;
+ case Colon: turnInto(labelled_statement); break;
+
+ // propagate 'leave' from expression state
+ case RightBracket:
+ case RightParenthesis: leave(); continue;
+
+ default: enter(expression); continue;
} break;
case ternary_op:
case Function:
case Number:
case String:
+ case LeftParenthesis:
enter(expression);
// look at the token again
m_tokenIndex -= 1;
void labelledStatements3();
void json1();
void multilineTernaryInProperty();
+ void bug1();
};
struct Line {
checkIndent(data);
}
+void tst_QMLCodeFormatter::bug1()
+{
+ QList<Line> data;
+ data << Line("Item {")
+ << Line(" x: {")
+ << Line(" if (a==a) {}")
+ << Line(" else (b==b) {}")
+ << Line(" foo()")
+ << Line(" }")
+ << Line("}")
+ ;
+ checkIndent(data);
+}
+
QTEST_APPLESS_MAIN(tst_QMLCodeFormatter)
#include "tst_qmlcodeformatter.moc"