on xenial help sign in
Added better tests for indicator menu enable setting
commit121c4c89b0ba5fbe08325c925785ccb1d2241517 authorBrian Douglass <bhdouglass@gmail.com> dateThu 13 Oct 2016, 01:29 (10 years ago) parentd05dbca
3 files changed+60
tests/mocks/GSettings.1.0/fake_gsettings.cpp+33 tests/mocks/GSettings.1.0/fake_gsettings.h+9 tests/qmltests/tst_Shell.qml+18
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_enableIndicatorMenu(true)
3031{
3132}
3233
@@ -145,6 +146,19 @@ void GSettingsControllerQml::setEdgeDragWidth(uint edgeDragWidth)
145146 }
146147}
147148
149+bool GSettingsControllerQml::enableIndicatorMenu() const
150+{
151+ return m_enableIndicatorMenu;
152+}
153+
154+void GSettingsControllerQml::setEnableIndicatorMenu(bool enableIndicatorMenu)
155+{
156+ if (m_enableIndicatorMenu != enableIndicatorMenu) {
157+ m_enableIndicatorMenu = enableIndicatorMenu;
158+ Q_EMIT enableIndicatorMenuChanged(enableIndicatorMenu);
159+ }
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::enableIndicatorMenuChanged,
227+ this, &GSettingsQml::enableIndicatorMenuChanged);
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 enableIndicatorMenuChanged();
221238}
222239
223240GSettingsSchemaQml * GSettingsQml::schema() const {
@@ -324,6 +341,15 @@ QVariant GSettingsQml::edgeDragWidth() const
324341 }
325342}
326343
344+QVariant GSettingsQml::enableIndicatorMenu() const
345+{
346+ if (m_valid && m_schema->id() == "com.canonical.Unity8") {
347+ return GSettingsControllerQml::instance()->enableIndicatorMenu();
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::setEnableIndicatorMenu(const QVariant &enableIndicatorMenu)
382+{
383+ if (m_valid && m_schema->id() == "com.canonical.Unity8") {
384+ GSettingsControllerQml::instance()->setEnableIndicatorMenu(enableIndicatorMenu.toBool());
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 enableIndicatorMenu READ enableIndicatorMenu WRITE setEnableIndicatorMenu NOTIFY enableIndicatorMenuChanged)
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 enableIndicatorMenu() 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 setEnableIndicatorMenu(const QVariant &enableIndicatorMenu);
8588
8689Q_SIGNALS:
8790 void disableHeightChanged();
@@ -93,6 +96,7 @@ Q_SIGNALS:
9396 void autohideLauncherChanged();
9497 void launcherWidthChanged();
9598 void edgeDragWidthChanged();
99+ void enableIndicatorMenuChanged();
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 enableIndicatorMenu() const;
141+ Q_INVOKABLE void setEnableIndicatorMenu(bool enableIndicatorMenu);
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 enableIndicatorMenuChanged(bool enableIndicatorMenu);
145153
146154private:
147155 GSettingsControllerQml();
@@ -154,6 +162,7 @@ private:
154162 bool m_autohideLauncher;
155163 int m_launcherWidth;
156164 uint m_edgeDragWidth;
165+ bool m_enableIndicatorMenu;
157166
158167 static GSettingsControllerQml* s_controllerInstance;
159168 QList<GSettingsQml *> m_registeredGSettings;
tests/qmltests/tst_Shell.qml+18
@@ -2714,5 +2714,23 @@ Rectangle {
27142714 tryCompare(topLevelSurfaceList, "count", countBeforeClose - 1);
27152715 tryCompareFunction(function() { return ApplicationManager.focusedApplicationId; }, "calendar-app");
27162716 }
2717+
2718+ function test_indicatorMenuEnabledSetting_data() {
2719+ return [
2720+ {tag: "indicator menu enabled", enabled: true},
2721+ {tag: "indicator menu disabled", enabled: false}
2722+ ]
2723+ }
2724+
2725+ function test_indicatorMenuEnabledSetting(data) {
2726+ loadShell("phone");
2727+
2728+ GSettingsController.setEnableIndicatorMenu(data.enabled);
2729+
2730+ var panel = findChild(shell, "panel");
2731+ compare(panel.indicators.available, data.enabled);
2732+
2733+ GSettingsController.setEnableIndicatorMenu(true);
2734+ }
27172735 }
27182736}