on xenial help sign in
moar tests
4834324Michael Zanetti
tests/mocks/GSettings.1.0/fake_gsettings.cpp+32
@@ -22,6 +22,7 @@ GSettingsControllerQml* GSettingsControllerQml::s_controllerInstance = 0;
22
22
23GSettingsControllerQml::GSettingsControllerQml()
23GSettingsControllerQml::GSettingsControllerQml()
24 : m_usageMode("Staged")
24 : m_usageMode("Staged")
25+ , m_autohideLauncher(false)
25{
26{
26}
27}
27
28
@@ -88,6 +89,19 @@ void GSettingsControllerQml::setLifecycleExemptAppids(const QStringList &appIds)
88 }
89 }
89}
90}
90
91
92+bool GSettingsControllerQml::autohideLauncher() const
93+{
94+ return m_autohideLauncher;
95+}
96+
97+void GSettingsControllerQml::setAutohideLauncher(bool autohideLauncher)
98+{
99+ if (m_autohideLauncher != autohideLauncher) {
100+ m_autohideLauncher = autohideLauncher;
101+ Q_EMIT autohideLauncherChanged(autohideLauncher);
102+ }
103+}
104+
91GSettingsSchemaQml::GSettingsSchemaQml(QObject *parent): QObject(parent) {
105GSettingsSchemaQml::GSettingsSchemaQml(QObject *parent): QObject(parent) {
92}
106}
93
107
@@ -129,6 +143,8 @@ GSettingsQml::GSettingsQml(QObject *parent)
129 this, &GSettingsQml::lockedOutTimeChanged);
143 this, &GSettingsQml::lockedOutTimeChanged);
130 connect(GSettingsControllerQml::instance(), &GSettingsControllerQml::lifecycleExemptAppidsChanged,
144 connect(GSettingsControllerQml::instance(), &GSettingsControllerQml::lifecycleExemptAppidsChanged,
131 this, &GSettingsQml::lifecycleExemptAppidsChanged);
145 this, &GSettingsQml::lifecycleExemptAppidsChanged);
146+ connect(GSettingsControllerQml::instance(), &GSettingsControllerQml::autohideLauncherChanged,
147+ this, &GSettingsQml::autohideLauncherChanged);
132}
148}
133
149
134GSettingsSchemaQml * GSettingsQml::schema() const {
150GSettingsSchemaQml * GSettingsQml::schema() const {
@@ -192,9 +208,25 @@ QStringList GSettingsQml::lifecycleExemptAppids() const
192 }
208 }
193}
209}
194
210
211+bool GSettingsQml::autohideLauncher() const
212+{
213+ if (m_schema->id() == "com.canonical.Unity8") {
214+ return GSettingsControllerQml::instance()->autohideLauncher();
215+ } else {
216+ return false;
217+ }
218+}
219+
195void GSettingsQml::setLifecycleExemptAppids(const QStringList &appIds)
220void GSettingsQml::setLifecycleExemptAppids(const QStringList &appIds)
196{
221{
197 if (m_schema->id() == "com.canonical.qtmir") {
222 if (m_schema->id() == "com.canonical.qtmir") {
198 GSettingsControllerQml::instance()->setLifecycleExemptAppids(appIds);
223 GSettingsControllerQml::instance()->setLifecycleExemptAppids(appIds);
199 }
224 }
200}
225}
226+
227+void GSettingsQml::setAutohideLauncher(bool autohideLauncher)
228+{
229+ if (m_schema->id() == "com.canonical.Unity8") {
230+ GSettingsControllerQml::instance()->setAutohideLauncher(autohideLauncher);
231+ }
232+}
tests/mocks/GSettings.1.0/fake_gsettings.h+9
@@ -50,6 +50,7 @@ class GSettingsQml: public QObject
50 Q_PROPERTY(QString usageMode READ usageMode WRITE setUsageMode NOTIFY usageModeChanged)
50 Q_PROPERTY(QString usageMode READ usageMode WRITE setUsageMode NOTIFY usageModeChanged)
51 Q_PROPERTY(qint64 lockedOutTime READ lockedOutTime WRITE setLockedOutTime NOTIFY lockedOutTimeChanged)
51 Q_PROPERTY(qint64 lockedOutTime READ lockedOutTime WRITE setLockedOutTime NOTIFY lockedOutTimeChanged)
52 Q_PROPERTY(QStringList lifecycleExemptAppids READ lifecycleExemptAppids WRITE setLifecycleExemptAppids NOTIFY lifecycleExemptAppidsChanged)
52 Q_PROPERTY(QStringList lifecycleExemptAppids READ lifecycleExemptAppids WRITE setLifecycleExemptAppids NOTIFY lifecycleExemptAppidsChanged)
53+ Q_PROPERTY(bool autohideLauncher READ autohideLauncher WRITE setAutohideLauncher NOTIFY autohideLauncherChanged)
53
54
54public:
55public:
55 GSettingsQml(QObject *parent = nullptr);
56 GSettingsQml(QObject *parent = nullptr);
@@ -59,11 +60,13 @@ public:
59 QString usageMode() const;
60 QString usageMode() const;
60 qint64 lockedOutTime() const;
61 qint64 lockedOutTime() const;
61 QStringList lifecycleExemptAppids() const;
62 QStringList lifecycleExemptAppids() const;
63+ bool autohideLauncher() const;
62
64
63 void setPictureUri(const QString &str);
65 void setPictureUri(const QString &str);
64 void setUsageMode(const QString &usageMode);
66 void setUsageMode(const QString &usageMode);
65 void setLockedOutTime(qint64 timestamp);
67 void setLockedOutTime(qint64 timestamp);
66 void setLifecycleExemptAppids(const QStringList &appIds);
68 void setLifecycleExemptAppids(const QStringList &appIds);
69+ void setAutohideLauncher(bool autohideLauncher);
67
70
68Q_SIGNALS:
71Q_SIGNALS:
69 void schemaChanged();
72 void schemaChanged();
@@ -71,6 +74,7 @@ Q_SIGNALS:
71 void usageModeChanged(const QString&);
74 void usageModeChanged(const QString&);
72 void lockedOutTimeChanged(qint64);
75 void lockedOutTimeChanged(qint64);
73 void lifecycleExemptAppidsChanged(const QStringList &);
76 void lifecycleExemptAppidsChanged(const QStringList &);
77+ void autohideLauncherChanged(bool);
74
78
75private:
79private:
76 GSettingsSchemaQml* m_schema;
80 GSettingsSchemaQml* m_schema;
@@ -98,11 +102,15 @@ public:
98 QStringList lifecycleExemptAppids() const;
102 QStringList lifecycleExemptAppids() const;
99 Q_INVOKABLE void setLifecycleExemptAppids(const QStringList &appIds);
103 Q_INVOKABLE void setLifecycleExemptAppids(const QStringList &appIds);
100
104
105+ bool autohideLauncher() const;
106+ Q_INVOKABLE void setAutohideLauncher(bool autohideLauncher);
107+
101Q_SIGNALS:
108Q_SIGNALS:
102 void pictureUriChanged(const QString&);
109 void pictureUriChanged(const QString&);
103 void usageModeChanged(const QString&);
110 void usageModeChanged(const QString&);
104 void lockedOutTimeChanged(qint64 timestamp);
111 void lockedOutTimeChanged(qint64 timestamp);
105 void lifecycleExemptAppidsChanged(const QStringList&);
112 void lifecycleExemptAppidsChanged(const QStringList&);
113+ void autohideLauncherChanged(bool autohideLauncher);
106
114
107private:
115private:
108 GSettingsControllerQml();
116 GSettingsControllerQml();
@@ -111,6 +119,7 @@ private:
111 QString m_usageMode;
119 QString m_usageMode;
112 qint64 m_lockedOutTime;
120 qint64 m_lockedOutTime;
113 QStringList m_lifecycleExemptAppids;
121 QStringList m_lifecycleExemptAppids;
122+ bool m_autohideLauncher;
114
123
115 static GSettingsControllerQml* s_controllerInstance;
124 static GSettingsControllerQml* s_controllerInstance;
116 QList<GSettingsQml *> m_registeredGSettings;
125 QList<GSettingsQml *> m_registeredGSettings;
tests/qmltests/Launcher/tst_Launcher.qml+24
@@ -1048,5 +1048,29 @@ Item {
1048 compare(signalSpy.signalArguments[0][0], LauncherModel.get(1).appId)
1048 compare(signalSpy.signalArguments[0][0], LauncherModel.get(1).appId)
1049 compare(signalSpy.signalArguments[0][1], 2)
1049 compare(signalSpy.signalArguments[0][1], 2)
1050 }
1050 }
1051+
1052+ function test_hideNotWorkingWhenLockedOut_data() {
1053+ return [
1054+ {tag: "locked visible", locked: true},
1055+ {tag: "no locked visible", locked: false},
1056+ ]
1057+ }
1058+
1059+ function test_hideNotWorkingWhenLockedOut(data) {
1060+ launcher.lockedVisible = data.locked;
1061+ if (data.locked) {
1062+ tryCompare(launcher, "state", "visible");
1063+ } else {
1064+ tryCompare(launcher, "state", "");
1065+ }
1066+
1067+ launcher.hide();
1068+ waitForRendering(launcher);
1069+ if (data.locked) {
1070+ verify(launcher.state == "visible");
1071+ } else {
1072+ verify(launcher.state == "");
1073+ }
1074+ }
1051 }
1075 }
1052}
1076}
tests/qmltests/tst_Shell.qml+19
@@ -2035,5 +2035,24 @@ Rectangle {
2035 tryCompare(launcher, "state", "visible");
2035 tryCompare(launcher, "state", "visible");
2036 tryCompare(launcher, "focus", true)
2036 tryCompare(launcher, "focus", true)
2037 }
2037 }
2038+
2039+ function test_lockedOutLauncherShrinksStage() {
2040+ loadShell("desktop");
2041+ shell.usageScenario = "desktop";
2042+ waitForRendering(shell);
2043+
2044+ var appContainer = findChild(shell, "appContainer");
2045+ var launcher = findChild(shell, "launcher");
2046+
2047+ GSettingsController.setAutohideLauncher(true);
2048+ waitForRendering(shell)
2049+ var hiddenSize = appContainer.width;
2050+
2051+ GSettingsController.setAutohideLauncher(false);
2052+ waitForRendering(shell)
2053+ var shownSize = appContainer.width;
2054+
2055+ compare(shownSize + launcher.panelWidth, hiddenSize);
2056+ }
2038 }
2057 }
2039}
2058}