>># 
>># Copyright 1990, 1991 by the Massachusetts Institute of Technology and
>># UniSoft Group Limited.
>># 
>># Permission to use, copy, modify, distribute, and sell this software and
>># its documentation for any purpose is hereby granted without fee,
>># provided that the above copyright notice appear in all copies and that
>># both that copyright notice and this permission notice appear in
>># supporting documentation, and that the names of MIT and UniSoft not be
>># used in advertising or publicity pertaining to distribution of the
>># software without specific, written prior permission.  MIT and UniSoft
>># make no representations about the suitability of this software for any
>># purpose.  It is provided "as is" without express or implied warranty.
>># 
>># $XConsortium: rstckwdws.m,v 1.7 92/06/11 16:09:34 rws Exp $
>># 
>>#
>>TITLE XRestackWindows CH03
>>ASSERTION A XRestackWindows-1
A call to XRestackWindows restacks the windows in the
windows array in the order specified, from top to bottom.
>>STRATEGY
Create a window hierarchy.
Assign members of the window array
Call XRestackWindows to restack the windows
Verify that the windows were restacked in the order two, one, zero, three using pixchecking
>>ASSERTION A XRestackWindows-2
The stacking order of the first window in the windows array
is unaffected with respect to other windows not in the
array.
>>STRATEGY
Create a window hierarchy.
Assign members of the window array
Call XRestackWindows to restack the windows
Verify that the windows were restacked such that the order became two, one, three, zero by pixchecking
>>ASSERTION A XRestackWindows-3
The stacking order of any windows not in the windows array
is not affected.
>>STRATEGY
Create a window hierarchy.
Assign members of the window array
Call XRestackWindows to restack the windows
Verify that the windows were restacked such that the windows zero, one, two and three were unaffected
>>ASSERTION A XRestackWindows-4
When the override-redirect attribute of a window in the
windows array is False and some other client has selected
SubstructureRedirectMask on the parent window, then a
ConfigureRequest event is generated for each such window and
no further processing is performed on that window.
>>STRATEGY
Create client1 and client2.
Create a window hierarchy for client1.
Save parent window image as reference image.
Ensure override-redirect on window one is False.
Select SubstructureRedirectMask events on the parent window for client2.
Call XRestackWindows to restack window one.
Verify that no events were delivered to client1.
Verify that a correct ConfigureRequest event was delivered to client2.
Verify that no further processing occurred by comparing the window to our reference window.
>>ASSERTION A XRestackWindows-5
When a window in the windows array is not a sibling of the
previous window in the array, then for each such pair of
windows a BadMatch error occurs.
>>STRATEGY
Create two window hierarchies
Assign members of the windows array, with one element not a sibling
Verify that a BadMatch error occurred.
Assign members of the windows array, with an element as the parent window
Verify that a BadMatch error occurred.
Assign members of the windows array, with an element as an unrelated window
Verify that a BadMatch error occurred.
>>ASSERTION A XRestackWindows-6
When one or more entries in the windows array do not name
valid windows, then a BadWindow error occurs for each such
window.
>>STRATEGY
Create a window hierarchy.
Assign members of the windows array, with one element as a bad window id.
Verify that a BadWindow error occurred.
