>># 
>># 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: unmpwdw.m,v 1.6 92/06/11 16:11:54 rws Exp $
>># 
>>#      SCCS:  @(#)  EWin.mc Rel 1.4	    (7/19/91)
>>#
>>TITLE XUnmapWindow CH03
>>ASSERTION A XUnmapWindow-1
A call to XUnmapWindow unmaps the specified window.
>>STRATEGY
Create window.
Draw on window.
Unmap window.
Verify that map state is IsUnmapped.
Verify that window has disappeared from screen.
>>ASSERTION A XUnmapWindow-2
When the specified window is mapped, then a call to
XUnmapWindow generates an UnmapNotify event.
>>STRATEGY
Create parent window.
Create child window.
Select SubstructureNotify on parent.
Select StructureNotify on child.
Call XUnmapWindow to unmap child window.
Verify that UnmapNotify is received on window.
Verify that UnmapNotify is received on parent.
>>ASSERTION A XUnmapWindow-3
When the specified window is already unmapped, then a call
to XUnmapWindow has no effect.
>>STRATEGY
Create parent window.
Create child window.
Select StructureNotify on child.
Call XUnmapWindow to unmap child window.
Verify that no UnmapNotify event is received on window.
>>ASSERTION A XUnmapWindow-4
When there is a viewable child of window, then after a
call to XUnmapWindow the child window is no longer viewable.
>>STRATEGY
Create base window.
Create parent window as inferior of base.
Create child window as inferior of parent.
Check it is Viewable.
Unmap parent window.
Verify that map-state of child window is IsUnviewable.
>>ASSERTION A XUnmapWindow-5
When a call to XUnmapWindow 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.
Create child window to unmap.
Call XUnmapWindow to unmap window.
Verify expose or backing store restore occurred with exposecheck().
>>ASSERTION A XUnmapWindow-6
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.
