o
    OZŽh  ã                   @   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 rŽt 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   Z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)ÚselfZtest_cursor1Ztest_cursor2Ztest_cursor3Zactual_byte_dataÚcursorÚe© r6   úH/var/www/auris/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&   Zload_xbmÚopenÚpathlibÚPathr*   r+   r,   r-   r.   r/   r0   r1   r2   )r3   Z
cursorfileZmaskfiler4   Zcursor_fZmask_fr:   r5   r6   r6   r7   Ú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    )é   rC   r   r   Úcolorr   Zbitmap)r%   r&   ZCursorZSYSTEM_CURSOR_CROSSHAIRr)   ÚdataÚtyper#   Ú	TypeErrorZSurfaceÚget_sizer'   r(   )r3   Úc1Úc2Úc3ZxormaskZandmaskZc4r6   r6   r7   Útest_Cursorý   s,   ÿÿÿzCursorsModuleTest.test_CursorN)Ú__name__Ú
__module__Ú__qualname__r8   r<   rL   r6   r6   r6   r7   r      s
     S$r   Ú__main__)r0   Zpygame.tests.test_utilsr   r%   ZTestCaser   rM   Úmainr6   r6   r6   r7   Ú<module>   s      ÿ