
    &hc                        S SK r S SKr S SKJr  S SKrS SK7  S SKJrJ	r	J
r
Jr  S\ R                  " 5       :H  rS r\R                  " \S5       " S S	\R                   5      5       r\R                  " \S5       " S
 S\R                   5      5       r\R                  " \R&                  (       + S5      \R                  " \S5       " S S\R                   5      5       5       r\S:X  a  \R,                  " 5         gg! \ a     Nf = f)    N)arrinter)*)surface_to_array	map_arrayarray_to_surfacemake_surfacePyPyc                     U S-  $ )z1cast signed 32 bit integer to an unsigned integerl     )is    S/var/www/auris/envauris/lib/python3.13/site-packages/pygame/tests/pixelcopy_test.py
unsigned32r      s    z>    z&pypy having illegal instruction on macc                   ~    \ rS rSr/ SQr/ SQrSr/ SQrS rSS jr	SS	 jr
SS
 jrS rS rS rS rS rS rS rSrg)PixelcopyModuleTest             )r   r   r      )
      <   r   )   K   d   r   )r         r   )r   r   r    r   r      )r   r      ))      r%   ))	   r      ))r'   r'   r)   ))r         ))r&      r+   ))r(   r*   r&   ))r'   r,   r&   c           
         [         R                  R                  5          [        R                  R
                  " U /UQ70 UD6  U R                  S5      U R                  S5      U R                  SSS9U R                  S5      U R                  S5      U R                  SSS9/U l        [         R                  R                  5         g ! [         R                  R                  5         f = f)Nr   r   Tsrcalpha   r   )	pygamedisplayinitunittestTestCase__init___make_src_surfacesourcesquit)selfargskwdss      r   r6   PixelcopyModuleTest.__init__,   s    	"&&t;d;d;&&q)&&r*&&rD&9&&r*&&r*&&rD&9DL NN!FNN!s   B	C  C(Nc                     Uc  U R                   nSnU(       a	  U[        -  n[        R                  " U R                  XA5      nUS:X  a$  UR                  U Vs/ s H  ofS S PM	     sn5        U$ s  snf Nr   r   r+   test_paletteSRCALPHAr1   Surface	surf_sizeset_paletter:   bitsizer/   paletteflagssurfcs          r   _make_surface!PixelcopyModuleTest._make_surface;   j    ?''GXE~~dnne=a<W5WeW56 6   A/c                     Uc  U R                   nUR                  US   S5        UR                  US   S5        UR                  US   S5        UR                  US   S5        g 	Nr%   )r   r   r'   r,   r)   )r'   r   r'   r,   r+   )r   r,   r'   r,   r&   )r'   r,   r'   r,   rA   fillr:   rJ   rH   s      r   _fill_surface!PixelcopyModuleTest._fill_surfaceF   Z    ?''G		'!*l+		'!*l+		'!*l+		'!*l+r   c                 L    U R                  XU5      nU R                  XC5        U$ NrL   rU   r:   rG   r/   rH   rJ   s        r   r7   %PixelcopyModuleTest._make_src_surfaceN   '    !!'W=4)r   c                 @    [         R                  R                  5         g rY   r1   r2   r3   r:   s    r   setUpPixelcopyModuleTest.setUpS       r   c                 @    [         R                  R                  5         g rY   r1   r2   r9   r`   s    r   tearDownPixelcopyModuleTest.tearDownV   rc   r   c                    SnU R                    GHI  nUR                  5       nU R                   GH$  n[        R                  " UR                  5       SU5      nUR                  S5        UR                  S5      nU R                  UR                  5       5        XC:  a<  U R                  [        [        Xb5        U R                  UR                  5       5        M  [        Xb5        U R                  UR                  5       5        U R                   H]  u  pxUR                  U5      n	UR                  U5      n
U R                  U
U	SXUR!                  5       UR                  5       U4-  5        M_     AUR#                  5       S   (       d  GM_  UR                  S5        UR                  S5      nSnUR%                  Xq5        U R                  UR                  5       5        [        Xb5        U R                  UR                  5       5        UR                  U5      n	UR                  U5      n
U R                  XSXUR                  5       4-  5        GM'     GML     [&        (       a  g [(        R*                  [(        R,                  -  nU R                    H  nS	 H  nXR/                  5       :  a  M  [(        R0                  " UR                  5       S
XS9n[        X5        U R                   H[  u  px[3        UR                  U5      5      n	X   n
U R                  U
U	SU
U	UUR!                  5       UR                  5       U4-  5        M]     M     M     g )Nr   r   r      r   r   r   r   r   2&%s != %s: flags: %i, bpp: %i, posn: %sr+   r)   r%   %s != %s: bpp: %i)r%   r)   r&   r   u)rI   z4%s != %s: itemsize: %i, flags: %i, bpp: %i, posn: %s)r8   get_bitsizebitsizesr1   rC   get_sizerS   get_viewassertFalse
get_lockedassertRaises
ValueErrorr   test_pointsget_at_mappedassertEqual	get_flags	get_masksset_atIS_PYPYr   PAI_ALIGNEDPAI_WRITEABLEget_bytesizeArrayr   )r:   alpha_colorrJ   src_bitsizedst_bitsizedstviewposnr   spdp	pai_flagsitemsizeas                 r   test_surface_to_array_2d,PixelcopyModuleTest.test_surface_to_array_2dY   s   $LLD**,K#}} nnT]]_aE&||C(  !23,%%j2BDO$$T__%67 ,  !23#//GD++D1B**40B$$.4>>#3T5E5E5GNO  0 >>#A&&HH\*<<,D!DKK2$$T__%67$T0$$T__%67++D1B**40B$$ 3rt?O?O?Q6R RG  - !R 7((8+A+AA	LLD(//11NN4==?CS )#//GD#D$6$6t$<=BB$$. $ NN, ,,. 	  0 ) !r   c                 H    U R                  S5        U R                  S5        g )Nr         r   )r   r   r   r   )iter_surface_to_array_3dr`   s    r   test_surface_to_array_3d,PixelcopyModuleTest.test_surface_to_array_3d   s     %%&AB%%&ABr   c                 L   [         R                  " U R                  SSUS9nU R                   H  nUR	                  S5        UR                  5       nUR                  S5      nU R                  UR                  5       5        [        XS5        U R                  UR                  5       5        U R                   Hc  u  pgUR                  U5      SS nUR                  U5      SS n	U R                  U	USXUR                  5       UR                  5       U4-  5        Me     S nM     g )Nr   r0   masksrk   3r+   rm   )r1   rC   rD   r8   rS   rq   rt   ru   rv   r   ry   get_atr{   r|   )
r:   
rgba_masksr   rJ   r   r   r   r   scdcs
             r   r   ,PixelcopyModuleTest.iter_surface_to_array_3d   s    nnT^^Q*ELLDHH\"**,K<<$DT__./T(T__./++[[&q+ZZ%a*  *t~~/1A1A1CTJK , D# !r   c                    U R                  S5      U R                  S5      U R                  SSS9U R                  S5      U R                  S5      U R                  SSS9/n[        R                  " U R                  SS/ SQS	9nU R	                  U5        UR                  S
5      nU H  n[        UR                  S5      X45        U R                   Hl  u  pVUR                  UR                  U5      5      nUR                  U5      nU R                  UUSXUR                  5       UR                  5       U4-  5        Mn     M     [        R                  " S5      n	U	R                  S5        U H  n[        UR                  S5      X5        UR                  U	5      nU R                   HL  u  pVUR                  U5      nU R                  UUSXUR                  5       UR                  5       U4-  5        MN     M     UR!                  5       u  p[        R                  " XS-   4SS5      nU R#                  [$        [        XU5        [        R                  " U
S-
  U4SS5      nU R#                  [$        [        XU5        g )Nr   r   Tr.   r0   r   r   r   r   r   rl   rm   salmonr+   r%   )rL   r1   rC   rD   rU   rt   r   ry   map_rgbr   rz   r{   r|   rq   Color
set_lengthrs   rw   rx   )r:   targetssourcesource_viewtr   r   r   r   colorwhtargets                r   test_map_array"PixelcopyModuleTest.test_map_array   s6   q!r"rD1r"r"rD1
 NNAr)D
 	6"ooc*Aajjo{6++YYv}}T23__T*  *q{{}ammotDE ,  X&Aajjou05!B++__T*  *q{{}ammotDE ,   E
Ar2*iHQ
Ar2*iHr   c                 
   U R                  S5      U R                  S5      U R                  SSS9U R                  S5      U R                  S5      U R                  SSS9/nU R                  u  p#[        R                  " SU4SS5      nU GH  n[        R                  " SU4SU5      n[	        U5       H>  nUR                  SU4[        R                  " US-   Xs-   S-   US	U-  -   S-   5      5        M@     [        R                  R                  UR                  S
5      U5        [        R                  R                  XTR                  S
5      5        [	        U5       HH  n[	        U5       H6  nU R                  UR                  X45      UR                  SU45      5        M8     MJ     GM"     [        R                  " US4SS5      n	U GH  n[        R                  " US4SU5      n[	        U5       H>  nUR                  US4[        R                  " US-   X-   S-   US	U-  -   S-   5      5        M@     [        R                  R                  U	R                  S
5      U5        [        R                  R                  XYR                  S
5      5        [	        U5       HH  n[	        U5       H6  nU R                  UR                  X45      U	R                  US45      5        M8     MJ     GM"     [        R                  " SSS5      n
U H  n[        R                  " SSU5      nUR                  S[        R                  " SSS5      5        [        R                  R                  U
R                  S
5      U5        [        R                  R                  XZR                  S
5      5        U
R                  S5      n[	        U5       H7  n[	        U5       H%  nU R                  UR                  X45      U5        M'     M9     M     g )Nr   r   Tr.   r0   r   r%   r   r)   rl   r%   r%   r$      /   e   )rL   rD   r1   rC   ranger~   r   	pixelcopyr   rt   r   r{   rz   )r:   r   r   r   columnr   r   yxrowpixelps               r   "test_array_to_surface_broadcasting6PixelcopyModuleTest.test_array_to_surface_broadcasting   sL    q!r"rD1r"r"rD1
 ~~ A2.F^^QFAv6F1Xq!ffll1q5!%!)QQYQR]&ST --fooc.BFK--fooc6JK1XqA$$,,aV4f6J6JAq66R "   nnaVQ+F^^QFAv6F1Xq!ffll1q5!%!)QQYQR]&ST --cll3.?H--fll36GH1XqA$$,,aV4c6G6GA6O "   vq"-F^^FAv6FMM&&,,r2s";<--ennS.A6J--fnnS6IJ##F+A1XqA$$V%9%91&%A1E "  r   )r8   FNrY   )__name__
__module____qualname____firstlineno__rr   rA   rD   ry   r6   rL   rU   r7   ra   rf   r   r   r   r   r   __static_attributes__r   r   r   r   r      sY    HL I	K"	,
FPC,/Ib3Fr   r   c                      \ rS rSr SSKr\R                  R                  S5        / SQr
/ SQrS	r/ S
Qr1 SkrSS1r1 SkrSS1rS rSS jrSS jrSS jrS rS rS rS rS r \  CSrg! \ a    SS/r	 NRf = f! \ a	    CCCC Srgf = f)PixelCopyTestWithArrayNumpyi"  r   Nnumpyignoresubprocess_ignorer   r   r!   r#   >   r   r   r   r0   r   >   r   r   r0   r   c           
         SS K nUR                  UR                  UR                  /U l         U R                  R                  UR                  5        [        R                  R                  5          [        R                  R                  " U /UQ70 UD6  U R                  S5      U R                  S5      U R                  SSS9U R                  S5      U R                  S5      U R                  SSS9/U l        [        R                  R!                  5         g ! [         a     Nf = f! [        R                  R!                  5         f = f)Nr   r   r   Tr.   r0   r   )r   uint8uint16uint32	dst_typesappenduint64AttributeErrorr1   r2   r3   r4   r5   r6   r7   r8   r9   )r:   r;   r<   r   s       r   r6   $PixelCopyTestWithArrayNumpy.__init__F  s   ++u||U\\B	NN!!%,,/ 		"&&t;d;d;&&q)&&r*&&rD&9&&r*&&r*&&rD&9DL NN!  		 NN!s   %D 2B	D* 
D'&D'* E
c                     Uc  U R                   nSnU(       a	  U[        -  n[        R                  " U R                  XA5      nUS:X  a$  UR                  U Vs/ s H  ofS S PM	     sn5        U$ s  snf r?   r@   rF   s          r   rL   )PixelCopyTestWithArrayNumpy._make_surface\  rN   rO   c                     Uc  U R                   nUR                  US   S5        UR                  US   S5        UR                  US   S5        UR                  US   S5        g rQ   rR   rT   s      r   rU   )PixelCopyTestWithArrayNumpy._fill_surfaceg  rW   r   c                 L    U R                  XU5      nU R                  XC5        U$ rY   rZ   r[   s        r   r7   -PixelCopyTestWithArrayNumpy._make_src_surfaceo  r]   r   c                 @    [         R                  R                  5         g rY   r_   r`   s    r   ra   !PixelCopyTestWithArrayNumpy.setUpt  rc   r   c                 @    [         R                  R                  5         g rY   re   r`   s    r   rf   $PixelCopyTestWithArrayNumpy.tearDownw  rc   r   c                 n    SSK JnJn  U R                  nSnU R
                  nU R                   Vs/ s H
  oa" XV5      PM     nn[        R                  " 5       [        R                  :X  a  U" XR" S5      5      nOU" XR" S5      5      nU R                   GH  n	U	R                  5       n
U GHp  nUR                  U
:  a  U R                  [        [        X5        M1  SUS'   U R!                  U	R#                  5       5        [        X5        U R!                  U	R#                  5       5        U R$                   He  u  p['        U	R)                  U5      5      nX   nU R+                  UUSUUU	R-                  5       U	R/                  5       UR                  U4-  5        Mg     U	R1                  5       S   (       d  GM  S	nU	R3                  X5        [        X5        ['        U	R)                  U5      5      nX   nU R+                  XS
XU	R/                  5       4-  5        GMs     SUS'   U R!                  U	R#                  5       5        [        X5        U R!                  U	R#                  5       5        U R$                   Hd  u  p['        U	R)                  U5      5      nX   nU R+                  UUSXU	R-                  5       U	R/                  5       WR                  U4-  5        Mf     U	R1                  5       S   (       d  GMh  S	nU	R3                  X5        U R!                  U	R#                  5       5        [        X5        U R!                  U	R#                  5       5        ['        U	R)                  U5      5      nX   nU R+                  XS
XU	R/                  5       4-  5        GM
     g ! [         a     g f = fs  snf )Nr   emptydtyperi   >u4<u4.z2%s != %s: flags: %i, bpp: %i, dtype: %s,  posn: %sr+   rn   ro   )r   r   r   ImportErrorrA   rD   r   r1   get_sdl_byteorder
LIL_ENDIANr8   r   r   rw   rx   r   ru   rv   ry   r   rz   r{   r|   rq   r}   r~   )r:   r   r   rH   r   dst_dimsr   destinationsswapped_dstrJ   src_bytesizer   r   r   r   r   s                   r   r   4PixelCopyTestWithArrayNumpy.test_surface_to_array_2dz  sK   	* ##$>>48NNCNqh*NC##%):)::%,7K%,7KLLD,,.L#<<,.%%j2BCNC  !23 +  !23#//GD#D$6$6t$<=BB$$:  NN, ,,.II 	  0$ >>#A&&!DKK2$S/#D$6$6t$<=BB$$ 3rt?O?O?Q6R RA $H  !KT__./[/T__./++ 2 24 89 &  6t~~/1A1A1CSYYPTUV , ~~""D.  !23 3  !23 2 24 89 &  /24;K;K;M2NN{ !  		 Ds   N" N2"
N/.N/c                 (    SSK JnJn  U R                  nU R
                  S-   nU R                   Vs/ s H
  oQ" XE5      PM     nn[        R                  " 5       [        R                  :X  a  U" XB" S5      5      nOU" XB" S5      5      nU R                   GHc  nUR                  5       n	U GH&  n
SU
S'   U R                  UR                  5       5        [        X5        U R                  UR                  5       5        U R                   H  u  pUR!                  U5      u  pnnX   u  nnnU R#                  UUSUXR%                  5       UR                  5       U4-  5        U R#                  UUSUXR%                  5       UR                  5       U4-  5        U R#                  UUS	UXR%                  5       UR                  5       U4-  5        M     GM)     SUS'   U R                  UR                  5       5        [        Xx5        U R                  UR                  5       5        U R                   H  u  pUR!                  U5      u  pnnX{   u  nnnU R#                  UUSUXR%                  5       UR                  5       U4-  5        U R#                  UUSUXR%                  5       UR                  5       U4-  5        U R#                  UUS	UXR%                  5       UR                  5       U4-  5        M     GMf     g ! [         a     g f = fs  snf )
Nr   r   )r+   r   r   .z2%i != %i, color: red, flags: %i, bpp: %i, posn: %sz4%i != %i, color: green, flags: %i, bpp: %i, posn: %sz3%i != %i, color: blue, flags: %i, bpp: %i, posn: %s)r   r   r   r   rA   rD   r   r1   r   r   r8   rq   ru   rv   r   ry   r   r{   r|   )r:   r   r   rH   r   r   r   r   rJ   r   r   r   r   r_surfg_surfb_surfa_surfr_arrg_arrb_arrs                       r   r   4PixelCopyTestWithArrayNumpy.test_surface_to_array_3d  s
   	* ##>>D(48NNCNqh*NC##%):)::%,7K%,7KLLD**,K#C  !23 +  !23#//GD59[[5F2FFF*-)'E5%$$. &..*:D<L<L<NPTUV $$. &..*:D<L<L<NPTUV $$. &..*:D<L<L<NPTUV#  0 $<  !KT__./[/T__./++15T1B.&1&7#ue  *fnn&68H8H8JDQR   *fnn&68H8H8JDQR   *fnn&68H8H8JDQR# ,I !  		 Ds   K? L?
LLc                 $    SSK JnJnJnJnJn  [        R                  " SSS5      nU" / SQU5      nU" SU5      n[        XU5        U R                  U" XR                  U5      :H  5      5        U" / SQ/ SQ/ S	Q/U5      n	U" S
U	R                  S   4U5      n[        XU5        U" U	 V
s/ s H  oR                  U
5      PM     sn
U5      nU R                  U" X:H  5      5        U" / SQ// SQ// SQ// S	Q//U5      n	U" U	R                  S   S4U5      n[        XU5        U" U	S S 2S4    V
s/ s H  oR                  U
5      /PM     sn
U5      nU R                  U" X:H  5      5        S
nSnU" XS4U5      nU" U4U5      nU R                  [        [        XU5        U" SXS-   4U5      nU R                  [        [        XU5        U" SUS-
  S4U5      nU R                  [        [        XU5        g ! [         a     g f = fs  sn
f s  sn
f )Nr   )arrayzerosr   int32allr   r   )r*      ;   )r'      )r)   r'   r   )r*         )%   5   r   r&   )r*   r   r0   )r   r   r   r+   r'   r"   r%   )r   r   r   r   r   r   r   r1   rC   r   
assertTruer   shaperw   rx   )r:   r   r   r   r   alltruerJ   r   r   striperK   target_striper   r   r   s                  r   r   *PixelCopyTestWithArrayNumpy.test_map_array  s   	HH ~~fa, lE*vu%&&,,u*= =>? 	<?G6<<?+U3&$'?1||A?G 789 [<.<.=/JE
 Q+U3&$'&A,G,QQ0,GO 789 ay%(tU#*iFA1u~u-*iFAE1~u-*iFO  		  @ Hs   G8 ,H1H8
HH)r   r8   r   rY   )r   r   r   r   r   r1   	surfarrayuse_arraytyper   __tags__rr   rA   rD   ry   pixels2dpixels3darray2darray3dr6   rL   rU   r7   ra   rf   r   r   r   	NameErrorr   r   r   r   r   r   "  s    0 	&&w/HL I	K HBxHG2hG",	,
ObJX*G`
 W	  3123F	   $$s#   A- 'A= -
A:9A:=
BBr   znewbuf not implementedc                       \ rS rSr\R
                  (       a0  SSKJr   " S S\R                  5      r	 " S S\R                  5      r
\R                  " SSS	5      rS
 rS rS rS rS rS rS rSrg)PixelCopyTestWithArrayNewBufiT  r   )buftoolsc                   .   ^  \ rS rSrU 4S jrS rSrU =r$ )$PixelCopyTestWithArrayNewBuf.Array2DiZ  c                    > SSK JnJnJn  [        R
                  n[        TU ]  SSSS9  U" U R                  U" U5      5      U l	        [        U5       H  u  pgXpR                  U'   M     g )Nr   )castPOINTERc_uint32r+   r'   =I)r   r&   formatstrides)ctypesr  r  r  r  Array2Dsuperr6   bufcontent	enumerate)	r:   initializerr  r  r  r  r   v	__class__s	           r   r6   -PixelCopyTestWithArrayNewBuf.Array2D.__init__[  s[    ::6>> g F#DHHgh.?@%k2DA&'LLO 3r   c                 r    US   S-  US   -   nSUs=::  a  S:  d  O  [        SU5      eU R                  U   $ )Nr   r'   r%      %s is out of range
IndexErrorr   r:   key
byte_indexs      r   __getitem__0PixelCopyTestWithArrayNewBuf.Array2D.__getitem__d  sB     VaZ#a&0
Z,",$%93??||J//r   r   r   r   r   r   r6   r.  r   __classcell__r$  s   @r   r  r  Z      (0 0r   r  c                   .   ^  \ rS rSrU 4S jrS rSrU =r$ )$PixelCopyTestWithArrayNewBuf.Array3Dij  c                    > SSK JnJnJn  [        R
                  n[        TU ]  SSSS9  U" U R                  U" U5      5      U l	        [        U5       H  u  pgXpR                  U'   M     g )Nr   )r  r  c_uint8)r+   r'   r+   B)r   r&   r%   r  )r  r  r  r8  r  Array3Dr  r6   r  r   r!  )	r:   r"  r  r  r8  r:  r   r#  r$  s	           r   r6   -PixelCopyTestWithArrayNewBuf.Array3D.__init__k  s[    996>> 3
 K#DHHgg.>?%k2DA&'LLO 3r   c                     US   S-  US   S-  -   US   -   nSUs=::  a  S:  d  O  [        SU5      eU R                  U   $ )Nr   r   r%   r&   r)   r   r(  r)  r+  s      r   r.  0PixelCopyTestWithArrayNewBuf.Array3D.__getitem__t  sO     Vb[3q6A:5A>
Z,",$%93??||J//r   r0  r1  r3  s   @r   r:  r6  j  r4  r   r:  r  r   c           	          U R                   n[        S5       H1  n[        S5       H  nUR                  X24US-   SUS-   45        M!     M3     g )Nr'   r+   r%   r   )surfacer   r~   )r:   rJ   r   r   s       r   ra   "PixelCopyTestWithArrayNewBuf.setUp|  sF    ||qA1XQFQUAq1u$56  r   c                     [        SS5       H<  n[        SS5       H)  nU R                  UR                  X445      X#U4   5        M+     M>     g )Nr   r+   r'   )r   r{   rz   )r:   r?  r   r   r   s        r   assertCopy2D)PixelCopyTestWithArrayNewBuf.assertCopy2D  sE    q!A1a[  !6!6v!>dL ! r   c                    U R                  [        SS5      5      nU R                  UR                  S   U R                  R                  S5      5        [        XR                  5        U R                  U R                  U5        g Nr   r'  r$   )r  r   assertNotEqualr   r?  rz   r   rB  r:   r   s     r   test_surface_to_array_newbuf9PixelCopyTestWithArrayNewBuf.test_surface_to_array_newbuf  s^    U1b\*EMM!,dll.H.H.PQ-$,,.r   c                    U R                  [        SS5      5      nU R                  UR                  S   U R                  R                  S5      5        [        U R                  U5        U R                  U R                  U5        g rE  )r  r   rF  r   r?  rz   r   rB  rG  s     r   test_array_to_surface_newbuf9PixelCopyTestWithArrayNewBuf.test_array_to_surface_newbuf  s`    U1b\*EMM!,dll.H.H.PQu-$,,.r   c           	         U R                  S/S-  5      n[        SS5       Vs/ s H  o"SU-
  S-  -   S-   PM     nnU R                  U5      n[        XU R                  5        [        SS5       HY  n[        SS5       HF  nXEUS4   XEUS4   XEUS	4   4nU R                  U R                  R                  XU4   5      U5        MH     M[     g s  snf )
Nr   r'  r   r   i  c r+   r'   r%   r)   )r  r   r:  r   r?  r{   	unmap_rgb)r:   array2Dr   elementsarray3Dr   r   r   s           r   test_map_array_newbuf2PixelCopyTestWithArrayNewBuf.test_map_array_newbuf  s    ,,sRx(=B1b\J\qA&(3\J,,x('DLL1q!A1a[q!G$gAg&61a8HH  !7!71!FJ !  Ks   Cc                 t    U R                  [        SSS5      5      n[        U5      nU R                  X!5        g )Nr      )r  r   r   rB  )r:   r   r?  s      r   test_make_surface_newbuf5PixelCopyTestWithArrayNewBuf.test_make_surface_newbuf  s1    U2sB/0u%')r   c           	         U R                   R                  nU R                  nUR                  5       nUu  pES H  nUR	                  S5        U" X6S9nS/UR
                  -  UR                  S S & [        X'5        [        U5       H7  n[        U5       H%  n	U R                  UR                  X45      S5        M'     M9     M     S H$  nU" X6S9nU R                  [        [        X'5        M&     g )N)z=ir  z=lz=Lz=qz=Qz<iz>iz!i1iz=1iz@qq4x8x)r         )r  *   )r_  r_  r_  r   )fd?r   1x2x3x5x6x7x9x)r  Exporterr?  rs   rS   buflen_bufr   r   r{   r   rw   rx   )
r:   rj  r?  r  r   r   r  expr   r   s
             r   test_format_newbuf/PixelCopyTestWithArrayNewBuf.test_format_newbuf  s    ==)),,  "
F" LL)50C$+CHHQKW*1XqA$$W^^QF%;=NO " +
2 UF50Cj*:GI Ur   r   N)r   r   r   r   r1   HAVE_NEWBUFpygame.tests.test_utilsr  rj  r  r:  rC   r?  ra   rB  rH  rK  rR  rV  rn  r   r   r   r   r  r  T  sn     4	0h'' 	0 	0h'' 	0  nnVQ+G7M
//K*
 Jr   r  __main__)platformr4   rq  r   r  r1   pygame.localspygame.pixelcopyr   r   r   r   python_implementationr   r   skipIfr5   r   r   rp  r  r   mainr   r   r   <module>ry     s     	0   X X
H224
4
 
BCJF(++ JF DJFZ 
BCn("3"3 n Dnb	 
V''')AB	BClJ8#4#4 lJ D ClJ^ zMMO   		s   C; ;DD