>># 
>># 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: crtpxmpcrs.m,v 1.14 92/06/11 16:22:14 rws Exp $
>># 
>>#      SCCS:  @(#)  EAll.mc Rel 1.5	    (3/12/92)
>>#      SCCS:  @(#)  EPix.mc Rel 1.3	    (7/19/91)
>>#
>>TITLE XCreatePixmapCursor CH06
>>ASSERTION B XCreatePixmapCursor-1
A call to XCreatePixmapCursor creates a Cursor from the
source and mask pixmaps with colours defined by
foreground_color and background_color and hotspot position
given by x and y and returns the cursor ID.
>>STRATEGY
Create source pixmap.
Create mask pixmap.
Call XCreatePixmapCursor with foreground colour W_FG and
background colour W_BG and hotspot at (0,0).
Verify that XCreatePixmapCursor returns non-zero.
>>ASSERTION B XCreatePixmapCursor-2
When mask is None, then all pixels of the source are
displayed.
>>STRATEGY
Create source pixmap.
Call XCreatePixmapCursor with mask None.
Verify that XCreatePixmapCursor returns non-zero.
>>ASSERTION B XCreatePixmapCursor-3
When mask is other than None and a given bit in the mask
bitmap is 1, then the corresponding pixel of source is
displayed.
>>STRATEGY
Create source pixmap.
Create mask pixmap.
Call XCreatePixmapCursor with mask other than none and
mask with at least one bit set.
Verify that XCreatePixmapCursor returns non-zero.
>>ASSERTION B XCreatePixmapCursor-4
When mask is other than None and a given bit in the mask
bitmap is 0, then the corresponding pixel of source is not
displayed.
>>STRATEGY
Create source pixmap.
Create mask pixmap.
Call XCreatePixmapCursor with mask other than none and
mask with at least one bit not set.
Verify that XCreatePixmapCursor returns non-zero.
>>ASSERTION B XCreatePixmapCursor-5
When a bit in the source bitmap is 1, then foreground_color
is used.
>>STRATEGY
Create source pixmap.
Create mask pixmap.
Call XCreatePixmapCursor with source bitmap containing
at least one bit set to 1.
Verify that XCreatePixmapCursor returns non-zero.
>>ASSERTION B XCreatePixmapCursor-6
When a bit in the source bitmap is 0, then background_color
is used.
>>STRATEGY
Create source pixmap.
Create mask pixmap.
Call XCreatePixmapCursor with source bitmap containing
at least one bit set to 0.
Verify that XCreatePixmapCursor returns non-zero.
>>ASSERTION B XCreatePixmapCursor-7
When a Cursor is created by a call to XCreatePixmapCursor,
and the source and/or mask argument is freed by a subsequent
call to XFreePixmap, then the cursor is unaffected.
>>STRATEGY
Create source pixmap.
Create mask pixmap.
Call XCreatePixmapCursor with mask other than none and
mask with at least one bit set.
Verify that XCreatePixmapCursor returns non-zero.
Call XFreePixmap with source pixmap.
Call XFreePixmap with mask pixmap.
>>ASSERTION C XCreatePixmapCursor-8
If multiple window depths are supported: When source does
not have depth one, then a BadMatch error occurs.
>>STRATEGY
If only one depth supported report UNSUPPORTED.
Create source pixmap of depth not equal to one.
Create mask pixmap.
Call XCreatePixmapCursor with source pixmap.
Verify that BadMatch error occurred.
>>ASSERTION A XCreatePixmapCursor-9
When mask is not None and mask does not have depth one,
then a BadMatch error occurs.
>>STRATEGY
If only one depth supported report UNSUPPORTED.
Create mask pixmap of depth not equal to one.
Create source pixmap.
Call XCreatePixmapCursor with mask pixmap.
Verify that BadMatch error occurred.
>>ASSERTION A XCreatePixmapCursor-10
When mask is not None and both source and mask are not the
same size, then a BadMatch error occurs.
>>STRATEGY
Create source pixmap of size 1x1.
Create mask pixmap of size 2x2.
Call XCreatePixmapCursor with mask pixmap.
Verify that BadMatch error occurred.
>>ASSERTION A XCreatePixmapCursor-11
When the hotspot position is not a point within the source
pixmap, then a BadMatch error occurs.
>>STRATEGY
Create source pixmap.
Create mask pixmap.
Call XCreatePixmapCursor with hotspot outside the source pixmap.
Verify that BadMatch error occurred.
>>ASSERTION B XCreatePixmapCursor-12
When the server fails to allocate a required resource, then
a BadAlloc error occurs.
>>STRATEGY
Report UNTESTED
>>ASSERTION A XCreatePixmapCursor-13
When a pixmap argument does not name a valid Pixmap, 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.
