>># 
>># 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: unmpsbws.m,v 1.6 92/06/11 16:11:46 rws Exp $
>># 
>>#      SCCS:  @(#)  EWin.mc Rel 1.4	    (7/19/91)
>>#
>>TITLE XUnmapSubwindows CH03
>>ASSERTION A XUnmapSubwindows-1
A call to XUnmapSubwindows unmaps all subwindows of the
specified window in bottom to top stacking order.
>>STRATEGY
Create subwindows.
Draw on subwindows.
Unmap subwindows.
Verify that map state of each child is IsUnmapped.
Verify that map state of inferiors of children is IsUnviewable.
Verify that subwindow have disappeared from screen.
>>ASSERTION A XUnmapSubwindows-2
A call to XUnmapSubwindows generates an UnmapNotify event
on each subwindow that was originally mapped.
>>STRATEGY
Create parent window.
Create inferior windows.
Select SubstructureNotify on parent.
Select StructureNotify on inferiors.
Call XUnmapSubwindows.
Verify that UnmapNotify is received on child windows.
Verify that UnmapNotify is received on parent for each child.
Verify that not events are received for other inferiors.
>>ASSERTION A XUnmapSubwindows-3
When all the subwindows are already unmapped, then a call
to XUnmapSubwindows has no effect.
>>STRATEGY
Create parent window.
Create inferiors.
Unmap all children.
Select StructureNotify on inferiors.
Call XUnmapSubwindows to unmap subwindows again.
Verify that no UnmapNotify event is received on window.
Verify that no change occurs on screen.
>>ASSERTION A XUnmapSubwindows-4
When a call to XUnmapSubwindows uncovers part of any window
that was formerly obscured, then either Expose events are
generated or the contents are restored from backing store.
>>STRATEGY
Create base window.
Call setforexpose() on base window.
Enable expose events.
Create subwindows to unmap.
Call XUnmapSubwindows to unmap subwindows.
Verify expose or backing store restore occurred with exposecheck().
>>ASSERTION A XUnmapSubwindows-5
When a window argument does not name a valid Window, then a
BadWindow error occurs.
>>STRATEGY
Create a bad window by creating and destroying a window.
Call test function using bad window as the window argument.
Verify that a BadWindow error occurs.
