-
Sam Spilsbury authored
This change provides a simple acceptance test suite for the decor plugin. It creates a fake window decorator (cdt::FakeDecorator) and allows users to create fake decorations (eg cdt::FakePixmapDecoration) which can be serialized as decoration properties and set on windows under xorg-gtest. It also launches compiz with the opengl, composite and decor plugins loaded and runs some basic tests. Among them: BaseDecorAcceptance. Startup: Basic canary "can we start compiz with these plugins" test FakeDecoratorSessionOwnerNameSetOnSelectionOwner: Create a fake decorator, ensure that libdecoration sets our session name "fake" on the selection owner FakeDecoratorReceiveClientMessage: Create fake decorator, ensure that libdecoration posts a client message to the root window announcing that the new decorator exists. DecorationSupportsWindowType: Create a fake decorator, announce support for the WINDOW type decorations and ensure that the correct atom is set on the session owner window. DecorationSupportsPixmapType: Create a fake decorator, announce support for the PIXMAP type decorations and ensure that the correct atom is set on the session owner window. DecorFakeDecoratorAcceptance. WindowDefaultFallbackNoExtents: By default, newly created windows should recieve a fallback decoration but they should not have any frame extents. DecorWithPixmapDefaultsAcceptance. These tests create a default pixmap decoration to use in the hypothetical situation that the window decorator hasn't yet generated a decoration for this window. FallbackRecieveInputFrameNotify: Verify that we get a _COMPIZ_WINDOW_DECOR_INPUT_FRAME property set on the client when it is created and mapped (eg, an input frame window was annonuced to be created) FallbackHasInputFrameInParent: Verify that a second window exists in the frame window after this message was recieved. FallbackNormalWindowExtentOnDecoration: Verify that _NET_FRAME_EXTENTS is set to the default window extents for the default decoration when the window was mapped. FallbackNormalWindowInputOnFrame: Verify that the input window matches the extents set. PixmapDecoratedWindowAcceptance. These tests create a new window and an associated unique decoration for that window. MaximizeBorderExtentsOnMaximize: Maximize the window and ensure that the correct border extents are used. MaximizeBorderExtentsOnVertMaximize: Vertically maximize the window and ensure that the correct border extents are used. MaximizeBorderExtentsOnHorzMaximize: Horizontally maximize the window and ensure that the correct border extents are used. MaximizeFrameWindowSizeEqOutputSize: Maximie the window and ensure that the frame window exactly equals the output size. VertMaximizeFrameWindowSizeEqOutputYHeight: Maximize the window and ensure that the frame window's Y and Height values are consistent with the output size. HorzMaximizeFrameWindowSizeEqOutputXWidth: Ditto horizontal maximization. DISABLED_VertMaximizeFrameWindowSizeSameXWidth: Maximize the window vertically and ensure that the frame window's border-relative X position and width does not change. This test is disabled, as the behavior in compiz is currently broken, (but it means that we can fix it later and enable the test). DISABLED_HorzMaximizeFrameWindowSizeSameYHeight Maximize the window horizontally and ensure that the frame window's border-relative Y position and height does not change. This test is disabled, as the behavior in compiz is currently broken, (but it means that we can fix it later and enable the test).
b33713d1