
    4hhLo                     D   S SK r S SKrS SKJr  S SKJr  S SKJrJrJ	r	  \R                  " S5         " S S\\ R                  5      r " S S	\\ R                  5      r " S
 S\\ R                  5      r " S S\\ R                  5      r\S:X  a  \ R"                  " 5         gg)    N)support)	os_helper)AbstractTkTestAbstractDefaultRootTestrequires_tkguic                        \ rS rSrS rS rSrg)MiscTest
   c                     U R                   R                  5       nU R                  U[        5        U R	                  SU5        U R	                  SU5        g Nphotobitmap)rootimage_typesassertIsInstancetupleassertIn)selfr   s     F/opt/python-3.13.8/usr/lib/python3.13/test/test_tkinter/test_images.pytest_image_typesMiscTest.test_image_types   s@    ii++-k51g{+h,    c                 d    U R                   R                  5       nU R                  U[        5        g N)r   image_namesr   r   )r   r   s     r   test_image_namesMiscTest.test_image_names   s$    ii++-k51r    N)__name__
__module____qualname____firstlineno__r   r   __static_attributes__r   r   r   r
   r
   
   s    -2r   r
   c                   ,    \ rS rSrS rS rS rS rSrg)DefaultRootTest   c                    U R                  [        [        R                  5        [        R                  " 5       n[        R                  " 5       nU R                  U[        5        U R                  SU5        U R                  SU5        UR                  5         [        R                  " 5         U R                  [        [        R                  5        g r   )
assertRaisesRuntimeErrortkinterr   Tkr   r   r   destroyNoDefaultRoot)r   r   r   s      r   r    DefaultRootTest.test_image_types   s    ,(;(;<zz|))+k51g{+h,,(;(;<r   c                 ^   U R                  [        [        R                  5        [        R                  " 5       n[        R                  " 5       nU R                  U[        5        UR                  5         [        R                  " 5         U R                  [        [        R                  5        g r   )	r)   r*   r+   r   r,   r   r   r-   r.   )r   r   r   s      r   r    DefaultRootTest.test_image_names$   sl    ,(;(;<zz|))+k51,(;(;<r   c                    U R                  [        [        R                  5        [        R                  " 5       n[        R                  " 5       nU R                  UR                  [        R                  " 5       5        UR                  5         [        R                  " 5         U R                  [        [        R                  5        g r   )
r)   r*   r+   BitmapImager,   r   namer   r-   r.   r   r   images      r   test_image_create_bitmap(DefaultRootTest.test_image_create_bitmap-   sw    ,(;(;<zz|##%ejj'"5"5"78,(;(;<r   c                    U R                  [        [        R                  5        [        R                  " 5       n[        R                  " 5       nU R                  UR                  [        R                  " 5       5        UR                  5         [        R                  " 5         U R                  [        [        R                  5        g r   )
r)   r*   r+   
PhotoImager,   r   r4   r   r-   r.   r5   s      r   test_image_create_photo'DefaultRootTest.test_image_create_photo6   sw    ,(:(:;zz|""$ejj'"5"5"78,(:(:;r   r   N)	r    r!   r"   r#   r   r   r7   r;   r$   r   r   r   r&   r&      s    	===<r   r&   c                   T    \ rS rSr\S 5       rS rS rS rS r	S r
S rS	 rS
 rSrg)BitmapImageTest@   c                 v    [         R                  R                  U 5        [        R                  " SSS9U l        g )Nz
python.xbmtkinterdatasubdirr   
setUpClass__func__r   findfiletestfileclss    r   rE   BitmapImageTest.setUpClassB   *    !!**3/'']Kr   c                 &   [         R                  " SU R                  SSU R                  S9nU R	                  [        U5      S5        U R	                  UR                  5       S5        U R	                  UR                  5       S5        U R	                  UR                  5       S5        U R                  SU R                  R                  5       5        A[        R                  " 5         U R                  SU R                  R                  5       5        g )N::img::testyellowblue)master
foreground
backgroundfiler      )r+   r3   r   rH   assertEqualstrtypewidthheightr   r   r   
gc_collectassertNotInr   r6   s     r   test_create_from_file%BitmapImageTest.test_create_from_fileG   s    ##M$))/7F)-8 	U]3x0+,mTYY%:%:%<=		(=(=(?@r   c                    [        U R                  S5       nUR                  5       nS S S 5        [        R                  " SU R
                  SSWS9nU R                  [        U5      S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  SU R
                  R                  5       5        A[        R                  " 5         U R                  SU R
                  R                  5       5        g ! , (       d  f       GN= f)NrbrN   rO   rP   )rQ   rR   rS   datar   rU   )openrH   readr+   r3   r   rV   rW   rX   rY   rZ   r   r   r   r[   r\   )r   frb   r6   s       r   test_create_from_data%BitmapImageTest.test_create_from_dataT   s    $--&!668D '##M$))/7F)-/ 	U]3x0+,mTYY%:%:%<=		(=(=(?@ '&s   D88
Ec                     U R                  U[        5        U R                  U R                  R	                  U5      U5        g r   )r   rW   rV   r   	splitlist)r   actualexpecteds      r   assertEqualStrList"BitmapImageTest.assertEqualStrListc   s1    fc*,,V4h?r   c           
      v   [         R                  " SU R                  S9nU R                  US   S5        [	        U R
                  S5       nUR                  5       nS S S 5        UR                  WS9  U R                  US   SSSSUR                  S	5      45        U R                  UR                  5       S
5        U R                  UR                  5       S
5        U R                  US   S5        UR                  US9  U R                  US   SSSSUR                  S	5      45        g ! , (       d  f       N= f)NrN   rQ   rb   z-data {} {} {} {}ra   rb   z-data asciirU   maskdataz-maskdata {} {} {} {})rs   z	-maskdata)r+   r3   r   rV   rc   rH   rd   	configurerl   decoderY   rZ   r   r6   re   rb   s       r   test_configure_data#BitmapImageTest.test_configure_datag   s   ##M$))Dv(;<$--&!668D 'T"f!("b"dkk'6J K	M+,z*,CD&j 1!,b"b$++g:N O	Q '&s   D**
D8c                 
   [         R                  " SU R                  S9nU R                  US   S5        UR	                  U R
                  S9  U R                  US   SSSSU R
                  45        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  US	   S
5        UR	                  U R
                  S9  U R                  US	   SSSSU R
                  45        g )NrN   ro   rT   z-file {} {} {} {}rT   z-filerq   rU   maskfilez-maskfile {} {} {} {})r{   z	-maskfile)	r+   r3   r   rV   rt   rH   rl   rY   rZ   r]   s     r   test_configure_file#BitmapImageTest.test_configure_filew   s    ##M$))Dv(;<T]]+f!("b"T]] C	E+,z*,CD/j 1!,b"b$-- H	Jr   c                     [         R                  " SU R                  S9nU R                  US   S5        UR	                  SS9  U R                  US   S5        g )NrN   ro   rS   z-background {} {} {} {}rP   rS   z-background {} {} {} bluer+   r3   r   rV   rt   r]   s     r   test_configure_background)BitmapImageTest.test_configure_background   sR    ##M$))D|,.GH6*|,.IJr   c                     [         R                  " SU R                  S9nU R                  US   S5        UR	                  SS9  U R                  US   S5        g )NrN   ro   rR   z!-foreground {} {} #000000 #000000rO   )rR   z -foreground {} {} #000000 yellowr   r]   s     r   test_configure_foreground)BitmapImageTest.test_configure_foreground   sV    ##M$))D|,<	>8,|,;	=r   c                    U R                  [        R                  5         [        R                  " SU R                  [
        S9  S S S 5        [        R                  " SU R                  S9nU R                  [        R                  5         UR                  [
        S9  S S S 5        g ! , (       d  f       Ni= f! , (       d  f       g = fNrN   )rQ   spamro   )r   )r)   r+   TclErrorr3   r   printrt   r]   s     r   test_bug_100814BitmapImageTest.test_bug_100814   s    w//0diieL 1##M$))Dw//0OOO' 10 10 10   %B(B9(
B69
Cr   N)r    r!   r"   r#   classmethodrE   r^   rf   rl   rw   r|   r   r   r   r$   r   r   r   r>   r>   @   sD    L LAA@Q JK=(r   r>   c                      \ rS rSr\S 5       rS rS rS rS r	S r
S rS	 rS
 rS rS r\" SS5      S 5       r\" SS5      S 5       rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S  r"S! r#S" r$S# r%S$ r&S%r'g&)'PhotoImageTest   c                 v    [         R                  R                  U 5        [        R                  " SSS9U l        g )Nz
python.gifrA   rB   rD   rI   s    r   rE   PhotoImageTest.setUpClass   rL   r   c                 V    [         R                  " SU R                  U R                  S9$ )NrN   rQ   rT   )r+   r:   r   rH   r   s    r   createPhotoImageTest.create   s$    !!-		'+}}6 	6r   c                 |    [         R                  S:  a  U R                  (       a  U$ [         R                  " U5      $ )N333333!@)r+   	TkVersionwantobjects_join)r   argss     r   	colorlistPhotoImageTest.colorlist   s,    #(8(8K==&&r   c                    [         R                  " SU-   SS9n[        R                  " SU R                  US9nU R                  [        U5      S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  US   S	5        U R                  US
   U5        U R                  SU R                  R                  5       5        A[         R                  " 5         U R                  SU R                  R                  5       5        g )Npython.rA   rB   rN   r   r   rU   rb   rq   rT   )r   rG   r+   r:   r   rV   rW   rX   rY   rZ   r   r   r[   r\   )r   extrH   r6   s       r   check_create_from_file%PhotoImageTest.check_create_from_file   s    ##IOMJ""=(02U]3w/+,v+v1mTYY%:%:%<=		(=(=(?@r   c                 D   [         R                  " SU-   SS9n[        US5       nUR                  5       nS S S 5        [        R
                  " SU R                  WS9nU R                  [        U5      S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  US	   U R                  (       a  UOUR                  S
5      5        U R                  US   S5        U R                  SU R                  R                  5       5        A[         R                   " 5         U R#                  SU R                  R                  5       5        g ! , (       d  f       GNa= f)Nr   rA   rB   ra   rN   )rQ   rb   r   rU   rb   latin1rT   rq   )r   rG   rc   rd   r+   r:   r   rV   rW   rX   rY   rZ   r   ru   r   r   r[   r\   )r   r   rH   re   rb   r6   s         r   check_create_from_data%PhotoImageTest.check_create_from_data   s4   ##IOMJ(D!Q668D """=(,.U]3w/+,v0@0@-1[[-B	Dv+mTYY%:%:%<=		(=(=(?@ "!s   F
Fc                 &    U R                  S5        g Nppmr   r   s    r   test_create_from_ppm_file(PhotoImageTest.test_create_from_ppm_file       ##E*r   c                 &    U R                  S5        g r   r   r   s    r   test_create_from_ppm_data(PhotoImageTest.test_create_from_ppm_data   r   r   c                 &    U R                  S5        g Npgmr   r   s    r   test_create_from_pgm_file(PhotoImageTest.test_create_from_pgm_file   r   r   c                 &    U R                  S5        g r   r   r   s    r   test_create_from_pgm_data(PhotoImageTest.test_create_from_pgm_data   r   r   c                 &    U R                  S5        g Ngifr   r   s    r   test_create_from_gif_file(PhotoImageTest.test_create_from_gif_file   r   r   c                 &    U R                  S5        g r   r   r   s    r   test_create_from_gif_data(PhotoImageTest.test_create_from_gif_data   r   r         c                 &    U R                  S5        g Npngr   r   s    r   test_create_from_png_file(PhotoImageTest.test_create_from_png_file       ##E*r   c                 &    U R                  S5        g r   r   r   s    r   test_create_from_png_data(PhotoImageTest.test_create_from_png_data   r   r   c                    [         R                  " SU R                  S9nU R                  US   S5        [	        U R
                  S5       nUR                  5       nS S S 5        UR                  WS9  U R                  US   U R                  (       a  UOUR                  S5      5        U R                  UR                  5       S5        U R                  UR                  5       S5        g ! , (       d  f       N= f)	NrN   ro   rb   rq   ra   rp   r   rU   )r+   r:   r   rV   rc   rH   rd   rt   r   ru   rY   rZ   rv   s       r   rw   "PhotoImageTest.test_configure_data   s    ""=Cv+$--&!668D 'T"v0@0@-1[[-B	D+, '&s   C++
C9c                 p   [         R                  " SU R                  S9nU R                  US   S5        UR	                  U R
                  SS9  U R                  US   U R                  (       a  SOS5        U R                  UR                  5       S5        U R                  UR                  5       S5        g )	NrN   ro   formatrq   r   )rT   r   )r   rU   )	r+   r:   r   rV   rt   rH   r   rY   rZ   r]   s     r   test_configure_format$PhotoImageTest.test_configure_format   s    ""=Cx"-T]]59xd6F6F(/4	6+,r   c                 \   [         R                  " SU R                  S9nU R                  US   S5        UR	                  U R
                  S9  U R                  US   U R
                  5        U R                  UR                  5       S5        U R                  UR                  5       S5        g )NrN   ro   rT   rq   rz   rU   )r+   r:   r   rV   rt   rH   rY   rZ   r]   s     r   r|   "PhotoImageTest.test_configure_file   s    ""=Cv+T]]+v6+,r   c                     [         R                  " SU R                  S9nU R                  US   S5        UR	                  SS9  U R                  US   S5        g )NrN   ro   gammaz1.0g       @)r   z2.0r+   r:   r   rV   rt   r]   s     r   test_configure_gamma#PhotoImageTest.test_configure_gamma  sN    ""=Cw/c"w/r   c                    [         R                  " SU R                  S9nU R                  US   S5        U R                  US   S5        UR	                  SS9  UR	                  SS	9  U R                  US   S
5        U R                  US   S5        U R                  UR                  5       S5        U R                  UR                  5       S5        g )NrN   ro   rY   0rZ      )rY   r   )rZ   2010)r+   r:   r   rV   rt   rY   rZ   r]   s     r   test_configure_width_height*PhotoImageTest.test_configure_width_height
  s    ""=Cw-x#.b!r"w.x$/+,r   c                     [         R                  " SU R                  S9nU R                  US   S5        UR	                  SS9  U R                  US   S5        UR	                  SS9  U R                  US   S5        g )	NrN   ro   paletterq      )r   256z3/4/2r   r]   s     r   test_configure_palette%PhotoImageTest.test_configure_palette  ss    ""=Cy)2.$y)51(y)73r   c                    U R                  [        R                  5         [        R                  " SU R                  [
        S9  S S S 5        [        R                  " SU R                  S9nU R                  [        R                  5         UR                  [
        S9  S S S 5        g ! , (       d  f       Ni= f! , (       d  f       g = fr   )r)   r+   r   r:   r   r   rt   r]   s     r   r   PhotoImageTest.test_bug_100814  s    w//0}TYYUK 1""=Cw//0OOO' 10 10 10r   c                 *   U R                  5       nUR                  5         U R                  UR                  5       S5        U R                  UR	                  5       S5        U R                  UR                  SS5      U R                  SSS5      5        g )NrU      r   r   )r   blankrV   rY   rZ   getr   r]   s     r   
test_blankPhotoImageTest.test_blank%  si    +,1a$..Aq*ABr   c                  	   U R                  5       nUR                  5       nU R                  UR                  5       S5        U R                  UR	                  5       S5        U R                  UR                  SS5      UR                  SS5      5        UR                  SS9nU R                  UR                  5       S5        U R                  UR	                  5       S5        U R                  UR                  SS5      UR                  S	S
5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  S	S5      UR                  SS5      5        UR                  SS	S9nU R                  UR                  5       S5        U R                  UR	                  5       S5        U R                  UR                  SS5      UR                  S	S
5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        UR                  SS	S9nU R                  UR                  5       S5        U R                  UR	                  5       S5        U R                  UR                  SS5      UR                  S	S
5      5        U R                  UR                  SS
5      UR                  SS5      5        U R                  UR                  S
S	5      UR                  SS5      5        UR                  SS	S
S9nU R                  UR                  5       S5        U R                  UR	                  5       S5        U R                  UR                  SS5      UR                  S	S
5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  S
S5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        g )NrU   r   r               from_coords   r   r   r   r   r         r   r   zoom   r'         	   r   	subsampler   r  r         )r   copyrV   rY   rZ   r   r   r6   image2s      r   	test_copyPhotoImageTest.test_copy,  sq   ,"-Aq)599Q?;7,!,Aq)599Q?;B*EIIb",=>Aq)599S#+>?Q?,"-Aq)599Q?;B+UYYr2->?C-uyyc/BCE51599S#3FG!D+!,Aq)599Q?;Aq)599R+;<Aq)599UE+BC!!L,"-Aq)599Q?;B+UYYr1-=>C-uyy/FGE51599UE3JKr   c                    U R                  5       nUR                  SS5      nU R                  UR                  5       S5        U R                  UR	                  5       S5        U R                  UR                  SS5      UR                  SS5      5        UR                  S5      nU R                  UR                  5       S5        U R                  UR	                  5       S5        U R                  UR                  SS5      UR                  SS5      5        UR                  SSS9nU R                  UR                  5       S5        U R                  UR	                  5       S5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  S	S5      UR                  S
S5      5        U R                  UR                  SS5      UR                  SS5      5        g )Nr   r   r   r   r   r   r   r   r  r   r     r   )r   r  rV   rY   rZ   r   r	  s      r   test_subsamplePhotoImageTest.test_subsampleQ  s|   A&+!,Aq)599Q?;#+!,Aq)599Q?;?+!,Aq)599Q?;Aq)599R+;<Aq)599UE+BCr   c                 *   U R                  5       nUR                  SS5      nU R                  UR                  5       S5        U R                  UR	                  5       S5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  S	S
5      UR                  SS5      5        UR                  S5      nU R                  UR                  5       S5        U R                  UR	                  5       S5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  S	S5      UR                  SS5      5        UR                  SSS9nU R                  UR                  5       S5        U R                  UR	                  5       S5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  SS	5      UR                  SS5      5        g )Nr   r       0   r   r  r   r   r  r   r   r   r   r   r   rU   r   r'   r   r   r   r  )r   r   rV   rY   rZ   r   r	  s      r   	test_zoomPhotoImageTest.test_zoomd  s   Aq!,"-Ar*EIIaO<Ar*EIIaO<A,"-Ar*EIIaO<Ar*EIIaO<A>:,"-Aq)599Q?;B+UYYr2->?C-uyyc/BCE51599S#3FGr   c                    U R                  5       n[        R                  " U R                  S9nUR	                  U5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  SS5      UR                  SS5      5        [        R                  " U R                  S9nUR	                  USS9  U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  S	S	5      UR                  S
S5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  S
S5      UR                  SS5      5        [        R                  " U R                  S9nUR	                  U5        UR	                  USSS9  U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  S	S	5      UR                  S
S5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  S
S5      UR                  SS5      5        [        R                  " U R                  S9nUR	                  USSS9  U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  SS5      UR                  S
S5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        [        R                  " U R                  S9nUR	                  USSS9  U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  S	S	5      UR                  S
S5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  S
S5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  S
S5      UR                  SS5      5        [        R                  " U R                  S9nUR	                  USS
S9  U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  S	S	5      UR                  S
S5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        [        R                  " U R                  S9nUR	                  USS
S 9  U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  S	S	5      UR                  S
S5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  S!S
5      UR                  SS5      5        [        R                  " U R                  S9nUR	                  USS
SS"9  U R                  UR                  5       S#5        U R                  UR                  5       S5        U R                  UR                  S	S	5      UR                  S
S5      5        U R                  UR                  S$S5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        g )%Nro   rU   r   r   r   r   r   r   r   r   r   r   r   r   r   Tr   shrinkr   r   r   tor   r   r  )r   r   d   2   r  r        r   r   r'   r  r  r  r  r  r  )	r   r+   r:   r   copy_replacerV   rY   rZ   r   r	  s      r   test_copy_replace PhotoImageTest.test_copy_replacez  s   ##4995E","-Aq)599Q?;##4995E~>,!,Aq)599Q?;B*EIIb",=>Aq)599S#+>?##4995E"E~dK,!,Aq)599Q?;B*EIIb",=>Aq)599S#+>?##4995E~&I,"-C-uyyA?D#.		"b0ABC-uyyc/BC##4995E~/R-"-Aq)599Q?;B*EIIb",=>Aq)599S#+>?D#.		#s0CDFA.		#s0CDAu-uyyc/BC##4995E~AF,"-Aq)599Q?;B+UYYr2->?C-uyyc/BCE51599S#3FG##4995E~K+!,Aq)599Q?;Aq)599R+;<Aq)599UE+BC##4995E~QRS,"-Aq)599Q?;B+UYYr1-=>C-uyy/FGE51599UE3JKC-uyy/FGE51599UE3JKr   c           	          [        UR                  5       5       VVs1 s H?  n[        UR                  5       5        H  nUR                  X45      (       d  M  X44iM      MA     nnnU R	                  XR5        g s  snnf r   )rangerY   rZ   transparency_getrV   )r   r6   rk   xyrj   s         r   checkImgTransPhotoImageTest.checkImgTrans  sl     /3/a 0a++A1 1&0 / 	 3 	*	3s   7A8A8c                    [         R                  " U R                  SSS9nUR                  5         UR	                  SSS9  UR                  SSS5        [         R                  " U R                  SSS9nUR                  5         UR	                  S	SS9  UR                  US
S9  U R                  USS15        [         R                  " U R                  SSS9nUR                  5         UR	                  S	SS9  UR                  US
SS9  U R                  USS15        [         R                  " U R                  SSS9nUR                  5         UR	                  S	SS9  UR                  US
SS9  U R                  U1 Sk5        g )Nr   )rQ   rY   rZ   black)r   r   r   r   r  r   Tr   whiter  r  r   r   r   r   overlay)r  compositingruleset>   r/  r.  r0  )r+   r:   r   r   puttransparency_setr   r(  )r   image1r
  image3image4s        r   !test_copy_replace_compositingrule0PhotoImageTest.test_copy_replace_compositingrule  sR   ##499AaH

7|
,1d+ ##499AaH

7|
,Fv.6FF#34##499AaH

7|
,FvyI6FF#34##499AaH

7|
,FvuE6#;<r   c                    U R                  5       nUR                  SSS9  U R                  UR                  SS5      U R	                  SSS5      5        U R                  UR                  SS5      U R	                  S[
        R                  S	:  a  S
OSS5      5        U R                  UR                  SS5      U R	                  SSS5      5        U R                  UR                  SS5      U R	                  SSS5      5        UR                  S5        U R                  UR                  SS5      U R	                  SSS5      5        U R                  UR                  SS5      U R	                  SSS5      5        U R                  UR                  SS5      U R	                  SSS5      5        U R                  UR                  SS5      U R	                  SSS5      5        g )Nz{red green} {blue yellow})r   r   r,  r   r      r   r  r      r   ))z#f00z#00ff00)z
#000000fffz#ffffffff0000r  )r   r4  rV   r   r   r+   r   r]   s     r   test_putPhotoImageTest.test_put  sz   		-&	91a$..a*CD1a'2C2Cs2J303Q8	9 	1a$..As*CD1a$..c1*EF		HI1a$..a*CD1a$..C*CD1a$..As*CD1a$..c1*EFr   c                    U R                  5       nU R                  UR                  SS5      U R                  SSS5      5        U R                  UR                  SS5      U R                  SSS5      5        U R                  UR                  SS5      U R                  SSS5      5        U R	                  [
        R                  UR                  SS5        U R	                  [
        R                  UR                  SS5        U R	                  [
        R                  UR                  S	S5        U R	                  [
        R                  UR                  SS	5        g )
Nr   r   >   t      r   r   rU   )r   rV   r   r   r)   r+   r   r]   s     r   test_getPhotoImageTest.test_get  s    1a$..S#*FG1a$..Aq*AB2r*DNN1a,CD'**EIIr1='**EIIq"='**EIIr2>'**EIIr2>r   c                 	   [         R                  " SSS9n[        R                  " U R                  US9n[        R                  " U R                  S9nUR                  U5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  S	S
5      UR                  S	S
5      5        U R                  [        R                  UR
                  U R                  S5        [        R                  " U R                  S9nUR                  USS9  U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  SS	5      UR                  S	S5      5        [        R                  " U R                  US9nU R                  UR                  5       S5        U R                  UR                  5       S5        UR                  USSS9  U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  SS	5      UR                  S	S5      5        [        R                  " U R                  S9nUR                  USSS9  U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR                  SS
5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        U R                  UR                  SS5      UR                  S	S5      5        g )Nz
python.ppmrA   rB   r   ro   r   rU   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Tr  r  r  r   r   r  )r   rG   r+   r:   r   rd   rV   rX   rY   rZ   r   r)   r   rH   )r   rH   r6   r
  s       r   	test_readPhotoImageTest.test_read  s    ##LG""$))(C##4995H0,"-Aq)599Q?;Aq)599Q?;'**FKKN##4995H.9,!,Aq)599Q?;B*EIIb",=>Aq)599S#+>?##4998D,"-H.F,!,Aq)599Q?;B*EIIb",=>Aq)599S#+>?##4995H.VD0,"-C-uyyA?D#.		"b0ABC-uyyc/BCr   c                 l   [         R                  nSS KnUR                  5       S   c  [         R                  nU R                  5       nU R                  [         R                  U5        UR                  U5        [        R                  " SU R                  SUS9nU R                  [        U5      S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR!                  5       S5        U R                  UR#                  SS5      UR#                  SS5      5        U R                  UR#                  SS5      UR#                  SS5      5        UR                  US	S
S9  [        R                  " SU R                  S	US9nU R                  [        U5      S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR!                  5       S5        U R                  UR#                  SS5      UR#                  SS5      5        U R                  UR#                  SS5      UR#                  SS5      5        UR                  USS9  [        R                  " SU R                  SUS9nU R                  UR#                  SS5      U R$                  (       a  SOS5        U R                  UR#                  SS5      UR#                  SS5      5        UR                  USS9  [        R                  " SU R                  SUS9nUR#                  SS5      nU R$                  (       d  UR'                  5       nU R)                  US   US   s=:H  =(       a    US   :H  Os  U5        g )Nr   ::img::test2r   )rQ   r   rT   r   rU   r   r   r   r   r   r   r  r   r   ::img::test3r   r   r  r  r   #ff0000r   ::img::test4r<  r   r   255 0 0T	grayscale::img::test5)r   TESTFNlocale	getlocaleTESTFN_ASCIIr   
addCleanupunlinkwriter+   r:   r   rV   rW   rX   rY   rZ   r   r   split
assertTrue)	r   filenamerW  r6   r
  r7  r8  image5cs	            r   
test_writePhotoImageTest.test_write(  s   ##a ( --H	(((3H##N499+0xAVn50,"-Aq)599Q?;Aq)599Q?;HUE##N499+0xAVn50+!,Aq)599Q?;Aq)599Q?;H3##N499+0xAAq)$:J:J;PYZAq)599Q?;H-##N499+0xAJJq!	A!!,,!,a0r   c                 *   U R                  5       nUR                  5       nU R                  U[        5        U H  nU R                  U[        5        M     UR                  SS5      nU R                  (       d'  [        [        [        UR                  5       5      5      nU R                  US   R                  5       S   SU-  5        UR                  S5      n[        R                  " SU R                  SUS9nU R                  [	        U5      S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR!                  5       S5        U R                  UR                  S	S	5      UR                  S	S	5      5        U R                  UR                  SS5      UR                  SS5      5        UR                  S
SS9n[        R                  " SU R                  S
US9nU R                  [	        U5      S5        U R                  UR                  5       S5        U R                  UR                  5       S5        U R                  UR!                  5       S5        U R                  UR                  S	S	5      UR                  SS5      5        U R                  UR                  SS5      UR                  SS5      5        UR                  SSS9n[        R                  " SU R                  SUS9nU R                  UR                  S	S	5      U R                  (       a  SOS5        U R                  UR                  SS5      UR                  SS5      5        UR                  SSS9n[        R                  " SU R                  SUS9nUR                  SS5      nU R                  (       d  UR                  5       nU R#                  US	   US   s=:H  =(       a    US   :H  Os  U5        g )Nr   r   z#%02x%02x%02xr   rK  )rQ   r   rb   r   rU   r   r   rL  rM  rN  r   r   r  r  r   rO  r   rP  rQ  rR  TrS  rU  )r   rb   r   r   rW   r   r   mapintr]  rV   r+   r:   r   rX   rY   rZ   r^  )	r   r6   rb   rowra  r
  r7  r8  r`  s	            r   	test_dataPhotoImageTest.test_dataS  s#   zz|dE*C!!#s+ IIaOc#qwwy)*Aa+_q-@Azz% ##N499+0t=Vn50,"-Aq)599Q?;Aq)599Q?;zzLzA##N499+0t=Vn50+!,Aq)599Q?;Aq)599Q?;zz%Iz6##N499+0t=Aq)$:J:J;PYZAq)599Q?;zz%4z0##N499+0t=JJq!	A!!,,!,a0r   c                    U R                  5       nU R                  UR                  SS5      S5        U R                  UR                  SS5      S5        UR                  SSS5        U R                  UR                  SS5      S5        UR                  SSS5        U R                  UR                  SS5      S5        g )Nr   Tr   r   F)r   rV   r%  r5  r]   s     r   test_transparency PhotoImageTest.test_transparency  s    //15t<//15u=q!T*//15t<q!U+//15u=r   r   N)(r    r!   r"   r#   r   rE   r   r   r   r   r   r   r   r   r   r   r   r   r   rw   r   r|   r   r   r   r   r   r  r  r  r!  r(  r9  r>  rE  rH  rb  rh  rk  r$   r   r   r   r   r      s    L L6'AA$++++++ A+ + A+ +	---0	-4(C#LJD&H,FLP+=2G ?*DX)1V,1^>r   r   __main__)unittestr+   testr   test.supportr   test.test_tkinter.supportr   r   r   requiresTestCaser
   r&   r>   r   r    mainr   r   r   <module>ru     s       " Z Z    
2~x00 
2&<-x/@/@ &<RY(nh&7&7 Y(xm>^X%6%6 m>` zMMO r   