
                      0   d dl Z d dlZd dlmZ d dlmZ d dlmZmZm	Z	  ej
        d            G d dee j                  Z G d d	ee j                  Z G d
 dee j                  Z G d dee j                  Zedk    r e j                     dS dS )    N)support)	os_helper)AbstractTkTestAbstractDefaultRootTestrequires_tkguic                       e Zd Zd Zd ZdS )MiscTestc                     | j                                         }|                     |t                     |                     d|           |                     d|           d S Nphotobitmap)rootimage_typesassertIsInstancetupleassertIn)selfr   s     s/nix/store/c6yb989sl77467xxwhylnkph1pqyi47p-python3-3.11.15/lib/python3.11/tkinter/test/test_tkinter/test_images.pytest_image_typeszMiscTest.test_image_types   sY    i++--k5111g{+++h,,,,,    c                 n    | j                                         }|                     |t                     d S N)r   image_namesr   r   )r   r   s     r   test_image_nameszMiscTest.test_image_names   s1    i++--k511111r   N)__name__
__module____qualname__r   r    r   r   r
   r
   
   s2        - - -2 2 2 2 2r   r
   c                   &    e Zd Zd Zd Zd Zd ZdS )DefaultRootTestc                    |                      t          t          j                   t          j                    }t          j                    }|                     |t                     |                     d|           |                     d|           |                                 t          j	                     |                      t          t          j                   d S r   )
assertRaisesRuntimeErrortkinterr   Tkr   r   r   destroyNoDefaultRoot)r   r   r   s      r   r   z DefaultRootTest.test_image_types   s    ,(;<<<z||)++k5111g{+++h,,,,(;<<<<<r   c                 j   |                      t          t          j                   t          j                    }t          j                    }|                     |t                     |                                 t          j                     |                      t          t          j                   d S r   )	r#   r$   r%   r   r&   r   r   r'   r(   )r   r   r   s      r   r   z DefaultRootTest.test_image_names$   s    ,(;<<<z||)++k5111,(;<<<<<r   c                    |                      t          t          j                   t          j                    }t          j                    }|                     |j        t          j                               |                                 t          j	                     |                      t          t          j                   d S r   )
r#   r$   r%   BitmapImager&   r   namer   r'   r(   r   r   images      r   test_image_create_bitmapz(DefaultRootTest.test_image_create_bitmap-   s    ,(;<<<z||#%%ej'"5"7"7888,(;<<<<<r   c                    |                      t          t          j                   t          j                    }t          j                    }|                     |j        t          j                               |                                 t          j	                     |                      t          t          j                   d S r   )
r#   r$   r%   
PhotoImager&   r   r,   r   r'   r(   r-   s      r   test_image_create_photoz'DefaultRootTest.test_image_create_photo6   s    ,(:;;;z||"$$ej'"5"7"7888,(:;;;;;r   N)r   r   r   r   r   r/   r2   r   r   r   r!   r!      sP        	= 	= 	== = == = =< < < < <r   r!   c                   T    e Zd Zed             Zd Zd Zd Zd Zd Z	d Z
d Zd	 Zd
S )BitmapImageTestc                 z    t           j                            |            t          j        dd          | _        d S )Nz
python.xbm
imghdrdatasubdirr   
setUpClass__func__r   findfiletestfileclss    r   r:   zBitmapImageTest.setUpClassB   4    !**3///'\JJJr   c                 ^   t          j        d| j        dd| j                  }|                     t          |          d           |                     |                                d           |                     |                                d           |                     |                                d           | 	                    d| j        
                                           ~t          j                     |                     d| j        
                                           d S )N::img::testyellowblue)master
foreground
backgroundfiler      )r%   r+   r   r=   assertEqualstrtypewidthheightr   r   r   
gc_collectassertNotInr   r.   s     r   test_create_from_filez%BitmapImageTest.test_create_from_fileG   s    #M$)/7F)-8 8 8 	U]333x000+++,,,mTY%:%:%<%<===	(=(=(?(?@@@@@r   c                    t          | j        d          5 }|                                }d d d            n# 1 swxY w Y   t          j        d| j        dd|          }|                     t          |          d           |                     |                                d           |                     |	                                d           |                     |
                                d           |                     d| j                                                   ~t          j                     |                     d| j                                                   d S )NrbrB   rC   rD   )rE   rF   rG   datar   rI   )openr=   readr%   r+   r   rJ   rK   rL   rM   rN   r   r   r   rO   rP   )r   frU   r.   s       r   test_create_from_dataz%BitmapImageTest.test_create_from_dataT   sn   $-&& 	!6688D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	#M$)/7F)-/ / / 	U]333x000+++,,,mTY%:%:%<%<===	(=(=(?(?@@@@@s   7;;c                     |                      |t                     |                     | j                            |          |           d S r   )r   rK   rJ   r   	splitlist)r   actualexpecteds      r   assertEqualStrListz"BitmapImageTest.assertEqualStrListc   sD    fc***,,V44h?????r   c           
         t          j        d| j                  }|                     |d         d           t	          | j        d          5 }|                                }d d d            n# 1 swxY w Y   |                    |           |                     |d         dddd|	                    d	          f           |                     |
                                d
           |                     |                                d
           |                     |d         d           |                    |           |                     |d         dddd|	                    d	          f           d S )NrB   rE   rU   z-data {} {} {} {}rT   rU   z-data asciirI   maskdataz-maskdata {} {} {} {})rd   z	-maskdata)r%   r+   r   rJ   rV   r=   rW   	configurer^   decoderM   rN   r   r.   rX   rU   s       r   test_configure_dataz#BitmapImageTest.test_configure_datag   s   #M$)DDDv(;<<<$-&& 	!6688D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	T"""f!("b"dkk'6J6J K	M 	M 	M+++,,,z*,CDDD&&&j 1!,b"b$++g:N:N O	Q 	Q 	Q 	Q 	Q   A..A25A2c                 P   t          j        d| j                  }|                     |d         d           |                    | j                   |                     |d         dddd| j        f           |                     |                                d           |                     |                                d           |                     |d	         d
           |                    | j                   |                     |d	         dddd| j        f           d S )NrB   r`   rH   z-file {} {} {} {}rH   z-filerb   rI   maskfilez-maskfile {} {} {} {})rl   z	-maskfile)	r%   r+   r   rJ   re   r=   r^   rM   rN   rQ   s     r   test_configure_filez#BitmapImageTest.test_configure_filew   s'   #M$)DDDv(;<<<T]+++f!("b"T] C	E 	E 	E+++,,,z*,CDDD///j 1!,b"b$- H	J 	J 	J 	J 	Jr   c                     t          j        d| j                  }|                     |d         d           |                    d           |                     |d         d           d S )NrB   r`   rG   z-background {} {} {} {}rD   )rG   z-background {} {} {} bluer%   r+   r   rJ   re   rQ   s     r   test_configure_backgroundz)BitmapImageTest.test_configure_background   sk    #M$)DDD|,.GHHH6***|,.IJJJJJr   c                     t          j        d| j                  }|                     |d         d           |                    d           |                     |d         d           d S )NrB   r`   rF   z!-foreground {} {} #000000 #000000rC   )rF   z -foreground {} {} #000000 yellowro   rQ   s     r   test_configure_foregroundz)BitmapImageTest.test_configure_foreground   s{    #M$)DDD|,<	> 	> 	>8,,,|,;	= 	= 	= 	= 	=r   c                    |                      t          j                  5  t          j        d| j        t
                     d d d            n# 1 swxY w Y   t          j        d| j                  }|                      t          j                  5  |                    t
                     d d d            d S # 1 swxY w Y   d S NrB   )rE   spamr`   )ru   )r#   r%   TclErrorr+   r   printre   rQ   s     r   test_bug_100814zBitmapImageTest.test_bug_100814   s?   w/00 	M 	MdieLLLL	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M#M$)DDDw/00 	( 	(OOO'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(#   "AAAB<<C C N)r   r   r   classmethodr:   rR   rY   r^   rh   rm   rp   rr   rx   r   r   r   r4   r4   @   s        K K [KA A AA A A@ @ @Q Q Q J J JK K K= = =( ( ( ( (r   r4   c                      e Zd Zed             Zd Zd Zd Zd Zd Z	d Z
d Zd	 Zd
 Zd Z edd          d             Z ed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d Zd Zd Z dS ) PhotoImageTestc                 z    t           j                            |            t          j        dd          | _        d S )Nz
python.gifr6   r7   r9   r>   s    r   r:   zPhotoImageTest.setUpClass   r@   r   c                 D    t          j        d| j        | j                  S )NrB   rE   rH   )r%   r1   r   r=   r   s    r   createzPhotoImageTest.create   s'    !-	'+}6 6 6 	6r   c                 \    t           j        dk    r	| j        r|S t          j        |          S )N333333!@)r%   	TkVersionwantobjects_join)r   argss     r   	colorlistzPhotoImageTest.colorlist   s-    ##(8#K=&&&r   c                    t          j        d|z   d          }t          j        d| j        |          }|                     t          |          d           |                     |                                d           |                     |                                d           |                     |	                                d           |                     |d         d	           |                     |d
         |           | 
                    d| j                                                   ~t          j                     |                     d| j                                                   d S )Npython.r6   r7   rB   r   r   rI   rU   rb   rH   )r   r<   r%   r1   r   rJ   rK   rL   rM   rN   r   r   rO   rP   )r   extr=   r.   s       r   check_create_from_filez%PhotoImageTest.check_create_from_file   sC   #IOLIII"=(02 2 2U]333w///+++,,,v+++v111mTY%:%:%<%<===	(=(=(?(?@@@@@r   c                    t          j        d|z   d          }t          |d          5 }|                                }d d d            n# 1 swxY w Y   t	          j        d| j        |          }|                     t          |          d           |                     |	                                d           |                     |
                                d           |                     |                                d           |                     |d	         | j        r|n|                    d
                     |                     |d         d           |                     d| j                                                   ~t          j                     |                     d| j                                                   d S )Nr   r6   r7   rT   rB   )rE   rU   r   rI   rU   latin1rH   rb   )r   r<   rV   rW   r%   r1   r   rJ   rK   rL   rM   rN   r   rf   r   r   rO   rP   )r   r   r=   rX   rU   r.   s         r   check_create_from_dataz%PhotoImageTest.check_create_from_data   s   #IOLIII(D!! 	Q6688D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	"=(,. . .U]333w///+++,,,v0@ )C-1[[-B-B	D 	D 	Dv+++mTY%:%:%<%<===	(=(=(?(?@@@@@s   AAAc                 0    |                      d           d S Nppmr   r   s    r   test_create_from_ppm_filez(PhotoImageTest.test_create_from_ppm_file       ##E*****r   c                 0    |                      d           d S r   r   r   s    r   test_create_from_ppm_dataz(PhotoImageTest.test_create_from_ppm_data   r   r   c                 0    |                      d           d S Npgmr   r   s    r   test_create_from_pgm_filez(PhotoImageTest.test_create_from_pgm_file   r   r   c                 0    |                      d           d S r   r   r   s    r   test_create_from_pgm_dataz(PhotoImageTest.test_create_from_pgm_data   r   r   c                 0    |                      d           d S Ngifr   r   s    r   test_create_from_gif_filez(PhotoImageTest.test_create_from_gif_file   r   r   c                 0    |                      d           d S r   r   r   s    r   test_create_from_gif_dataz(PhotoImageTest.test_create_from_gif_data   r   r         c                 0    |                      d           d S Npngr   r   s    r   test_create_from_png_filez(PhotoImageTest.test_create_from_png_file       ##E*****r   c                 0    |                      d           d S r   r   r   s    r   test_create_from_png_dataz(PhotoImageTest.test_create_from_png_data   r   r   c                 2   t          j        d| j                  }|                     |d         d           t	          | j        d          5 }|                                }d d d            n# 1 swxY w Y   |                    |           |                     |d         | j        r|n|	                    d                     |                     |
                                d           |                     |                                d           d S )	NrB   r`   rU   rb   rT   ra   r   rI   )r%   r1   r   rJ   rV   r=   rW   re   r   rf   rM   rN   rg   s       r   rh   z"PhotoImageTest.test_configure_data   s9   "=CCCv+++$-&& 	!6688D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	T"""v0@ )C-1[[-B-B	D 	D 	D+++,,,,,ri   c                    t          j        d| j                  }|                     |d         d           |                    | j        d           |                     |d         | j        rdnd           |                     |                                d           |                     |                                d           d S )	NrB   r`   formatrb   r   )rH   r   )r   rI   )	r%   r1   r   rJ   re   r=   r   rM   rN   rQ   s     r   test_configure_formatz$PhotoImageTest.test_configure_format   s    "=CCCx"---T]5999xd6F +5((/4	6 	6 	6+++,,,,,r   c                    t          j        d| j                  }|                     |d         d           |                    | j                   |                     |d         | j                   |                     |                                d           |                     |                                d           d S )NrB   r`   rH   rb   rk   rI   )r%   r1   r   rJ   re   r=   rM   rN   rQ   s     r   rm   z"PhotoImageTest.test_configure_file   s    "=CCCv+++T]+++v666+++,,,,,r   c                     t          j        d| j                  }|                     |d         d           |                    d           |                     |d         d           d S )NrB   r`   gammaz1.0g       @)r   z2.0r%   r1   r   rJ   re   rQ   s     r   test_configure_gammaz#PhotoImageTest.test_configure_gamma  sg    "=CCCw///c"""w/////r   c                    t          j        d| j                  }|                     |d         d           |                     |d         d           |                    d           |                    d	           |                     |d         d
           |                     |d         d           |                     |                                d           |                     |                                d           d S )NrB   r`   rM   0rN      )rM   
   )rN   2010)r%   r1   r   rJ   re   rM   rN   rQ   s     r   test_configure_width_heightz*PhotoImageTest.test_configure_width_height
  s    "=CCCw---x#...b!!!r"""w...x$///+++,,,,,r   c                 <   t          j        d| j                  }|                     |d         d           |                    d           |                     |d         d           |                    d           |                     |d         d           d S )	NrB   r`   paletterb      )r   256z3/4/2r   rQ   s     r   test_configure_palettez%PhotoImageTest.test_configure_palette  s    "=CCCy)2...$$$y)5111(((y)733333r   c                    |                      t          j                  5  t          j        d| j        t
                     d d d            n# 1 swxY w Y   t          j        d| j                  }|                      t          j                  5  |                    t
                     d d d            d S # 1 swxY w Y   d S rt   )r#   r%   rv   r1   r   rw   re   rQ   s     r   rx   zPhotoImageTest.test_bug_100814  s?   w/00 	L 	L}TYUKKKK	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L"=CCCw/00 	( 	(OOO'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(ry   c                 t   |                                  }|                                 |                     |                                d           |                     |                                d           |                     |                    dd          |                     ddd                     d S )NrI      r   r   )r   blankrJ   rM   rN   getr   rQ   s     r   
test_blankzPhotoImageTest.test_blank%  s    +++,,,1a$..Aq*A*ABBBBBr   c                 r   |                                  }|                                }|                     |                                d           |                     |                                d           |                     |                    dd          |                    dd                     d S )NrI   r   r   )r   copyrJ   rM   rN   r   r   r.   image2s      r   	test_copyzPhotoImageTest.test_copy,  s    ,,,"---1a%))Aq//:::::r   c                    |                                  }|                    dd          }|                     |                                d           |                     |                                d           |                     |                    dd          |                    dd                     |                    d          }|                     |                                d           |                     |                                d           |                     |                    dd          |                    dd                     d S )N      r   r   r   )r   	subsamplerJ   rM   rN   r   r   s      r   test_subsamplezPhotoImageTest.test_subsample3  s   A&&+++!,,,Aq))599Q??;;;##+++!,,,Aq))599Q??;;;;;r   c                    |                                  }|                    dd          }|                     |                                d           |                     |                                d           |                     |                    dd          |                    dd                     |                     |                    d	d
          |                    dd                     |                    d          }|                     |                                d           |                     |                                d           |                     |                    dd          |                    dd                     |                     |                    d	d          |                    dd                     d S )Nr   r       0   r      r   r   	   r         )r   zoomrJ   rM   rN   r   r   s      r   	test_zoomzPhotoImageTest.test_zoom?  so   Aq!!,,,"---Ar**EIIaOO<<<Ar**EIIaOO<<<A,,,"---Ar**EIIaOO<<<Ar**EIIaOO<<<<<r   c                    |                                  }|                    dd           |                     |                    dd          |                     ddd                     |                     |                    dd          |                     dt
          j        d	k    rd
ndd                     |                     |                    dd          |                     ddd                     |                     |                    dd          |                     ddd                     |                    d           |                     |                    dd          |                     ddd                     |                     |                    dd          |                     ddd                     |                     |                    dd          |                     ddd                     |                     |                    dd          |                     ddd                     d S )Nz{red green} {blue yellow})r   r   )tor   r      r      r         ))z#f00z#00ff00)z
#000000fffz#ffffffff0000   )r   putrJ   r   r   r%   r   rQ   s     r   test_putzPhotoImageTest.test_putM  s   		-&	9991a$..a*C*CDDD1a'2Cs2J2J3303Q8 8	9 	9 	9 	1a$..As*C*CDDD1a$..c1*E*EFFF		HIII1a$..a*C*CDDD1a$..C*C*CDDD1a$..As*C*CDDD1a$..c1*E*EFFFFFr   c                    |                                  }|                     |                    dd          |                     ddd                     |                     |                    dd          |                     ddd                     |                     |                    dd          |                     ddd                     |                     t
          j        |j        dd           |                     t
          j        |j        dd           |                     t
          j        |j        d	d           |                     t
          j        |j        dd	           d S )
Nr   r   >   t      r      rI   )r   rJ   r   r   r#   r%   rv   rQ   s     r   test_getzPhotoImageTest.test_get]  s)   1a$..S#*F*FGGG1a$..Aq*A*ABBB2r**DNN1a,C,CDDD'*EIr1==='*EIq"==='*EIr2>>>'*EIr2>>>>>r   c                    t           j        }dd l}|                                d         t           j        }|                                 }|                     t           j        |           |                    |           t          j
        d| j        d|          }|                     t          |          d           |                     |                                d           |                     |                                d           |                     |                                d           |                     |                    dd          |                    dd                     |                     |                    dd          |                    dd                     |                    |d	d
           t          j
        d| j        d	|          }|                     t          |          d           |                     |                                d           |                     |                                d           |                     |                                d           |                     |                    dd          |                    dd                     |                     |                    dd          |                    dd                     d S )Nr   z::img::test2r   )rE   r   rH   r   rI   r   r   r   )r   r   r   r   )r   from_coordsz::img::test3r   r   r   r   r   r   )r   TESTFNlocale	getlocaleTESTFN_ASCIIr   
addCleanupunlinkwriter%   r1   r   rJ   rK   rL   rM   rN   r   )r   filenamer   r.   r   image3s         r   
test_writezPhotoImageTest.test_writeg  s~   #a ( -H	((333H#N49+0)13 3 3 	Vn555000,,,"---Aq))599Q??;;;B**EIIb!,<,<===HUEEE#N49+0)13 3 3 	Vn555000+++!,,,Aq))599Q??;;;Aq))599Q??;;;;;r   c                    |                                  }|                     |                    dd          d           |                     |                    dd          d           |                    ddd           |                     |                    dd          d           |                    ddd           |                     |                    dd          d           d S )Nr   Tr   r   F)r   rJ   transparency_gettransparency_setrQ   s     r   test_transparencyz PhotoImageTest.test_transparency  s    //155t<<<//155u===q!T***//155t<<<q!U+++//155u=====r   N)!r   r   r   rz   r:   r   r   r   r   r   r   r   r   r   r   r   r   r   rh   r   rm   r   r   r   rx   r   r   r   r   r   r   r   r   r   r   r   r|   r|      s       K K [K6 6 6' ' 'A A AA A A$+ + ++ + ++ + ++ + ++ + ++ + + [A+ + + [A+ + +	- 	- 	-- - -- - -0 0 0	- 	- 	-4 4 4( ( (C C C; ; ;
< 
< 
<= = =G G G ? ? ?< < <>> > > > >r   r|   __main__)unittestr%   testr   test.supportr   tkinter.test.supportr   r   r   requiresTestCaser
   r!   r4   r|   r   mainr   r   r   <module>r     sb           " " " " " " U U U U U U U U U U     
2 
2 
2 
2 
2~x0 
2 
2 
2&< &< &< &< &<-x/@ &< &< &<RY( Y( Y( Y( Y(nh&7 Y( Y( Y(xq> q> q> q> q>^X%6 q> q> q>h zHMOOOOO r   