test: add a test for GetMaster() behaviour
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Daniel Stone <daniel@fooishbar.org>
This commit is contained in:
		
							parent
							
								
									b3c76b0c53
								
							
						
					
					
						commit
						dbbe5735d1
					
				
							
								
								
									
										62
									
								
								test/input.c
								
								
								
								
							
							
						
						
									
										62
									
								
								test/input.c
								
								
								
								
							|  | @ -1234,6 +1234,67 @@ static void dix_valuator_alloc(void) | |||
|     free(v); | ||||
| } | ||||
| 
 | ||||
| static void dix_get_master(void) | ||||
| { | ||||
|     DeviceIntRec vcp, vck; | ||||
|     DeviceIntRec ptr, kbd; | ||||
|     DeviceIntRec floating; | ||||
|     SpriteInfoRec vcp_sprite, vck_sprite; | ||||
|     SpriteInfoRec ptr_sprite, kbd_sprite; | ||||
|     SpriteInfoRec floating_sprite; | ||||
| 
 | ||||
|     memset(&vcp, 0, sizeof(DeviceIntRec)); | ||||
|     memset(&vck, 0, sizeof(DeviceIntRec)); | ||||
|     memset(&ptr, 0, sizeof(DeviceIntRec)); | ||||
|     memset(&kbd, 0, sizeof(DeviceIntRec)); | ||||
|     memset(&floating, 0, sizeof(DeviceIntRec)); | ||||
| 
 | ||||
|     memset(&vcp_sprite, 0, sizeof(DeviceIntRec)); | ||||
|     memset(&vck_sprite, 0, sizeof(DeviceIntRec)); | ||||
|     memset(&ptr_sprite, 0, sizeof(DeviceIntRec)); | ||||
|     memset(&kbd_sprite, 0, sizeof(DeviceIntRec)); | ||||
|     memset(&floating_sprite, 0, sizeof(DeviceIntRec)); | ||||
| 
 | ||||
|     vcp.type = MASTER_POINTER; | ||||
|     vck.type = MASTER_KEYBOARD; | ||||
|     ptr.type = SLAVE; | ||||
|     kbd.type = SLAVE; | ||||
|     floating.type = SLAVE; | ||||
| 
 | ||||
|     vcp.spriteInfo = &vcp_sprite; | ||||
|     vck.spriteInfo = &vck_sprite; | ||||
|     ptr.spriteInfo = &ptr_sprite; | ||||
|     kbd.spriteInfo = &kbd_sprite; | ||||
|     floating.spriteInfo = &floating_sprite; | ||||
| 
 | ||||
|     vcp_sprite.paired = &vck; | ||||
|     vck_sprite.paired = &vcp; | ||||
|     ptr_sprite.paired = &vcp; | ||||
|     kbd_sprite.paired = &vck; | ||||
|     floating_sprite.paired = &floating; | ||||
| 
 | ||||
|     vcp_sprite.spriteOwner = TRUE; | ||||
|     floating_sprite.spriteOwner = TRUE; | ||||
| 
 | ||||
|     ptr.master = &vcp; | ||||
|     kbd.master = &vck; | ||||
| 
 | ||||
|     assert(GetPairedDevice(&vcp) == &vck); | ||||
|     assert(GetPairedDevice(&vck) == &vcp); | ||||
|     assert(GetMaster(&ptr, MASTER_POINTER) == &vcp); | ||||
|     assert(GetMaster(&ptr, MASTER_KEYBOARD) == &vck); | ||||
|     assert(GetMaster(&kbd, MASTER_POINTER) == &vcp); | ||||
|     assert(GetMaster(&kbd, MASTER_KEYBOARD) == &vck); | ||||
|     assert(GetMaster(&ptr, MASTER_ATTACHED) == &vcp); | ||||
|     assert(GetMaster(&kbd, MASTER_ATTACHED) == &vck); | ||||
| 
 | ||||
|     assert(GetPairedDevice(&floating) == &floating); | ||||
|     assert(GetMaster(&floating, MASTER_POINTER) == NULL); | ||||
|     assert(GetMaster(&floating, MASTER_KEYBOARD) == NULL); | ||||
|     assert(GetMaster(&floating, MASTER_ATTACHED) == NULL); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| int main(int argc, char** argv) | ||||
| { | ||||
|     dix_input_valuator_masks(); | ||||
|  | @ -1249,6 +1310,7 @@ int main(int argc, char** argv) | |||
|     include_bit_test_macros(); | ||||
|     xi_unregister_handlers(); | ||||
|     dix_valuator_alloc(); | ||||
|     dix_get_master(); | ||||
| 
 | ||||
|     return 0; | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue