diff options
author | Christian Kamm <christian.d.kamm@nokia.com> | 2012-02-28 15:04:47 +0100 |
---|---|---|
committer | Christian Kamm <christian.d.kamm@nokia.com> | 2012-03-01 17:00:02 +0100 |
commit | 658e80d1b8471da11563a9738fa64aa32548a7db (patch) | |
tree | 7da2c92bd0d25ef363f8bb22db248cb1992cd0b9 /tests | |
parent | ec23f54b3e198777f7f2250d640328e7eecfa6da (diff) |
QmlJS indenter: Improve handling of function expressions.
Task-number: QTCREATORBUG-7001
Change-Id: I254b84153b042c81008314bbebc800edfe201b89
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
(cherry picked from commit fcaf3d4f4c515e9c552357156d0a48b2c8359984)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp b/tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp index 5a4411a1e9..82cefa729b 100644 --- a/tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp +++ b/tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp @@ -56,6 +56,9 @@ private Q_SLOTS: void functionDeclaration(); void functionExpression1(); void functionExpression2(); + void functionExpression3(); + void functionExpression4(); + void functionExpression5(); void propertyDeclarations(); void signalDeclarations(); void ifBinding1(); @@ -415,6 +418,76 @@ void tst_QMLCodeFormatter::functionExpression2() checkIndent(data); } +void tst_QMLCodeFormatter::functionExpression3() +{ + QList<Line> data; + data << Line("Rectangle {") + << Line(" function foo(a, b, c) {") + << Line(" var foo = {") + << Line(" bar: function() {") + << Line(" bar = 2") + << Line(" },") + << Line(" bar2: function()") + << Line(" {") + << Line(" bar = 2") + << Line(" }") + << Line(" }") + << Line(" Foo.proto.bar = function() {") + << Line(" bar = 2") + << Line(" }") + << Line(" Foo.proto.bar = function()") + << Line(" {") + << Line(" bar = 2") + << Line(" }") + << Line(" }") + << Line("}") + ; + checkIndent(data); +} + +void tst_QMLCodeFormatter::functionExpression4() +{ + QList<Line> data; + data << Line("Rectangle {") + << Line(" function foo(a, b, c) {") + << Line(" baz = function() {") + << Line(" bar = 2") + << Line(" }") + << Line(" baz = function()") + << Line(" {") + << Line(" bar = 2") + << Line(" }") + << Line(" var buz = new function() {") + << Line(" this.bar = function() {") + << Line(" bar = 2") + << Line(" }") + << Line(" this.bar = function()") + << Line(" {") + << Line(" bar = 2") + << Line(" }") + << Line(" }") + << Line(" }") + << Line("}") + ; + checkIndent(data); +} + +void tst_QMLCodeFormatter::functionExpression5() +{ + QList<Line> data; + data << Line("Rectangle {") + << Line(" property var foo: function() {") + << Line(" bar = 2") + << Line(" }") + << Line(" property var foo: function()") + << Line(" {") + << Line(" bar = 2") + << Line(" }") + << Line("}") + ; + checkIndent(data); +} + void tst_QMLCodeFormatter::propertyDeclarations() { QList<Line> data; |