23
20
#include <mimpluginmanager.h>
24
21
#include <mimpluginmanager_p.h>
25
22
#include <maliit/plugins/inputmethodplugin.h>
23
#include <unknownplatform.h>
27
25
#include "mattributeextensionmanager.h"
28
26
#include "msharedattributeextensionmanager.h"
102
100
void Ut_MIMPluginManager::initTestCase()
104
proxyWidget = new QWidget;
106
102
Toolbar1 = MaliitTestUtils::getTestDataPath() + testDirectory + Toolbar1;
107
103
QVERIFY2(QFile(Toolbar1).exists(), "toolbar1.xml does not exist");
108
104
Toolbar2 = MaliitTestUtils::getTestDataPath() + testDirectory + Toolbar2;
130
126
activePluginSettings.set(DefaultActivePlugin);
132
128
QSharedPointer<MInputContextTestConnection> icConnection(new MInputContextTestConnection);
133
manager = new MIMPluginManager(icConnection, QSharedPointer<Maliit::Server::AbstractSurfaceGroupFactory>(new MaliitTestUtils::TestSurfaceGroupFactory));
129
manager = new MIMPluginManager(icConnection, QSharedPointer<Maliit::AbstractPlatform>(new Maliit::UnknownPlatform));
135
131
connection = icConnection.data();
136
132
subject = manager->d_ptr;
699
695
QCOMPARE(subject->activeSubView(Maliit::OnScreen), QString("dummyim3sv2"));
702
void Ut_MIMPluginManager::testRegionUpdates()
704
Maliit::Plugins::InputMethodPlugin *plugin3 = 0;
705
QSignalSpy regionUpdates(manager, SIGNAL(regionUpdated(QRegion)));
706
QList<QVariant> regionUpdatesSignal;
709
Q_FOREACH(Maliit::Plugins::InputMethodPlugin * plugin, subject->plugins.keys()) {
710
if (plugin->name() == "DummyImPlugin3") {
716
QCOMPARE(regionUpdates.count(), 0);
718
// DummyImPlugin3 sends a non-empty region when calling show() on it:
719
subject->activatePlugin(plugin3);
720
manager->showActivePlugins();
721
QCOMPARE(regionUpdates.count(), 1);
723
region = regionUpdates.takeFirst().at(0);
724
QVERIFY(!region.value<QRegion>().isEmpty());
726
// DummyImPlugin3 is a badly behaving plugin that doesn't send an empty region
727
// when it's hidden...
728
manager->hideActivePlugins();
729
QCOMPARE(regionUpdates.count(), 0);
730
// ...so make sure the region is sent by the plugin manager after a timeout.
731
MaliitTestUtils::waitForSignal(manager, SIGNAL(regionUpdated(QRegion)), 3000);
732
QCOMPARE(regionUpdates.count(), 1);
734
region = regionUpdates.takeFirst().at(0);
735
QVERIFY(region.value<QRegion>().isEmpty());
738
698
void Ut_MIMPluginManager::testLoadedPluginsInfo_data()
740
700
QTest::addColumn<QStringList>("expectedPlugins");