on xenial help sign in
Added better tests for enable/disable launcher
commit33d8e820cc68f47ac1da7d41c59105c63e2abf9d authorBrian Douglass <bhdouglass@gmail.com> dateThu 13 Oct 2016, 00:26 (10 years ago) parent0934679
4 files changed+62
tests/mocks/GSettings.1.0/fake_gsettings.cpp+33 tests/mocks/GSettings.1.0/fake_gsettings.h+9 tests/qmltests/Launcher/tst_Launcher.qml+4 tests/qmltests/tst_Shell.qml+16
tests/mocks/GSettings.1.0/fake_gsettings.cpp+33
@@ -27,6 +27,7 @@ GSettingsControllerQml::GSettingsControllerQml()
2727 , m_autohideLauncher(false)
2828 , m_launcherWidth(8)
2929 , m_edgeDragWidth(2)
30+ , m_enableLauncher(true)
3031{
3132}
3233
@@ -145,6 +146,19 @@ void GSettingsControllerQml::setEdgeDragWidth(uint edgeDragWidth)
145146 }
146147}
147148
149+void GSettingsControllerQml::setEnableLauncher(bool enableLauncher)
150+{
151+ if (m_enableLauncher != enableLauncher) {
152+ m_enableLauncher = enableLauncher;
153+ Q_EMIT enableLauncherChanged(enableLauncher);
154+ }
155+}
156+
157+bool GSettingsControllerQml::enableLauncher() const
158+{
159+ return m_enableLauncher;
160+}
161+
148162GSettingsSchemaQml::GSettingsSchemaQml(QObject *parent): QObject(parent) {
149163}
150164
@@ -209,6 +223,8 @@ void GSettingsQml::componentComplete()
209223 this, &GSettingsQml::launcherWidthChanged);
210224 connect(GSettingsControllerQml::instance(), &GSettingsControllerQml::edgeDragWidthChanged,
211225 this, &GSettingsQml::edgeDragWidthChanged);
226+ connect(GSettingsControllerQml::instance(), &GSettingsControllerQml::enableLauncherChanged,
227+ this, &GSettingsQml::enableLauncherChanged);
212228
213229 Q_EMIT disableHeightChanged();
214230 Q_EMIT pictureUriChanged();
@@ -218,6 +234,7 @@ void GSettingsQml::componentComplete()
218234 Q_EMIT autohideLauncherChanged();
219235 Q_EMIT launcherWidthChanged();
220236 Q_EMIT edgeDragWidthChanged();
237+ Q_EMIT enableLauncherChanged();
221238}
222239
223240GSettingsSchemaQml * GSettingsQml::schema() const {
@@ -324,6 +341,15 @@ QVariant GSettingsQml::edgeDragWidth() const
324341 }
325342}
326343
344+QVariant GSettingsQml::enableLauncher() const
345+{
346+ if (m_valid && m_schema->id() == "com.canonical.Unity8") {
347+ return GSettingsControllerQml::instance()->enableLauncher();
348+ } else {
349+ return QVariant();
350+ }
351+}
352+
327353void GSettingsQml::setLifecycleExemptAppids(const QVariant &appIds)
328354{
329355 if (m_valid && m_schema->id() == "com.canonical.qtmir") {
@@ -351,3 +377,10 @@ void GSettingsQml::setEdgeDragWidth(const QVariant &edgeDragWidth)
351377 GSettingsControllerQml::instance()->setEdgeDragWidth(edgeDragWidth.toUInt());
352378 }
353379}
380+
381+void GSettingsQml::setEnableLauncher(const QVariant &enableLauncher)
382+{
383+ if (m_valid && m_schema->id() == "com.canonical.Unity8") {
384+ GSettingsControllerQml::instance()->setEnableLauncher(enableLauncher.toInt());
385+ }
386+}
tests/mocks/GSettings.1.0/fake_gsettings.h+9
@@ -57,6 +57,7 @@ class GSettingsQml: public QObject, public QQmlParserStatus
5757 Q_PROPERTY(QVariant autohideLauncher READ autohideLauncher WRITE setAutohideLauncher NOTIFY autohideLauncherChanged)
5858 Q_PROPERTY(QVariant launcherWidth READ launcherWidth WRITE setLauncherWidth NOTIFY launcherWidthChanged)
5959 Q_PROPERTY(QVariant edgeDragWidth READ edgeDragWidth WRITE setEdgeDragWidth NOTIFY edgeDragWidthChanged)
60+ Q_PROPERTY(QVariant enableLauncher READ enableLauncher WRITE setEnableLauncher NOTIFY enableLauncherChanged)
6061
6162public:
6263 GSettingsQml(QObject *parent = nullptr);
@@ -73,6 +74,7 @@ public:
7374 QVariant autohideLauncher() const;
7475 QVariant launcherWidth() const;
7576 QVariant edgeDragWidth() const;
77+ QVariant enableLauncher() const;
7678
7779 void setDisableHeight(const QVariant &val);
7880 void setPictureUri(const QVariant &str);
@@ -82,6 +84,7 @@ public:
8284 void setAutohideLauncher(const QVariant &autohideLauncher);
8385 void setLauncherWidth(const QVariant &launcherWidth);
8486 void setEdgeDragWidth(const QVariant &edgeDragWidth);
87+ void setEnableLauncher(const QVariant &enableLauncher);
8588
8689Q_SIGNALS:
8790 void disableHeightChanged();
@@ -93,6 +96,7 @@ Q_SIGNALS:
9396 void autohideLauncherChanged();
9497 void launcherWidthChanged();
9598 void edgeDragWidthChanged();
99+ void enableLauncherChanged();
96100
97101private:
98102 GSettingsSchemaQml* m_schema;
@@ -133,6 +137,9 @@ public:
133137 uint edgeDragWidth() const;
134138 Q_INVOKABLE void setEdgeDragWidth(uint edgeDragWidth);
135139
140+ bool enableLauncher() const;
141+ Q_INVOKABLE void setEnableLauncher(bool enableLauncher);
142+
136143Q_SIGNALS:
137144 void disableHeightChanged();
138145 void pictureUriChanged(const QString&);
@@ -142,6 +149,7 @@ Q_SIGNALS:
142149 void autohideLauncherChanged(bool autohideLauncher);
143150 void launcherWidthChanged(int launcherWidth);
144151 void edgeDragWidthChanged(uint edgeDragWidth);
152+ void enableLauncherChanged(bool enableLauncher);
145153
146154private:
147155 GSettingsControllerQml();
@@ -154,6 +162,7 @@ private:
154162 bool m_autohideLauncher;
155163 int m_launcherWidth;
156164 uint m_edgeDragWidth;
165+ bool m_enableLauncher;
157166
158167 static GSettingsControllerQml* s_controllerInstance;
159168 QList<GSettingsQml *> m_registeredGSettings;
tests/qmltests/Launcher/tst_Launcher.qml+4
@@ -1364,6 +1364,8 @@ Rectangle {
13641364 dragLauncherIntoView();
13651365 var launcherPanel = findChild(launcher, "launcherPanel");
13661366 compare(launcherPanel.x, 0);
1367+
1368+ launcher.available = true;
13671369 }
13681370
13691371 function test_launcherDisabledSetting() {
@@ -1373,6 +1375,8 @@ Rectangle {
13731375 dragLauncher();
13741376 var launcherPanel = findChild(launcher, "launcherPanel");
13751377 compare(launcherPanel.x, -launcherPanel.width);
1378+
1379+ launcher.available = true;
13761380 }
13771381 }
13781382}
tests/qmltests/tst_Shell.qml+16
@@ -2561,5 +2561,21 @@ Rectangle {
25612561 tryCompare(topLevelSurfaceList, "count", countBeforeClose - 1);
25622562 tryCompareFunction(function() { return ApplicationManager.focusedApplicationId; }, "calendar-app");
25632563 }
2564+
2565+ function test_enableLauncher_data() {
2566+ return [
2567+ {tag: "enabled", enabled: true},
2568+ {tag: "disabled", enabled: false}
2569+ ];
2570+ }
2571+
2572+ function test_enableLauncher(data) {
2573+ GSettingsController.setEnableLauncher(data.enabled);
2574+
2575+ var launcher = findChild(shell, "launcher");
2576+ compare(launcher.available, data.enabled);
2577+
2578+ GSettingsController.setEnableLauncher(true);
2579+ }
25642580 }
25652581}