Changeset View
Changeset View
Standalone View
Standalone View
autotests/integration/shell_client_rules_test.cpp
Show First 20 Lines • Show All 45 Lines • ▼ Show 20 Line(s) | 39 | private Q_SLOTS: | |||
---|---|---|---|---|---|
46 | void testApplyInitialMinimize_data(); | 46 | void testApplyInitialMinimize_data(); | ||
47 | void testApplyInitialMinimize(); | 47 | void testApplyInitialMinimize(); | ||
48 | void testApplyInitialSkipTaskbar_data(); | 48 | void testApplyInitialSkipTaskbar_data(); | ||
49 | void testApplyInitialSkipTaskbar(); | 49 | void testApplyInitialSkipTaskbar(); | ||
50 | void testApplyInitialSkipPager_data(); | 50 | void testApplyInitialSkipPager_data(); | ||
51 | void testApplyInitialSkipPager(); | 51 | void testApplyInitialSkipPager(); | ||
52 | void testApplyInitialSkipSwitcher_data(); | 52 | void testApplyInitialSkipSwitcher_data(); | ||
53 | void testApplyInitialSkipSwitcher(); | 53 | void testApplyInitialSkipSwitcher(); | ||
54 | void testApplyInitialKeepAbove_data(); | ||||
55 | void testApplyInitialKeepAbove(); | ||||
56 | void testApplyInitialKeepBelow_data(); | ||||
57 | void testApplyInitialKeepBelow(); | ||||
54 | }; | 58 | }; | ||
55 | 59 | | |||
56 | void TestShellClientRules::initTestCase() | 60 | void TestShellClientRules::initTestCase() | ||
57 | { | 61 | { | ||
58 | qRegisterMetaType<KWin::ShellClient*>(); | 62 | qRegisterMetaType<KWin::ShellClient*>(); | ||
59 | qRegisterMetaType<KWin::AbstractClient*>(); | 63 | qRegisterMetaType<KWin::AbstractClient*>(); | ||
60 | 64 | | |||
61 | QSignalSpy workspaceCreatedSpy(kwinApp(), &Application::workspaceCreated); | 65 | QSignalSpy workspaceCreatedSpy(kwinApp(), &Application::workspaceCreated); | ||
▲ Show 20 Lines • Show All 62 Lines • ▼ Show 20 Line(s) | 114 | { | |||
124 | auto c = Test::renderAndWaitForShown(surface.data(), QSize(100, 50), Qt::blue); | 128 | auto c = Test::renderAndWaitForShown(surface.data(), QSize(100, 50), Qt::blue); | ||
125 | QVERIFY(c); | 129 | QVERIFY(c); | ||
126 | QCOMPARE(c->desktop(), 2); | 130 | QCOMPARE(c->desktop(), 2); | ||
127 | QCOMPARE(c->isMinimized(), false); | 131 | QCOMPARE(c->isMinimized(), false); | ||
128 | QCOMPARE(c->isActive(), true); | 132 | QCOMPARE(c->isActive(), true); | ||
129 | QCOMPARE(c->skipTaskbar(), false); | 133 | QCOMPARE(c->skipTaskbar(), false); | ||
130 | QCOMPARE(c->skipPager(), false); | 134 | QCOMPARE(c->skipPager(), false); | ||
131 | QCOMPARE(c->skipSwitcher(), false); | 135 | QCOMPARE(c->skipSwitcher(), false); | ||
136 | QCOMPARE(c->keepAbove(), false); | ||||
137 | QCOMPARE(c->keepBelow(), false); | ||||
132 | } | 138 | } | ||
133 | 139 | | |||
134 | TEST_DATA(testApplyInitialMinimize) | 140 | TEST_DATA(testApplyInitialMinimize) | ||
135 | 141 | | |||
136 | void TestShellClientRules::testApplyInitialMinimize() | 142 | void TestShellClientRules::testApplyInitialMinimize() | ||
137 | { | 143 | { | ||
138 | // install the temporary rule | 144 | // install the temporary rule | ||
139 | QFETCH(int, ruleNumber); | 145 | QFETCH(int, ruleNumber); | ||
Show All 9 Lines | |||||
149 | QCOMPARE(c->desktop(), 1); | 155 | QCOMPARE(c->desktop(), 1); | ||
150 | QCOMPARE(c->isMinimized(), true); | 156 | QCOMPARE(c->isMinimized(), true); | ||
151 | QCOMPARE(c->isActive(), false); | 157 | QCOMPARE(c->isActive(), false); | ||
152 | c->setMinimized(false); | 158 | c->setMinimized(false); | ||
153 | QCOMPARE(c->isMinimized(), false); | 159 | QCOMPARE(c->isMinimized(), false); | ||
154 | QCOMPARE(c->skipTaskbar(), false); | 160 | QCOMPARE(c->skipTaskbar(), false); | ||
155 | QCOMPARE(c->skipPager(), false); | 161 | QCOMPARE(c->skipPager(), false); | ||
156 | QCOMPARE(c->skipSwitcher(), false); | 162 | QCOMPARE(c->skipSwitcher(), false); | ||
163 | QCOMPARE(c->keepAbove(), false); | ||||
164 | QCOMPARE(c->keepBelow(), false); | ||||
157 | } | 165 | } | ||
158 | 166 | | |||
159 | TEST_DATA(testApplyInitialSkipTaskbar) | 167 | TEST_DATA(testApplyInitialSkipTaskbar) | ||
160 | 168 | | |||
161 | void TestShellClientRules::testApplyInitialSkipTaskbar() | 169 | void TestShellClientRules::testApplyInitialSkipTaskbar() | ||
162 | { | 170 | { | ||
163 | // install the temporary rule | 171 | // install the temporary rule | ||
164 | QFETCH(int, ruleNumber); | 172 | QFETCH(int, ruleNumber); | ||
165 | QString rule = QStringLiteral("skiptaskbar=true\nskiptaskbarrule=%1").arg(ruleNumber); | 173 | QString rule = QStringLiteral("skiptaskbar=true\nskiptaskbarrule=%1").arg(ruleNumber); | ||
166 | QMetaObject::invokeMethod(RuleBook::self(), "temporaryRulesMessage", Q_ARG(QString, rule)); | 174 | QMetaObject::invokeMethod(RuleBook::self(), "temporaryRulesMessage", Q_ARG(QString, rule)); | ||
167 | 175 | | |||
168 | QScopedPointer<Surface> surface(Test::createSurface()); | 176 | QScopedPointer<Surface> surface(Test::createSurface()); | ||
169 | QFETCH(Test::ShellSurfaceType, type); | 177 | QFETCH(Test::ShellSurfaceType, type); | ||
170 | QScopedPointer<QObject> shellSurface(Test::createShellSurface(type, surface.data())); | 178 | QScopedPointer<QObject> shellSurface(Test::createShellSurface(type, surface.data())); | ||
171 | 179 | | |||
172 | auto c = Test::renderAndWaitForShown(surface.data(), QSize(100, 50), Qt::blue); | 180 | auto c = Test::renderAndWaitForShown(surface.data(), QSize(100, 50), Qt::blue); | ||
173 | QVERIFY(c); | 181 | QVERIFY(c); | ||
174 | QCOMPARE(c->desktop(), 1); | 182 | QCOMPARE(c->desktop(), 1); | ||
175 | QCOMPARE(c->isMinimized(), false); | 183 | QCOMPARE(c->isMinimized(), false); | ||
176 | QCOMPARE(c->isActive(), true); | 184 | QCOMPARE(c->isActive(), true); | ||
177 | QCOMPARE(c->skipTaskbar(), true); | 185 | QCOMPARE(c->skipTaskbar(), true); | ||
178 | QCOMPARE(c->skipPager(), false); | 186 | QCOMPARE(c->skipPager(), false); | ||
179 | QCOMPARE(c->skipSwitcher(), false); | 187 | QCOMPARE(c->skipSwitcher(), false); | ||
188 | QCOMPARE(c->keepAbove(), false); | ||||
189 | QCOMPARE(c->keepBelow(), false); | ||||
180 | } | 190 | } | ||
181 | 191 | | |||
182 | TEST_DATA(testApplyInitialSkipPager) | 192 | TEST_DATA(testApplyInitialSkipPager) | ||
183 | 193 | | |||
184 | void TestShellClientRules::testApplyInitialSkipPager() | 194 | void TestShellClientRules::testApplyInitialSkipPager() | ||
185 | { | 195 | { | ||
186 | // install the temporary rule | 196 | // install the temporary rule | ||
187 | QFETCH(int, ruleNumber); | 197 | QFETCH(int, ruleNumber); | ||
188 | QString rule = QStringLiteral("skippager=true\nskippagerrule=%1").arg(ruleNumber); | 198 | QString rule = QStringLiteral("skippager=true\nskippagerrule=%1").arg(ruleNumber); | ||
189 | QMetaObject::invokeMethod(RuleBook::self(), "temporaryRulesMessage", Q_ARG(QString, rule)); | 199 | QMetaObject::invokeMethod(RuleBook::self(), "temporaryRulesMessage", Q_ARG(QString, rule)); | ||
190 | 200 | | |||
191 | QScopedPointer<Surface> surface(Test::createSurface()); | 201 | QScopedPointer<Surface> surface(Test::createSurface()); | ||
192 | QFETCH(Test::ShellSurfaceType, type); | 202 | QFETCH(Test::ShellSurfaceType, type); | ||
193 | QScopedPointer<QObject> shellSurface(Test::createShellSurface(type, surface.data())); | 203 | QScopedPointer<QObject> shellSurface(Test::createShellSurface(type, surface.data())); | ||
194 | 204 | | |||
195 | auto c = Test::renderAndWaitForShown(surface.data(), QSize(100, 50), Qt::blue); | 205 | auto c = Test::renderAndWaitForShown(surface.data(), QSize(100, 50), Qt::blue); | ||
196 | QVERIFY(c); | 206 | QVERIFY(c); | ||
197 | QCOMPARE(c->desktop(), 1); | 207 | QCOMPARE(c->desktop(), 1); | ||
198 | QCOMPARE(c->isMinimized(), false); | 208 | QCOMPARE(c->isMinimized(), false); | ||
199 | QCOMPARE(c->isActive(), true); | 209 | QCOMPARE(c->isActive(), true); | ||
200 | QCOMPARE(c->skipTaskbar(), false); | 210 | QCOMPARE(c->skipTaskbar(), false); | ||
201 | QCOMPARE(c->skipPager(), true); | 211 | QCOMPARE(c->skipPager(), true); | ||
202 | QCOMPARE(c->skipSwitcher(), false); | 212 | QCOMPARE(c->skipSwitcher(), false); | ||
213 | QCOMPARE(c->keepAbove(), false); | ||||
214 | QCOMPARE(c->keepBelow(), false); | ||||
203 | } | 215 | } | ||
204 | 216 | | |||
205 | TEST_DATA(testApplyInitialSkipSwitcher) | 217 | TEST_DATA(testApplyInitialSkipSwitcher) | ||
206 | 218 | | |||
207 | void TestShellClientRules::testApplyInitialSkipSwitcher() | 219 | void TestShellClientRules::testApplyInitialSkipSwitcher() | ||
208 | { | 220 | { | ||
209 | // install the temporary rule | 221 | // install the temporary rule | ||
210 | QFETCH(int, ruleNumber); | 222 | QFETCH(int, ruleNumber); | ||
211 | QString rule = QStringLiteral("skipswitcher=true\nskipswitcherrule=%1").arg(ruleNumber); | 223 | QString rule = QStringLiteral("skipswitcher=true\nskipswitcherrule=%1").arg(ruleNumber); | ||
212 | QMetaObject::invokeMethod(RuleBook::self(), "temporaryRulesMessage", Q_ARG(QString, rule)); | 224 | QMetaObject::invokeMethod(RuleBook::self(), "temporaryRulesMessage", Q_ARG(QString, rule)); | ||
213 | 225 | | |||
214 | QScopedPointer<Surface> surface(Test::createSurface()); | 226 | QScopedPointer<Surface> surface(Test::createSurface()); | ||
215 | QFETCH(Test::ShellSurfaceType, type); | 227 | QFETCH(Test::ShellSurfaceType, type); | ||
216 | QScopedPointer<QObject> shellSurface(Test::createShellSurface(type, surface.data())); | 228 | QScopedPointer<QObject> shellSurface(Test::createShellSurface(type, surface.data())); | ||
217 | 229 | | |||
218 | auto c = Test::renderAndWaitForShown(surface.data(), QSize(100, 50), Qt::blue); | 230 | auto c = Test::renderAndWaitForShown(surface.data(), QSize(100, 50), Qt::blue); | ||
219 | QVERIFY(c); | 231 | QVERIFY(c); | ||
220 | QCOMPARE(c->desktop(), 1); | 232 | QCOMPARE(c->desktop(), 1); | ||
221 | QCOMPARE(c->isMinimized(), false); | 233 | QCOMPARE(c->isMinimized(), false); | ||
222 | QCOMPARE(c->isActive(), true); | 234 | QCOMPARE(c->isActive(), true); | ||
223 | QCOMPARE(c->skipTaskbar(), false); | 235 | QCOMPARE(c->skipTaskbar(), false); | ||
224 | QCOMPARE(c->skipPager(), false); | 236 | QCOMPARE(c->skipPager(), false); | ||
225 | QCOMPARE(c->skipSwitcher(), true); | 237 | QCOMPARE(c->skipSwitcher(), true); | ||
238 | QCOMPARE(c->keepAbove(), false); | ||||
239 | QCOMPARE(c->keepBelow(), false); | ||||
240 | } | ||||
241 | | ||||
242 | TEST_DATA(testApplyInitialKeepAbove) | ||||
243 | | ||||
244 | void TestShellClientRules::testApplyInitialKeepAbove() | ||||
245 | { | ||||
246 | // install the temporary rule | ||||
247 | QFETCH(int, ruleNumber); | ||||
248 | QString rule = QStringLiteral("above=true\naboverule=%1").arg(ruleNumber); | ||||
249 | QMetaObject::invokeMethod(RuleBook::self(), "temporaryRulesMessage", Q_ARG(QString, rule)); | ||||
250 | | ||||
251 | QScopedPointer<Surface> surface(Test::createSurface()); | ||||
252 | QFETCH(Test::ShellSurfaceType, type); | ||||
253 | QScopedPointer<QObject> shellSurface(Test::createShellSurface(type, surface.data())); | ||||
254 | | ||||
255 | auto c = Test::renderAndWaitForShown(surface.data(), QSize(100, 50), Qt::blue); | ||||
256 | QVERIFY(c); | ||||
257 | QCOMPARE(c->desktop(), 1); | ||||
258 | QCOMPARE(c->isMinimized(), false); | ||||
259 | QCOMPARE(c->isActive(), true); | ||||
260 | QCOMPARE(c->skipTaskbar(), false); | ||||
261 | QCOMPARE(c->skipPager(), false); | ||||
262 | QCOMPARE(c->skipSwitcher(), false); | ||||
263 | QCOMPARE(c->keepAbove(), true); | ||||
264 | QCOMPARE(c->keepBelow(), false); | ||||
265 | } | ||||
266 | | ||||
267 | TEST_DATA(testApplyInitialKeepBelow) | ||||
268 | | ||||
269 | void TestShellClientRules::testApplyInitialKeepBelow() | ||||
270 | { | ||||
271 | // install the temporary rule | ||||
272 | QFETCH(int, ruleNumber); | ||||
273 | QString rule = QStringLiteral("below=true\nbelowrule=%1").arg(ruleNumber); | ||||
274 | QMetaObject::invokeMethod(RuleBook::self(), "temporaryRulesMessage", Q_ARG(QString, rule)); | ||||
275 | | ||||
276 | QScopedPointer<Surface> surface(Test::createSurface()); | ||||
277 | QFETCH(Test::ShellSurfaceType, type); | ||||
278 | QScopedPointer<QObject> shellSurface(Test::createShellSurface(type, surface.data())); | ||||
279 | | ||||
280 | auto c = Test::renderAndWaitForShown(surface.data(), QSize(100, 50), Qt::blue); | ||||
281 | QVERIFY(c); | ||||
282 | QCOMPARE(c->desktop(), 1); | ||||
283 | QCOMPARE(c->isMinimized(), false); | ||||
284 | QCOMPARE(c->isActive(), true); | ||||
285 | QCOMPARE(c->skipTaskbar(), false); | ||||
286 | QCOMPARE(c->skipPager(), false); | ||||
287 | QCOMPARE(c->skipSwitcher(), false); | ||||
288 | QCOMPARE(c->keepAbove(), false); | ||||
289 | QCOMPARE(c->keepBelow(), true); | ||||
226 | } | 290 | } | ||
227 | 291 | | |||
228 | WAYLANDTEST_MAIN(TestShellClientRules) | 292 | WAYLANDTEST_MAIN(TestShellClientRules) | ||
229 | #include "shell_client_rules_test.moc" | 293 | #include "shell_client_rules_test.moc" |