o
    tVg                     @   sF   d dl Z d dlmZ d dlZG dd de jZedkr!e   dS dS )    N)fixture_pathc                   @   s$   e Zd Zdd Zdd Zdd ZdS )CursorsModuleTestc              
   C   s^  d}d}d}|  t tj| W d    n1 sw   Y  |  t tj| W d    n1 s7w   Y  |  t tj| W d    n1 sRw   Y  d}tjtjj}| || tj  z<ztj	j
ddg|R   W n tjy } zdt|v rtd W Y d }~nd }~ww W tj  d S W tj  d S tj  w )	N)X.X.XXXXXXXXXX..z  XXXX  )r   r   zXXXXXX r   r   XXXXXXr   r   )z.XX.z  z..  zX.. X))H   r   r      r   r      r   r      r   r      r   r      r   r      r   r         r   r   r   r   r   `   r   r   0   r   r   8   r   r      r      r   r      r   r   r   r   r      r   r      r   r   r   r   r      r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Hr   r   r   r   r   r   r	   r   r   r   r   r      r   r      r   r      r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r      r   r      r   r      r   r   r   r	   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      r    r   r   not currently supported.skipping test as set_cursor() is not supported)assertRaises
ValueErrorpygamecursorscompilethickarrow_stringsassertEqualdisplayinitmouse
set_cursorerrorstrunittestskipquit)selftest_cursor1test_cursor2test_cursor3actual_byte_datacursore r;   M/home/ubuntu/.local/lib/python3.10/site-packages/pygame/tests/cursors_test.pytest_compile   s8   
 

 zCursorsModuleTest.test_compilec              
   C   s$  t d}t d}tj||}t|#}t|}tj||}W d    n1 s*w   Y  W d    n1 s9w   Y  dd l}tj||||}tj  z7ztj	j
|  W n tjy{ } zdt|v rqtd W Y d }~nd }~ww W tj  d S W tj  d S tj  w )Nzxbm_cursors/white_sizing.xbmz!xbm_cursors/white_sizing_mask.xbmr   r"   r#   )r   r&   r'   load_xbmopenpathlibPathr+   r,   r-   r.   r/   r0   r1   r2   r3   )r4   
cursorfilemaskfiler9   cursor_fmask_fr@   r:   r;   r;   r<   test_load_xbm   s0    

 zCursorsModuleTest.test_load_xbmc                 C   s  t jt j}| |jt jf | |jd t j|}| || | t t jd W d   n1 s9w   Y  | t t jdddd W d   n1 sWw   Y  | t t jd W d   n1 srw   Y  t jd	t 	d
}| |jd d	 | |jd 
 d
 | |jd t jt jj\}}t jdd	||}| |jdd	||f | |jd dS )z9Ensure that the cursor object parses information properlysystemi.{Nabcd)   r!   )   rM   r   r   colorr   bitmap)r&   r'   CursorSYSTEM_CURSOR_CROSSHAIRr*   datatyper$   	TypeErrorSurfaceget_sizer(   r)   )r4   c1c2c3xormaskandmaskc4r;   r;   r<   test_Cursor   s,   zCursorsModuleTest.test_CursorN)__name__
__module____qualname__r=   rF   r]   r;   r;   r;   r<   r      s
     S$r   __main__)r1   pygame.tests.test_utilsr   r&   TestCaser   r^   mainr;   r;   r;   r<   <module>   s      