>># 
>># 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: ungrbpntr.m,v 1.4 92/06/11 17:17:28 rws Exp $
>># 
>>#
>>TITLE XUngrabPointer CH07
>>ASSERTION A XUngrabPointer-1
When the client has actively grabbed the pointer with a
call to XGrabPointer, XGrabButton or from a normal button
press, then a call to XUngrabPointer releases the pointer
and any queued events.
>>STRATEGY
Create a grab window.
Grab pointer with pointer_mode GrabModeSync.
Warp pointer within the grab window.
Verify that no pointer events are received.
Call XUngrabPointer to release pointer.
Verify that pointer events are now received.
>>ASSERTION A XUngrabPointer-2
When the specified time is earlier than the
last-pointer-grab time or is later than the current X server
time, then a call to XUngrabPointer does not release the
pointer grab.
>>STRATEGY
Create client2.
Create window 'win'.
Enable events for client2 on win.
Create window for use as the grab window.
Grab pointer with a given time.
Call XUngrabPointer with earlier time.
Warp pointer within win.
Verify that no event is received for client2.

Get current server time.
Call XUngrabPointer with a later time than the current server time.
Warp pointer within win.
Verify that no event is received for client2.
>>ASSERTION A XUngrabPointer-3
A call to XUngrabPointer generates EnterNotify and
LeaveNotify events.
>>STRATEGY
Create the grab window.
Create spare window 'win'.
Warp pointer to win.
Grab pointer with XGrabPointer.
Enable events on win and grab windows.
Call XUngrabPointer to release grab.
Verify that a leave event is generated on the grab window.
Verify that an enter event is generated on win.
