>># 
>># 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: stwdwbgpxm.m,v 1.7 92/06/11 16:10:39 rws Exp $
>># 
>>#      SCCS:  @(#)  EPix.mc Rel 1.3	    (7/19/91)
>>#      SCCS:  @(#)  EMat4.mc Rel 1.3	    (7/19/91)
>>#      SCCS:  @(#)  EWin.mc Rel 1.4	    (7/19/91)
>>#
>>TITLE XSetWindowBackgroundPixmap CH03
>>ASSERTION A XSetWindowBackgroundPixmap-1
A call to XSetWindowBackgroundPixmap sets the background
pixmap of the window to the pixmap specified by
background_pixmap.
>>STRATEGY
Create a window with a background pixel.
Change the background-pixmap using XSetWindowBackgroundPixmap.
Verify the background-pixmap was set.
>>ASSERTION A XSetWindowBackgroundPixmap-2
When background_pixmap is ParentRelative, then each time
the background pixmap is required it is taken from the
parent window at the time that it is required, with the
background tile origin aligned with the origin of the parent
window.
>>STRATEGY
Set background-pixmap to ParentRelative.
For a variety of parent backgrounds
  Clear child window.
  Verify that background changes to that set for the parent.
>>ASSERTION B XSetWindowBackgroundPixmap-3
When the background pixmap of a root window is set to
ParentRelative, then the default background is restored.
>>STRATEGY
Report UNTESTED
>>ASSERTION A XSetWindowBackgroundPixmap-4
When the background pixmap is set to None, then the window
has no defined background.
>>STRATEGY
Set window-pixmap to None by calling XSetWindowBackgroundPixmap.
Map window over a patterned background.
Verify that contents of the window are the same as the parent's.
>>ASSERTION B XSetWindowBackgroundPixmap-5
When the background pixmap of a root window is set to None,
then the default background is restored.
>>STRATEGY
Report UNTESTED
>>ASSERTION A XSetWindowBackgroundPixmap-6
When a pixmap argument does not name a valid Pixmap,
ParentRelative or None, then a BadPixmap error occurs.
>>STRATEGY
Create a bad pixmap by creating and freeing a pixmap.
Call test function using bad pixmap as the pixmap argument.
Verify that a BadPixmap error occurs.
>>ASSERTION C XSetWindowBackgroundPixmap-7
If windows with depth other than one are supported: When
background_pixmap and the window do not have the same depth,
then a BadMatch error occurs.
>>STRATEGY
Use depth of 1 for the pixmap.
Find a visual not of depth 1.
If not such a visual
  UNSUPPORTED
else
  Attempt to set background_pixmap to the depth 1 pixmap.
  Verify that a BadMatch error occurs.
>>ASSERTION C XSetWindowBackgroundPixmap-8
If multiple screens are supported: When background_pixmap
and the window are not created for the same screen, then a
BadMatch error occurs.
>>STRATEGY
If there is a pixmap depth on the alternate screen that has the same
depth as a visual on the test screen then
  Create pixmap on alternate screen.
  Attempt to set background-pixmap with the pixmap
  Verify that a BadMatch error occurs.
else
  UNSUPPORTED
>>ASSERTION C XSetWindowBackgroundPixmap-9
If multiple window depths are supported: When
background_pixmap is ParentRelative and the window and the
parent window do not have the same depth, then a BadMatch
error occurs.
>>STRATEGY
If two different depth windows are supported.
  Create window with different depth to parent.
  Attempt to set background_pixmap to ParentRelative.
  Verify that a BadMatch error occurs.
else
  UNSUPPORTED.
>>ASSERTION A XSetWindowBackgroundPixmap-10
When the window argument is an InputOnly window then a
BadMatch error occurs.
>>STRATEGY
Create an InputOnly window.
Call test function using InputOnly window as the window argument.
Verify that a BadMatch error occurs.
>>ASSERTION A XSetWindowBackgroundPixmap-11
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.
