autotests: Add a test case for _NET_WM_WINDOW_OPACITY
This commit is contained in:
parent
78e2c123c3
commit
7db47ac2fd
1 changed files with 25 additions and 0 deletions
|
@ -63,6 +63,7 @@ private Q_SLOTS:
|
||||||
void testSkipTaskbar();
|
void testSkipTaskbar();
|
||||||
void testInitiallySkipTaskbar();
|
void testInitiallySkipTaskbar();
|
||||||
void testRequestSkipTaskbar();
|
void testRequestSkipTaskbar();
|
||||||
|
void testOpacity();
|
||||||
void testMinimumSize();
|
void testMinimumSize();
|
||||||
void testMaximumSize();
|
void testMaximumSize();
|
||||||
void testTrimCaption_data();
|
void testTrimCaption_data();
|
||||||
|
@ -880,6 +881,30 @@ void X11WindowTest::testRequestSkipTaskbar()
|
||||||
QVERIFY(!window->skipTaskbar());
|
QVERIFY(!window->skipTaskbar());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void X11WindowTest::testOpacity()
|
||||||
|
{
|
||||||
|
// This test verifies that _NET_WM_WINDOW_OPACITY is properly sync'ed with Window::opacity().
|
||||||
|
|
||||||
|
// Create an xcb window.
|
||||||
|
Test::XcbConnectionPtr c = Test::createX11Connection();
|
||||||
|
QVERIFY(!xcb_connection_has_error(c.get()));
|
||||||
|
X11Window *window = createWindow(c.get(), QRect(0, 0, 100, 200), [&c](xcb_window_t windowId) {
|
||||||
|
NETWinInfo info(c.get(), windowId, kwinApp()->x11RootWindow(), NET::Properties(), NET::WM2Opacity);
|
||||||
|
info.setOpacityF(0.5);
|
||||||
|
});
|
||||||
|
QCOMPARE(window->opacity(), 0.5);
|
||||||
|
|
||||||
|
// Change the opacity.
|
||||||
|
{
|
||||||
|
NETWinInfo info(c.get(), window->window(), kwinApp()->x11RootWindow(), NET::Properties(), NET::WM2Opacity);
|
||||||
|
info.setOpacityF(0.8);
|
||||||
|
xcb_flush(c.get());
|
||||||
|
}
|
||||||
|
QSignalSpy opacityChangedSpy(window, &Window::opacityChanged);
|
||||||
|
QVERIFY(opacityChangedSpy.wait());
|
||||||
|
QCOMPARE(window->opacity(), 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
void X11WindowTest::testMinimumSize()
|
void X11WindowTest::testMinimumSize()
|
||||||
{
|
{
|
||||||
// This test verifies that the minimum size constraint is correctly applied.
|
// This test verifies that the minimum size constraint is correctly applied.
|
||||||
|
|
Loading…
Reference in a new issue