aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2012-02-24 10:22:35 +1000
committerQt by Nokia <qt-info@nokia.com>2012-02-24 07:09:34 +0100
commit91d543f00904a6caa2fab850ff3eca12de2d65ac (patch)
tree1b9deb04e1807857beb73a06d436d7f31d8bad9c
parentc4e177c049c2cd1513d81421dab31f8d4b5123e4 (diff)
Add additional autotests for signal handlers.
Change-Id: Ie94ce8b536347981310abeb077a88acedf44c7e6 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/signalAssignment.3.qml5
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/signalAssignment.4.qml6
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/testtypes.h2
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp21
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/signal.5.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/signal.5.qml6
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp1
-rw-r--r--tests/auto/declarative/qmlmin/tst_qmlmin.cpp3
8 files changed, 44 insertions, 1 deletions
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/signalAssignment.3.qml b/tests/auto/declarative/qdeclarativeecmascript/data/signalAssignment.3.qml
new file mode 100644
index 0000000000..690b7cf216
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/signalAssignment.3.qml
@@ -0,0 +1,5 @@
+import Qt.test 1.0
+
+MyQmlObject {
+ onUnnamedArgumentSignal: setString('pass ' + a + ' ' + c)
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/signalAssignment.4.qml b/tests/auto/declarative/qdeclarativeecmascript/data/signalAssignment.4.qml
new file mode 100644
index 0000000000..0e1e728a86
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/signalAssignment.4.qml
@@ -0,0 +1,6 @@
+import Qt.test 1.0
+
+
+MyQmlObject {
+ onSignalWithGlobalName: setString('pass ' + parseInt("5"))
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/testtypes.h b/tests/auto/declarative/qdeclarativeecmascript/testtypes.h
index a463d3f64a..ce8e80e81b 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/testtypes.h
+++ b/tests/auto/declarative/qdeclarativeecmascript/testtypes.h
@@ -180,6 +180,7 @@ public:
signals:
void basicSignal();
void argumentSignal(int a, QString b, qreal c, MyEnum2 d, Qt::MouseButtons e);
+ void unnamedArgumentSignal(int a, qreal, QString c);
void stringChanged();
void urlChanged();
void objectChanged();
@@ -188,6 +189,7 @@ signals:
void signalWithUnknownType(const MyQmlObject::MyType &arg);
void signalWithVariant(const QVariant &arg);
void signalWithQJSValue(const QJSValue &arg);
+ void signalWithGlobalName(int parseInt);
void intChanged();
public slots:
diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
index cc94e6fb4a..7fc137e38d 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
+++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
@@ -376,6 +376,27 @@ void tst_qdeclarativeecmascript::signalAssignment()
QCOMPARE(object->string(), QString("pass 19 Hello world! 10.25 3 2"));
delete object;
}
+
+ {
+ QDeclarativeComponent component(&engine, testFileUrl("signalAssignment.3.qml"));
+ MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
+ QVERIFY(object != 0);
+ QCOMPARE(object->string(), QString());
+ emit object->unnamedArgumentSignal(19, 10.25, "Hello world!");
+ QEXPECT_FAIL("", "QTBUG-24481", Continue);
+ QCOMPARE(object->string(), QString("pass 19 Hello world!"));
+ delete object;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, testFileUrl("signalAssignment.4.qml"));
+ MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
+ QVERIFY(object != 0);
+ QCOMPARE(object->string(), QString());
+ emit object->signalWithGlobalName(19);
+ QCOMPARE(object->string(), QString("pass 5"));
+ delete object;
+ }
}
void tst_qdeclarativeecmascript::methods()
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/signal.5.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/signal.5.errors.txt
new file mode 100644
index 0000000000..cf772e881e
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/signal.5.errors.txt
@@ -0,0 +1 @@
+4:27:Expected token `identifier'
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/signal.5.qml b/tests/auto/declarative/qdeclarativelanguage/data/signal.5.qml
new file mode 100644
index 0000000000..63921cb2ca
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/signal.5.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+QtObject {
+ signal mySignal(string)
+}
+
diff --git a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
index 480a898ff0..1f211ae963 100644
--- a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
+++ b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
@@ -354,6 +354,7 @@ void tst_qdeclarativelanguage::errors_data()
QTest::newRow("signal.2") << "signal.2.qml" << "signal.2.errors.txt" << false;
QTest::newRow("signal.3") << "signal.3.qml" << "signal.3.errors.txt" << false;
QTest::newRow("signal.4") << "signal.4.qml" << "signal.4.errors.txt" << false;
+ QTest::newRow("signal.5") << "signal.5.qml" << "signal.5.errors.txt" << false;
QTest::newRow("method.1") << "method.1.qml" << "method.1.errors.txt" << false;
diff --git a/tests/auto/declarative/qmlmin/tst_qmlmin.cpp b/tests/auto/declarative/qmlmin/tst_qmlmin.cpp
index c6b019071e..df4e2a01dc 100644
--- a/tests/auto/declarative/qmlmin/tst_qmlmin.cpp
+++ b/tests/auto/declarative/qmlmin/tst_qmlmin.cpp
@@ -96,10 +96,11 @@ void tst_qmlmin::initTestCase()
// Add invalid files (i.e. files with syntax errors)
invalidFiles << "tests/auto/qtquick2/qquickloader/data/InvalidSourceComponent.qml";
invalidFiles << "tests/auto/declarative/qdeclarativelanguage/data/dynamicObjectProperties.2.qml";
+ invalidFiles << "tests/auto/declarative/qdeclarativelanguage/data/signal.2.qml";
invalidFiles << "tests/auto/declarative/qdeclarativelanguage/data/signal.3.qml";
+ invalidFiles << "tests/auto/declarative/qdeclarativelanguage/data/signal.5.qml";
invalidFiles << "tests/auto/declarative/qdeclarativelanguage/data/property.4.qml";
invalidFiles << "tests/auto/declarative/qdeclarativelanguage/data/empty.qml";
- invalidFiles << "tests/auto/declarative/qdeclarativelanguage/data/signal.2.qml";
invalidFiles << "tests/auto/declarative/qdeclarativelanguage/data/missingObject.qml";
invalidFiles << "tests/auto/declarative/qdeclarativelanguage/data/insertedSemicolon.1.qml";
invalidFiles << "tests/auto/declarative/qdeclarativelanguage/data/nonexistantProperty.5.qml";