>># 
>># 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: gtrgbclrmp.m,v 1.10 92/06/11 17:28:14 rws Exp $
>># 
>>#      SCCS:  @(#)  EAto.mc Rel 1.6	    (10/4/91)
>>#      SCCS:  @(#)  EWin.mc Rel 1.4	    (7/19/91)
>>#
>>TITLE XGetRGBColormaps CH09
>>ASSERTION A XGetRGBColormaps-1
When the property named by the property argument is set on
the window named by the w argument, is of type
RGB_COLOR_MAP, is of format 32, and is of length n1*8+ n2*9+
n3*10 elements (where n1,n2,n3 (>= 0 and n1+n2+n3 (>= 1),
then a call to XGetRGBColormaps returns in the
std_colormap_return argument the RBG colormap definitions,
which can be freed with XFree, and in count_return the
number of structures and returns non-zero.
>>STRATEGY
Create a window using XCreateWindow.
Set the RGB_DEFAULT_MAP property using XSetRGBColormaps.
Obtain the value of the RGB_DEFAULT_MAP property using XGetRGBColormaps.
Verify that the call did not return False.
Verify that the value was correct.
Free the allocated memory using XFree.
>>ASSERTION A XGetRGBColormaps-2
When the property named by the property argument is not set
on the window named by the w argument, or is not of type
RGB_COLOR_MAP, or is not of format 32, or is not of length
n1*8+ n2*9+ n3*10 elements (where n1,n2,n3 (>= 0 and
n1+n2+n3 (>= 1), then a call to XGetRGBColormaps does not
set the std_colormap_return or count_return arguments and
returns zero.
>>STRATEGY
Create a window with XCreateWindow.
Obtain the value of the unset RGB_COLOR_MAP property using XGetRGBColormaps.
Verify that the call returned False.
Verify that the std_colormap_return argument was not changed.
Verify that the count_return argument was not changed.

Create a window with XCreateWindow.
Set the RGB_COLOR_MAP property to have format 8.
Obtain the value of the RGB_COLOR_MAP property using XGetRGBColormaps.
Verify that the call returned False.
Verify that the std_colormap_return argument was not changed.
Verify that the count_return argument was not changed.

Create a window with XCreateWindow.
Set the RGB_COLOR_MAP property to have type ATOM.
Obtain the value of the RGB_COLOR_MAP property using XGetRGBColormaps.
Verify that the call returned False.
Verify that the std_colormap_return argument was not changed.
Verify that the count_return argument was not changed.

Create a window with XCreateWindow.
Set the RGB_COLOR_MAP property to have size 7 elements.
Obtain the value of the RGB_COLOR_MAP property using XGetRGBColormaps.
Verify that the call returned False.
Verify that the std_colormap_return argument was not changed.
Verify that the count_return argument was not changed.

>>ASSERTION A XGetRGBColormaps-3
When the visualid is not specified in the property
colormaps, then the visualid of the returned structures is
set to the default visual for the screen of the window w.
>>STRATEGY
Create a window using XCreateWindow.
Set the RGB_GRAY_MAP property to have 8 elements using XChangeProperty.
Obtain the default visual ID using DefaultVisual.
Obtain the value of the RGB_GRAY_MAP property using XGetRGBColormaps.
Verify that the value of the visual component of the returned XStandardColormap 
  structure was the same as the default visual.
>>ASSERTION A XGetRGBColormaps-4
When the killid is not specified in the property colormaps,
then the killid of the returned structures is set to None.
>>STRATEGY
Create a window using XCreateWindow.
Set the RGB_GRAY_MAP property to have 9 elements using XChangeProperty.
Obtain the value of the RGB_GRAY_MAP property using XGetRGBColormaps.
Verify that the value of the killid component of the returned XStandardColormap 
  structure was set to None.
>>ASSERTION A XGetRGBColormaps-5
When an atom argument does not name a valid Atom, then a
BadAtom error occurs.
>>STRATEGY
Call test function using a value with the top bits set as the atom argument.
Verify that a BadAtom error occurs.
>>ASSERTION A XGetRGBColormaps-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.
