Skip to content

Commit

Permalink
Add additional autotests for signal handlers.
Browse files Browse the repository at this point in the history
Change-Id: Ie94ce8b536347981310abeb077a88acedf44c7e6
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
  • Loading branch information
Michael Brasser authored and Qt by Nokia committed Feb 24, 2012
1 parent c4e177c commit 91d543f
Show file tree
Hide file tree
Showing 8 changed files with 44 additions and 1 deletion.
@@ -0,0 +1,5 @@
import Qt.test 1.0

MyQmlObject {
onUnnamedArgumentSignal: setString('pass ' + a + ' ' + c)
}
@@ -0,0 +1,6 @@
import Qt.test 1.0


MyQmlObject {
onSignalWithGlobalName: setString('pass ' + parseInt("5"))
}
2 changes: 2 additions & 0 deletions tests/auto/declarative/qdeclarativeecmascript/testtypes.h
Expand Up @@ -180,6 +180,7 @@ class MyQmlObject : public QObject
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();
Expand All @@ -188,6 +189,7 @@ class MyQmlObject : public QObject
void signalWithUnknownType(const MyQmlObject::MyType &arg);
void signalWithVariant(const QVariant &arg);
void signalWithQJSValue(const QJSValue &arg);
void signalWithGlobalName(int parseInt);
void intChanged();

public slots:
Expand Down
Expand Up @@ -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()
Expand Down
@@ -0,0 +1 @@
4:27:Expected token `identifier'
6 changes: 6 additions & 0 deletions tests/auto/declarative/qdeclarativelanguage/data/signal.5.qml
@@ -0,0 +1,6 @@
import QtQuick 2.0

QtObject {
signal mySignal(string)
}

Expand Up @@ -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;

Expand Down
3 changes: 2 additions & 1 deletion tests/auto/declarative/qmlmin/tst_qmlmin.cpp
Expand Up @@ -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";
Expand Down

0 comments on commit 91d543f

Please sign in to comment.