>># 
>># 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: chngkybrdc.m,v 1.5 92/06/11 17:45:52 rws Exp $
>># 
>>#
>>TITLE ChangeKeyboardControl XPROTO
>>ASSERTION A ChangeKeyboardControl-1
When a client sends a valid ChangeKeyboardControl protocol
request to the X server, then the X server does not send
back an error, event or reply to the client.
>>STRATEGY
Call library function testfunc() to do the following:
Open a connection to the X server using native byte sex.
Send a valid ChangeKeyboardControl protocol request to the X server.
Verify that the X server does not send back an error, event or reply.
Open a connection to the X server using reversed byte sex.
Send a valid ChangeKeyboardControl protocol request to the X server.
Verify that the X server does not send back an error, event or reply.
>>ASSERTION A ChangeKeyboardControl-2
When a client sends an invalid ChangeKeyboardControl
protocol request to the X server, in which the length field
of the request is not the minimum length required to contain
the request, then the X server sends back a BadLength error
to the client.
>>STRATEGY
Call library function testfunc() to do the following:
Open a connection to the X server using native byte sex.
Send an invalid ChangeKeyboardControl protocol request to the X server with length 
  one less than the minimum length required to contain the request.
Verify that the X server sends back a BadLength error.
Open a connection to the X server using reversed byte sex.
Send an invalid ChangeKeyboardControl protocol request to the X server with length 
  one less than the minimum length required to contain the request.
Verify that the X server sends back a BadLength error.

Open a connection to the X server using native byte sex.
Send an invalid ChangeKeyboardControl protocol request to the X server with length 
  one greater than the minimum length required to contain the request.
Verify that the X server sends back a BadLength error.
Open a connection to the X server using reversed byte sex.
Send an invalid ChangeKeyboardControl protocol request to the X server with length 
  one greater than the minimum length required to contain the request.
Verify that the X server sends back a BadLength error.
>>ASSERTION B ChangeKeyboardControl-3
When a client sends an invalid ChangeKeyboardControl
protocol request to the X server, in which the length field
of the request exceeds the maximum length accepted by the X
server, then the X server sends back a BadLength error to
the client.
>>STRATEGY
Call library function testfunc() to do the following:
Open a connection to the X server using native byte sex.
Send an invalid ChangeKeyboardControl protocol request to the X server with length 
  one greater than the maximum length accepted by the server.
Verify that the X server sends back a BadLength error.
Open a connection to the X server using reversed byte sex.
Send an invalid ChangeKeyboardControl protocol request to the X server with length 
  one greater than the maximum length accepted by the server.
Verify that the X server sends back a BadLength error.
>>ASSERTION A ChangeKeyboardControl-4
When a client sends an invalid ChangeKeyboardControl
protocol request to the X server, in which the mask value
contains an unused bit, then the X server sends back a
BadValue error to the client.
>>STRATEGY
Call library function testfunc() to do the following:
Open a connection to the X server using native byte sex.
Send an invalid ChangeKeyboardControl protocol request to the X server with a mask value
  containing an unused bit.
Verify that the X server sends back a BadValue error.
Open a connection to the X server using reversed byte sex.
Send an invalid ChangeKeyboardControl protocol request to the X server with a mask value
  containing an unused bit.
Verify that the X server sends back a BadValue error.
