[mutter] tests: Add test for maintaining constraints after client resizes
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] tests: Add test for maintaining constraints after client resizes
- Date: Tue, 23 Nov 2021 01:22:52 +0000 (UTC)
commit b28a6e50a066735adb696a53a4f11551020e32f6
Author: Sebastian Keller <skeller gnome org>
Date: Thu Nov 18 17:24:55 2021 +0100
tests: Add test for maintaining constraints after client resizes
This test ensures that windows that were resized such that they extend
beyond the screen will be moved to be fully on the screen (if possible).
This has been working on X11 since forever, but on Wayland only since
the last commit.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2103>
src/tests/meson.build | 1 +
.../client-resize-respect-constraints.metatest | 43 ++++++++++++++++++++++
2 files changed, 44 insertions(+)
---
diff --git a/src/tests/meson.build b/src/tests/meson.build
index d084887be9..cdc6421177 100644
--- a/src/tests/meson.build
+++ b/src/tests/meson.build
@@ -293,6 +293,7 @@ stacking_tests = [
'default-size',
'modals',
'map-fixed-size',
+ 'client-resize-respect-constraints',
]
foreach stacking_test: stacking_tests
diff --git a/src/tests/stacking/client-resize-respect-constraints.metatest
b/src/tests/stacking/client-resize-respect-constraints.metatest
new file mode 100644
index 0000000000..021e0ed0e3
--- /dev/null
+++ b/src/tests/stacking/client-resize-respect-constraints.metatest
@@ -0,0 +1,43 @@
+# Tests that constraints are applied after a client initiated resize
+# 1. Create a window that does not extend beyond the screen
+# 2. Move it to a known position
+# 3. Resize such that the following resize will extend beyond the screen
+# 4. Check that the window was moved to the position that would allow it to fit on the screen
+
+new_client w wayland
+create w/1 csd
+
+resize w/1 500 400
+show w/1
+wait
+
+assert_size w/1 500 400
+
+move w/1 300 200
+assert_position w/1 300 200
+
+resize w/1 600 500
+wait_reconfigure
+assert_position w/1 200 100
+
+destroy w/1
+
+
+new_client x x11
+create x/1 csd
+
+resize x/1 500 400
+show x/1
+wait
+
+assert_size x/1 500 400
+
+move x/1 300 200
+assert_position x/1 300 200
+
+resize x/1 600 500
+wait_reconfigure
+assert_position x/1 200 100
+
+destroy x/1
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]