Ë
    T]j:&  ã                   ó�   — d dl mZmZmZ d dlmZ d dlmZ dd„Z G d„ de«      Z	 G d„ de«      Z
 G d	„ d
e«      Z G d„ de«      Zy)é    )ÚImageÚ
ImageChopsÚ	ImageDraw)Ú
processors)ÚTestCasec                 óú   — t        j                  | |d«      }t        j                  |«      }|d   dz  |d   dz  }}|j	                  ||dz  |dz  |dz  fd«       |j	                  |dz  ||dz  |d	z  fd«       |S )
N)éÿ   r	   r	   r   é
   é   é   é   é   Úredé   )r   Únewr   ÚDrawÚ	rectangle)ÚmodeÚsizeÚimageÚdrawÚx_bitÚy_bits         úb/var/www/zogu/zoguvenv/lib/python3.12/site-packages/easy_thumbnails/tests/test_pixel_processors.pyÚcreate_imager      s†   € Ü�I‰I�d˜D /Ó2€EÜ�>‰>˜%Ó €DØ˜‘7˜b‘= $ q¡'¨R¡-ˆ5€EØ‡N�N�E˜5 1™9 e¨a¡i°¸±Ð;¸UÔCØ‡N�N�E˜A‘I˜u e¨a¡i°¸±Ð;¸UÔCØ€Ló    c                   ó\   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zd„ Zd„ Zd„ Zy)ÚScaleAndCropTestNc                 ó¨   — |j                   |j                   k7  s$t        j                  ||«      j                  «       �| j	                  |xs d«      ‚y )Nz!The two images were not identical)r   r   Ú
differenceÚgetbboxÚfailureException)ÚselfÚim1Úim2Úmsgs       r   ÚassertImagesEqualz"ScaleAndCropTest.assertImagesEqual   sP   € Ø�8‰8�s—x‘xÒÜ×%Ñ% c¨3Ó/×7Ñ7Ó9ÐEØ×'Ñ'ØÒ:Ð:ó<ð <ð Fr   c                 óH  — t        «       }t        j                  |d«      }| j                  |j                  d«       t        j                  |d«      }| j                  |j                  d«       t        j                  |dd¬«      }| j                  |j                  d«       y )N©éd   r*   ©r*   éK   ©éè  r.   ©é   éX  T)Úupscale)r.   iî  ©r   r   Úscale_and_cropÚassertEqualr   )r#   r   ÚscaledÚ
not_scaledÚupscaleds        r   Ú
test_scalezScaleAndCropTest.test_scale   s}   € Ü“ˆä×*Ñ*¨5°*Ó=ˆØ×Ñ˜Ÿ™ iÔ0ä×.Ñ.¨u°lÓCˆ
Ø×Ñ˜Ÿ™¨*Ô5ä×,Ñ,¨U°LÈ$ÔOˆØ×Ñ˜Ÿ™¨Õ4r   c                 óÜ  — t        «       }t        j                  |dd¬«      }| j                  |j                  d«       t        j                  |dd¬«      }| j                  |j                  d«       t        j                  |dd¬«      }|j                  g d¢«      }| j                  ||«       t        j                  |dd¬«      }|j                  g d	¢«      }| j                  ||«       y )
Nr)   T©Úcropr-   r/   ©r1   r1   )r*   r   é¼  r1   )r.   r*   )r   éú   r0   i^  )r   r   r4   r5   r   r<   r'   )r#   r   Úboth_croppedÚnot_croppedÚ	x_croppedÚexpectedÚ	y_croppeds          r   Ú	test_cropzScaleAndCropTest.test_crop"   sÃ   € Ü“ˆä!×0Ñ0°¸
ÈÔNˆØ×Ñ˜×*Ñ*¨JÔ7ä ×/Ñ/°°|È$ÔOˆØ×Ñ˜×)Ñ)¨:Ô6ä×-Ñ-¨e°ZÀdÔKˆ	Ø—:‘:Ò0Ó1ˆØ×Ñ˜y¨(Ô3ä×-Ñ-¨e°[ÀtÔLˆ	Ø—:‘:Ò0Ó1ˆØ×Ñ˜y¨(Õ3r   c                 óô  — t        «       }t        j                  |dd¬«      }|j                  g d¢«      }| j	                  ||«       t        j                  |dd¬«      }|j                  g d¢«      }| j	                  ||«       t        j                  |dd¬«      }|j                  g d	¢«      }| j	                  ||«       t        j                  |d
d¬«      }|j                  g d¢«      }| j	                  ||«       t        j                  |dd¬«      }|j                  g d¢«      }| j	                  ||«       t        j                  |dd¬«      }|j                  g d¢«      }| j	                  ||«       y )N©r*   r1   z0,0r;   ©r   r   r*   r1   z-0,-0©r>   r   r0   r1   )é–   r1   z10,-10)é   r   é¥   r1   )r0   rJ   )r   i³  r0   iI  z0,©r0   r*   z,0©r   r   r0   r*   ©r   r   r4   r<   r'   )	r#   r   Útl_croprC   Úbr_cropÚx_offset_cropÚy_offset_cropÚonly_x_cropÚonly_y_crops	            r   Útest_crop_cornerz!ScaleAndCropTest.test_crop_corner3   sB  € Ü“ˆä×+Ñ+¨E°:ÀEÔJˆØ—:‘:Ò.Ó/ˆØ×Ñ˜w¨Ô1ä×+Ñ+¨E°:ÀGÔLˆØ—:‘:Ò0Ó1ˆØ×Ñ˜w¨Ô1ä"×1Ñ1Ø�: Hô.ˆà—:‘:Ò/Ó0ˆà×Ñ˜}¨hÔ7ä"×1Ñ1°%¸Ø7?ôAˆà—:‘:Ò0Ó1ˆØ×Ñ˜}¨hÔ7ä ×/Ñ/°°zÈÔMˆØ—:‘:Ò.Ó/ˆØ×Ñ˜{¨HÔ5ä ×/Ñ/°°zÈÔMˆØ—:‘:Ò.Ó/ˆØ×Ñ˜{¨HÕ5r   c                 ó’   — t        «       }t        j                  |dd¬«      }|j                  g d¢«      }| j	                  ||«       y )Nr=   Úsmartr;   )éN   r   i¦  r1   rO   )r#   r   Ú
smart_croprC   s       r   Útest_crop_smartz ScaleAndCropTest.test_crop_smartQ   s<   € Ü“ˆä×.Ñ.¨u°jÀwÔOˆ
Ø—:‘:Ò/Ó0ˆØ×Ñ˜z¨8Õ4r   c                 óV  — t        d¬«      }t        j                  |dd¬«      }| j                  |j                  d«       t        j                  |dd¬«      }| j                  |j                  d«       t        j                  |ddd¬	«      }| j                  |j                  d
«       y )N)éÈ   i�  ©r   r)   Úscaler;   )r*   r]   r=   T)r<   r2   )r1   i°  r3   ©r#   r   r6   s      r   Útest_crop_scalez ScaleAndCropTest.test_crop_scaleX   s‰   € Ü *Ô-ˆä×*Ñ*¨5°*À7ÔKˆØ×Ñ˜Ÿ™ jÔ1ä×*Ñ*¨5°*À7ÔKˆØ×Ñ˜Ÿ™ jÔ1Ü×*Ñ*¨5°*À7Ø37ô9ˆà×Ñ˜Ÿ™ kÕ2r   c                 óà   — t        «       }t        j                  |d«      }| j                  |j                  d«       t        j                  |d«      }| j                  |j                  d«       y )N©r*   r   r+   ©r   r*   ©é…   r*   r3   r`   s      r   Útest_one_dimension_scalez)ScaleAndCropTest.test_one_dimension_scaled   sU   € Ü“ˆä×*Ñ*¨5°(Ó;ˆØ×Ñ˜Ÿ™ iÔ0Ü×*Ñ*¨5°(Ó;ˆØ×Ñ˜Ÿ™ jÕ1r   c                 óè   — t        «       }t        j                  |dd¬«      }| j                  |j                  d«       t        j                  |dd¬«      }| j                  |j                  d«       y )Nrc   Tr;   r+   rd   re   r3   )r#   r   Úcroppeds      r   Útest_one_dimension_cropz(ScaleAndCropTest.test_one_dimension_cropl   sY   € Ü“ˆä×+Ñ+¨E°8À$ÔGˆØ×Ñ˜Ÿ™ yÔ1Ü×+Ñ+¨E°8À$ÔGˆØ×Ñ˜Ÿ™ zÕ2r   c                 óˆ   — t        d¬«      }d}t        j                  ||d¬«      }| j                  |j                  |«       y )N©i`	  i$  r^   ©én   r.   Tr;   r3   ©r#   r   r   ri   s       r   Útest_croup_roundingz$ScaleAndCropTest.test_croup_roundingt   s9   € Ü ,Ô/ˆàˆÜ×+Ñ+¨E°4¸dÔCˆØ×Ñ˜Ÿ™ tÕ,r   c                 óˆ   — t        d¬«      }d}t        j                  ||d¬«      }| j                  |j                  d«       y )Nrl   r^   r)   é(   )Úzoom)éB   r*   r3   )r#   r   r   r6   s       r   Útest_zoom_scalez ScaleAndCropTest.test_zoom_scale{   s9   € Ü ,Ô/ˆàˆÜ×*Ñ*¨5°$¸RÔ@ˆØ×Ñ˜Ÿ™ iÕ0r   c                 óŠ   — t        d¬«      }d}t        j                  ||dd¬«      }| j                  |j                  |«       y )Nrl   r^   rm   Trr   )r<   rs   r3   ro   s       r   Útest_zoom_cropzScaleAndCropTest.test_zoom_crop‚   s;   € Ü ,Ô/ˆàˆÜ×+Ñ+¨E°4¸dÈÔLˆØ×Ñ˜Ÿ™ tÕ,r   c                 ó  — t        «       }d}t        j                  |dd|¬«      }|j                  g d¢«      }| j	                  ||«       t        j                  |dd|¬«      }|j                  g d¢«      }| j	                  ||«       d}t        j                  |dd|¬«      }|j                  g d	¢«      }| j	                  ||«       t        j                  |dd|¬«      }|j                  g d
¢«      }| j	                  ||«       y )N)é_   r*   rG   T©r   r<   ÚtargetrI   rM   )r   iô  r0   r1   )r   é   rH   rN   rO   ©r#   r   r{   rP   rC   s        r   Útest_crop_targetz!ScaleAndCropTest.test_crop_target‰   s÷   € Ü“ˆð ˆä×+Ñ+Ø˜
¨°fô>ˆà—:‘:Ò0Ó1ˆØ×Ñ˜w¨Ô1ä×+Ñ+Ø˜
¨°fô>ˆà—:‘:Ò0Ó1ˆØ×Ñ˜w¨Ô1ð ˆä×+Ñ+Ø˜
¨°fô>ˆà—:‘:Ò.Ó/ˆØ×Ñ˜w¨Ô1ä×+Ñ+Ø˜
¨°fô>ˆà—:‘:Ò.Ó/ˆØ×Ñ˜w¨Õ1r   c                 ó  — t        «       }d}t        j                  |dd|¬«      }|j                  g d¢«      }| j	                  ||«       t        j                  |dd|¬«      }|j                  g d¢«      }| j	                  ||«       y )Nz45,55rG   Trz   )i6  r   iš  r1   rM   )r   i  r0   i|  rO   r}   s        r   Útest_crop_target_textz&ScaleAndCropTest.test_crop_target_text¦   s~   € Ü“ˆàˆä×+Ñ+Ø˜
¨°fô>ˆà—:‘:Ò0Ó1ˆØ×Ñ˜w¨Ô1ä×+Ñ+Ø˜
¨°fô>ˆà—:‘:Ò0Ó1ˆØ×Ñ˜w¨Õ1r   )N)Ú__name__Ú
__module__Ú__qualname__r'   r9   rE   rV   r[   ra   rg   rj   rp   ru   rw   r~   r€   © r   r   r   r      sC   „ ó<ò
5ò4ò"6ò<5ò
3ò2ò3ò-ò1ò-ò2ó:2r   r   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚColorspaceTestc                 ó   — t        j                  dd«      }t        j                  |«      }| j	                  |j
                  d«       t        j                  dd«      }t        j                  |«      }| j	                  |j
                  d«       y )NÚRGBr/   ÚL©r   r   r   Ú
colorspacer5   r   ©r#   r   Ú	processeds      r   Útest_standardzColorspaceTest.test_standard¸   sj   € Ü—	‘	˜% Ó,ˆÜ×)Ñ)¨%Ó0ˆ	Ø×Ñ˜Ÿ™¨Ô/ä—	‘	˜#˜zÓ*ˆÜ×)Ñ)¨%Ó0ˆ	Ø×Ñ˜Ÿ™¨Õ-r   c                 ó   — t        j                  dd«      }t        j                  |«      }| j	                  |j
                  d«       t        j                  dd«      }t        j                  |«      }| j	                  |j
                  d«       y )NÚRGBAr/   ÚLArŠ   rŒ   s      r   Útest_transparentzColorspaceTest.test_transparentÁ   sj   € Ü—	‘	˜& *Ó-ˆÜ×)Ñ)¨%Ó0ˆ	Ø×Ñ˜Ÿ™¨Ô0ä—	‘	˜$ 
Ó+ˆÜ×)Ñ)¨%Ó0ˆ	Ø×Ñ˜Ÿ™¨Õ.r   c                 ó@  — t        j                  dd«      }| j                  |j                  «       d   d«       t	        j
                  |d¬«      }| j                  |j                  d«       | j                  |j                  «       d   d«       t        j                  d	d«      }| j                  |j                  «       d   d«       t	        j
                  |d¬«      }| j                  |j                  d
«       | j                  |j                  «       d   d«       y )Nr�   r/   )r   r   )r   r   r   r   z#fefdfc)Úreplace_alpharˆ   )éþ   éý   éü   r‘   r‰   r–   )r   r   r5   Úloadr   r‹   r   rŒ   s      r   Útest_replace_alphaz!ColorspaceTest.test_replace_alphaÊ   sÜ   € Ü—	‘	˜& *Ó-ˆØ×Ñ˜Ÿ™› dÑ+¨\Ô:Ü×)Ñ)¨%¸yÔIˆ	Ø×Ñ˜Ÿ™¨Ô/Ø×Ñ˜Ÿ™Ó)¨$Ñ/°ÔAä—	‘	˜$ 
Ó+ˆØ×Ñ˜Ÿ™› dÑ+¨VÔ4Ü×)Ñ)¨%¸yÔIˆ	Ø×Ñ˜Ÿ™¨Ô-Ø×Ñ˜Ÿ™Ó)¨$Ñ/°Õ5r   c                 óL  — t        j                  dd«      }t        j                  |d¬«      }| j	                  |j
                  d«       t        j                  dd«      }t        j                  |d¬«      }| j	                  |j
                  d«       t        j                  dd«      }t        j                  |d¬«      }| j	                  |j
                  d«       t        j                  dd«      }t        j                  |d¬«      }| j	                  |j
                  d«       y )Nrˆ   r/   T)Úbwr‰   r�   r‘   rŠ   rŒ   s      r   Útest_bwzColorspaceTest.test_bw×   sÚ   € Ü—	‘	˜% Ó,ˆÜ×)Ñ)¨%°DÔ9ˆ	Ø×Ñ˜Ÿ™¨Ô-ä—	‘	˜& *Ó-ˆÜ×)Ñ)¨%°DÔ9ˆ	Ø×Ñ˜Ÿ™¨Ô.ä—	‘	˜#˜zÓ*ˆÜ×)Ñ)¨%°DÔ9ˆ	Ø×Ñ˜Ÿ™¨Ô-ä—	‘	˜$ 
Ó+ˆÜ×)Ñ)¨%°DÔ9ˆ	Ø×Ñ˜Ÿ™¨Õ.r   N)r�   r‚   rƒ   rŽ   r’   r™   rœ   r„   r   r   r†   r†   ¶   s   „ ò.ò/ò6ó/r   r†   c                   ó   — e Zd Zd„ Zy)ÚAutocropTestc                 óz   — t        j                  t        «       d¬«      }| j                  |j                  d«       y )NT)Úautocrop)iá  i¥  )r   r    r   r5   r   )r#   r�   s     r   rŽ   zAutocropTest.test_standardë   s*   € Ü×'Ñ'¬«ÀÔFˆ	Ø×Ñ˜Ÿ™¨Õ4r   N)r�   r‚   rƒ   rŽ   r„   r   r   rž   rž   é   s   „ ó5r   rž   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚBackgroundTestc                 ó€   — t        «       }t        j                  |dd¬«      }| j                  |j                  d«       y )Nú#fff©r0   r0   ©Ú
backgroundr   )r   r   r§   r5   r   rŒ   s      r   Ú
test_basiczBackgroundTest.test_basicò   s4   € Ü“ˆÜ×)Ñ)Ø˜f¨:ô7ˆ	à×Ñ˜Ÿ™¨Õ4r   c                 óÖ   — t        «       j                  d«      }t        j                  |dd¬«      }| j	                  |j
                  d«       | j	                  |j                  d«       y )Nr‰   r¤   r¥   r¦   ©r   Úconvertr   r§   r5   r   r   rŒ   s      r   Útest_grayscalezBackgroundTest.test_grayscaleø   sS   € Ü“×&Ñ& sÓ+ˆÜ×)Ñ)Ø˜f¨:ô7ˆ	à×Ñ˜Ÿ™¨Ô4Ø×Ñ˜Ÿ™¨Õ-r   c                 ó¨  — t        «       j                  d«      }t        j                  |dd¬«      }| j	                  |j
                  d«       | j	                  |j                  d«       t        «       j                  d«      }t        j                  |dd¬«      }| j	                  |j
                  d«       | j	                  |j                  d«       y )Nr�   r¤   r¥   r¦   rˆ   r‘   r‰   rª   rŒ   s      r   Útest_mode_alphazBackgroundTest.test_mode_alphaÿ   s¤   € Ü“×&Ñ& vÓ.ˆÜ×)Ñ)Ø˜f¨:ô7ˆ	à×Ñ˜Ÿ™¨Ô4Ø×Ñ˜Ÿ™¨Ô/ä“×&Ñ& tÓ,ˆÜ×)Ñ)Ø˜f¨:ô7ˆ	à×Ñ˜Ÿ™¨Ô4Ø×Ñ˜Ÿ™¨Õ-r   N)r�   r‚   rƒ   r¨   r¬   r®   r„   r   r   r¢   r¢   ð   s   „ ò5ò.ó.r   r¢   N)rˆ   r/   )ÚPILr   r   r   Úeasy_thumbnailsr   Úunittestr   r   r   r†   rž   r¢   r„   r   r   ú<module>r²      sJ   ðß ,Ñ ,Ý &Ý óôd2�xô d2ôN0/�Xô 0/ôf5�8ô 5ô.�Xõ .r   