>># 
>># 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: stwdwbrdrp.m,v 1.6 92/06/11 16:10:55 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 XSetWindowBorderPixmap CH03
>>ASSERTION A XSetWindowBorderPixmap-1
A call to XSetWindowBorderPixmap sets the border pixmap of
the window to the pixmap specified by border_pixmap.
>>STRATEGY
Create a window, with a wide border.
Set the border-pixel by calling XSetWindowBorderPixmap.
Unmap then remap the window, to ensure the border change occurs.
Get the border-pixel.
Verify the border pixel was set.
Reset the border-pixel by calling XSetWindowBorderPixmap.
Unmap then remap the window, to ensure the border change occurs.
Get the border-pixel.
Verify the border pixel was set.
>>ASSERTION A XSetWindowBorderPixmap-2
When the border pixmap is changed, then the border is
repainted.
>>STRATEGY
Create a mapped window with a wide border.
Set the border-pixmap by calling XSetWindowBorderPixmap.
Verify the border pixmap was repainted.
>>ASSERTION A XSetWindowBorderPixmap-3
When border_pixmap is CopyFromParent, then the
border-pixmap attribute is copied from the parent window.
>>STRATEGY
Create parent window.
Set parent border-pixmap attribute.
Set child window border-pixmap to CopyFromParent.
Ensure that window is mapped.
Pixmap verify to check that border is correct.
>>ASSERTION B XSetWindowBorderPixmap-4
When border_pixmap is CopyFromParent and the window is a
root window, then the default border pixmap is restored.
>>STRATEGY
Report UNTESTED
>>ASSERTION A XSetWindowBorderPixmap-5
When a pixmap argument does not name a valid Pixmap or
CopyFromParent, 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 XSetWindowBorderPixmap-6
If windows with depth other than one are supported: When
border_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 border_pixmap to the depth 1 pixmap.
  Verify that a BadMatch error occurs.
>>ASSERTION C XSetWindowBorderPixmap-7
If multiple window depths are supported: When border_pixmap
is CopyFromParent, and the window does not have the same
depth as the parent window, then a BadMatch error occurs.
>>STRATEGY
If two different depth windows are supported.
  Create window with different depth to parent.
  Attempt to set border_pixmap to ParentRelative.
  Verify that a BadMatch error occurs.
else
  UNSUPPORTED.
>>ASSERTION A XSetWindowBorderPixmap-8
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 XSetWindowBorderPixmap-9
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.
