on xenial help sign in
Added better tests for enable/disable launcher
33d8e82Brian Douglass
tests/mocks/GSettings.1.0/fake_gsettings.cpp+33
@@ -27,6 +27,7 @@ GSettingsControllerQml::GSettingsControllerQml()
27 , m_autohideLauncher(false)
27 , m_autohideLauncher(false)
28 , m_launcherWidth(8)
28 , m_launcherWidth(8)
29 , m_edgeDragWidth(2)
29 , m_edgeDragWidth(2)
30+ , m_enableLauncher(true)
30{
31{
31}
32}
32
33
@@ -145,6 +146,19 @@ void GSettingsControllerQml::setEdgeDragWidth(uint edgeDragWidth)
145 }
146 }
146}
147}
147
148
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+
148GSettingsSchemaQml::GSettingsSchemaQml(QObject *parent): QObject(parent) {
162GSettingsSchemaQml::GSettingsSchemaQml(QObject *parent): QObject(parent) {
149}
163}
150
164
@@ -209,6 +223,8 @@ void GSettingsQml::componentComplete()
209 this, &GSettingsQml::launcherWidthChanged);
223 this, &GSettingsQml::launcherWidthChanged);
210 connect(GSettingsControllerQml::instance(), &GSettingsControllerQml::edgeDragWidthChanged,
224 connect(GSettingsControllerQml::instance(), &GSettingsControllerQml::edgeDragWidthChanged,
211 this, &GSettingsQml::edgeDragWidthChanged);
225 this, &GSettingsQml::edgeDragWidthChanged);
226+ connect(GSettingsControllerQml::instance(), &GSettingsControllerQml::enableLauncherChanged,
227+ this, &GSettingsQml::enableLauncherChanged);
212
228
213 Q_EMIT disableHeightChanged();
229 Q_EMIT disableHeightChanged();
214 Q_EMIT pictureUriChanged();
230 Q_EMIT pictureUriChanged();
@@ -218,6 +234,7 @@ void GSettingsQml::componentComplete()
218 Q_EMIT autohideLauncherChanged();
234 Q_EMIT autohideLauncherChanged();
219 Q_EMIT launcherWidthChanged();
235 Q_EMIT launcherWidthChanged();
220 Q_EMIT edgeDragWidthChanged();
236 Q_EMIT edgeDragWidthChanged();
237+ Q_EMIT enableLauncherChanged();
221}
238}
222
239
223GSettingsSchemaQml * GSettingsQml::schema() const {
240GSettingsSchemaQml * GSettingsQml::schema() const {
@@ -324,6 +341,15 @@ QVariant GSettingsQml::edgeDragWidth() const
324 }
341 }
325}
342}
326
343
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+
327void GSettingsQml::setLifecycleExemptAppids(const QVariant &appIds)
353void GSettingsQml::setLifecycleExemptAppids(const QVariant &appIds)
328{
354{
329 if (m_valid && m_schema->id() == "com.canonical.qtmir") {
355 if (m_valid && m_schema->id() == "com.canonical.qtmir") {
@@ -351,3 +377,10 @@ void GSettingsQml::setEdgeDragWidth(const QVariant &edgeDragWidth)
351 GSettingsControllerQml::instance()->setEdgeDragWidth(edgeDragWidth.toUInt());
377 GSettingsControllerQml::instance()->setEdgeDragWidth(edgeDragWidth.toUInt());
352 }
378 }
353}
379}
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
57 Q_PROPERTY(QVariant autohideLauncher READ autohideLauncher WRITE setAutohideLauncher NOTIFY autohideLauncherChanged)
57 Q_PROPERTY(QVariant autohideLauncher READ autohideLauncher WRITE setAutohideLauncher NOTIFY autohideLauncherChanged)
58 Q_PROPERTY(QVariant launcherWidth READ launcherWidth WRITE setLauncherWidth NOTIFY launcherWidthChanged)
58 Q_PROPERTY(QVariant launcherWidth READ launcherWidth WRITE setLauncherWidth NOTIFY launcherWidthChanged)
59 Q_PROPERTY(QVariant edgeDragWidth READ edgeDragWidth WRITE setEdgeDragWidth NOTIFY edgeDragWidthChanged)
59 Q_PROPERTY(QVariant edgeDragWidth READ edgeDragWidth WRITE setEdgeDragWidth NOTIFY edgeDragWidthChanged)
60+ Q_PROPERTY(QVariant enableLauncher READ enableLauncher WRITE setEnableLauncher NOTIFY enableLauncherChanged)
60
61
61public:
62public:
62 GSettingsQml(QObject *parent = nullptr);
63 GSettingsQml(QObject *parent = nullptr);
@@ -73,6 +74,7 @@ public:
73 QVariant autohideLauncher() const;
74 QVariant autohideLauncher() const;
74 QVariant launcherWidth() const;
75 QVariant launcherWidth() const;
75 QVariant edgeDragWidth() const;
76 QVariant edgeDragWidth() const;
77+ QVariant enableLauncher() const;
76
78
77 void setDisableHeight(const QVariant &val);
79 void setDisableHeight(const QVariant &val);
78 void setPictureUri(const QVariant &str);
80 void setPictureUri(const QVariant &str);
@@ -82,6 +84,7 @@ public:
82 void setAutohideLauncher(const QVariant &autohideLauncher);
84 void setAutohideLauncher(const QVariant &autohideLauncher);
83 void setLauncherWidth(const QVariant &launcherWidth);
85 void setLauncherWidth(const QVariant &launcherWidth);
84 void setEdgeDragWidth(const QVariant &edgeDragWidth);
86 void setEdgeDragWidth(const QVariant &edgeDragWidth);
87+ void setEnableLauncher(const QVariant &enableLauncher);
85
88
86Q_SIGNALS:
89Q_SIGNALS:
87 void disableHeightChanged();
90 void disableHeightChanged();
@@ -93,6 +96,7 @@ Q_SIGNALS:
93 void autohideLauncherChanged();
96 void autohideLauncherChanged();
94 void launcherWidthChanged();
97 void launcherWidthChanged();
95 void edgeDragWidthChanged();
98 void edgeDragWidthChanged();
99+ void enableLauncherChanged();
96
100
97private:
101private:
98 GSettingsSchemaQml* m_schema;
102 GSettingsSchemaQml* m_schema;
@@ -133,6 +137,9 @@ public:
133 uint edgeDragWidth() const;
137 uint edgeDragWidth() const;
134 Q_INVOKABLE void setEdgeDragWidth(uint edgeDragWidth);
138 Q_INVOKABLE void setEdgeDragWidth(uint edgeDragWidth);
135
139
140+ bool enableLauncher() const;
141+ Q_INVOKABLE void setEnableLauncher(bool enableLauncher);
142+
136Q_SIGNALS:
143Q_SIGNALS:
137 void disableHeightChanged();
144 void disableHeightChanged();
138 void pictureUriChanged(const QString&);
145 void pictureUriChanged(const QString&);
@@ -142,6 +149,7 @@ Q_SIGNALS:
142 void autohideLauncherChanged(bool autohideLauncher);
149 void autohideLauncherChanged(bool autohideLauncher);
143 void launcherWidthChanged(int launcherWidth);
150 void launcherWidthChanged(int launcherWidth);
144 void edgeDragWidthChanged(uint edgeDragWidth);
151 void edgeDragWidthChanged(uint edgeDragWidth);
152+ void enableLauncherChanged(bool enableLauncher);
145
153
146private:
154private:
147 GSettingsControllerQml();
155 GSettingsControllerQml();
@@ -154,6 +162,7 @@ private:
154 bool m_autohideLauncher;
162 bool m_autohideLauncher;
155 int m_launcherWidth;
163 int m_launcherWidth;
156 uint m_edgeDragWidth;
164 uint m_edgeDragWidth;
165+ bool m_enableLauncher;
157
166
158 static GSettingsControllerQml* s_controllerInstance;
167 static GSettingsControllerQml* s_controllerInstance;
159 QList<GSettingsQml *> m_registeredGSettings;
168 QList<GSettingsQml *> m_registeredGSettings;
tests/qmltests/Launcher/tst_Launcher.qml+4
@@ -1364,6 +1364,8 @@ Rectangle {
1364 dragLauncherIntoView();
1364 dragLauncherIntoView();
1365 var launcherPanel = findChild(launcher, "launcherPanel");
1365 var launcherPanel = findChild(launcher, "launcherPanel");
1366 compare(launcherPanel.x, 0);
1366 compare(launcherPanel.x, 0);
1367+
1368+ launcher.available = true;
1367 }
1369 }
1368
1370
1369 function test_launcherDisabledSetting() {
1371 function test_launcherDisabledSetting() {
@@ -1373,6 +1375,8 @@ Rectangle {
1373 dragLauncher();
1375 dragLauncher();
1374 var launcherPanel = findChild(launcher, "launcherPanel");
1376 var launcherPanel = findChild(launcher, "launcherPanel");
1375 compare(launcherPanel.x, -launcherPanel.width);
1377 compare(launcherPanel.x, -launcherPanel.width);
1378+
1379+ launcher.available = true;
1376 }
1380 }
1377 }
1381 }
1378}
1382}
tests/qmltests/tst_Shell.qml+16
@@ -2561,5 +2561,21 @@ Rectangle {
2561 tryCompare(topLevelSurfaceList, "count", countBeforeClose - 1);
2561 tryCompare(topLevelSurfaceList, "count", countBeforeClose - 1);
2562 tryCompareFunction(function() { return ApplicationManager.focusedApplicationId; }, "calendar-app");
2562 tryCompareFunction(function() { return ApplicationManager.focusedApplicationId; }, "calendar-app");
2563 }
2563 }
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+ }
2564 }
2580 }
2565}
2581}