@@ -38,6 +38,13 @@ private Q_SLOTS:
38 // SIGNAL method, because QtDBus doesn't know about PropertiesChanged.
38 // SIGNAL method, because QtDBus doesn't know about PropertiesChanged.
39 // So we connect the hard way for the benefit of any tests that want
39 // So we connect the hard way for the benefit of any tests that want
40 // to watch.
40 // to watch.
41+ QDBusConnection::sessionBus().connect(
42+ "com.canonical.UnityGreeter",
44+ "org.freedesktop.DBus.Properties",
47+ SIGNAL(PropertiesChangedRelay(const QString&, const QVariantMap&, const QStringList&)));
41 QDBusConnection::sessionBus().connect(
48 QDBusConnection::sessionBus().connect(
42 "com.canonical.UnityGreeter",
49 "com.canonical.UnityGreeter",
@@ -57,6 +64,12 @@ private Q_SLOTS:
57 view->show();
64 view->show();
58 QTest::qWaitForWindowExposed(view);
65 QTest::qWaitForWindowExposed(view);
67+ dbusMain = new QDBusInterface("com.canonical.UnityGreeter",
69+ "com.canonical.UnityGreeter",
70+ QDBusConnection::sessionBus(), view);
71+ QVERIFY(dbusMain->isValid());
60 dbusList = new QDBusInterface("com.canonical.UnityGreeter",
73 dbusList = new QDBusInterface("com.canonical.UnityGreeter",
62 "com.canonical.UnityGreeter.List",
75 "com.canonical.UnityGreeter.List",
@@ -155,9 +168,29 @@ private Q_SLOTS:
155 QVERIFY(arguments.at(1).toMap()["EntryIsLocked"] == false);
168 QVERIFY(arguments.at(1).toMap()["EntryIsLocked"] == false);
173+ QVERIFY(!greeter->isActive());
174+ QVERIFY(!dbusMain->property("IsActive").toBool());
176+ QSignalSpy spy(this, SIGNAL(PropertiesChangedRelay(QString, QVariantMap, QStringList)));
177+ greeter->setIsActive(true);
180+ QVERIFY(greeter->isActive());
181+ QVERIFY(dbusMain->property("IsActive").toBool());
183+ QCOMPARE(spy.count(), 1);
184+ QList<QVariant> arguments = spy.takeFirst();
185+ QCOMPARE(arguments.at(0).toString(), QString("com.canonical.UnityGreeter"));
186+ QVERIFY(arguments.at(1).toMap().contains("IsActive"));
187+ QVERIFY(arguments.at(1).toMap()["IsActive"].toBool());
159 QQuickView *view;
191 QQuickView *view;
160 Greeter *greeter;
192 Greeter *greeter;
193+ QDBusInterface *dbusMain;
161 QDBusInterface *dbusList;
194 QDBusInterface *dbusList;