a 4êdg¾;ã@s¬ddlZddlZddlmZddlmZmZmZe d¡Gdd„deej ƒZ Gdd„deej ƒZ Gd d „d eej ƒZ Gd d „d eej ƒZ e e e e fZed kr¨ejeŽdS)éN)Úsupport)ÚAbstractTkTestÚAbstractDefaultRootTestÚ requires_tclZguic@seZdZdd„Zdd„ZdS)ÚMiscTestcCs2|j ¡}| |t¡| d|¡| d|¡dS©NÚphotoÚbitmap)ÚrootÚ image_typesÚassertIsInstanceÚtupleÚassertIn)Úselfr ©rúA/usr/local/lib/python3.9/tkinter/test/test_tkinter/test_images.pyÚtest_image_types s   zMiscTest.test_image_typescCs|j ¡}| |t¡dS©N)r Ú image_namesr r )rrrrrÚtest_image_namess zMiscTest.test_image_namesN)Ú__name__Ú __module__Ú __qualname__rrrrrrr src@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ÚDefaultRootTestcCsd| ttj¡t ¡}t ¡}| |t¡| d|¡| d|¡| ¡t  ¡| ttj¡dSr) Ú assertRaisesÚ RuntimeErrorÚtkinterr ÚTkr r rÚdestroyÚ NoDefaultRoot)rr r rrrrs   z DefaultRootTest.test_image_typescCsL| ttj¡t ¡}t ¡}| |t¡| ¡t ¡| ttj¡dSr) rrrrrr r rr)rr rrrrr#s z DefaultRootTest.test_image_namescCsR| ttj¡t ¡}t ¡}| |jt ¡¡| ¡t  ¡| ttj¡dSr) rrrÚ BitmapImagerrÚnamerrr©rr ÚimagerrrÚtest_image_create_bitmap,sz(DefaultRootTest.test_image_create_bitmapcCsR| ttj¡t ¡}t ¡}| |jt ¡¡| ¡t  ¡| ttj¡dSr) rrrÚ PhotoImagerrr!rrrr"rrrÚtest_image_create_photo5sz'DefaultRootTest.test_image_create_photoN)rrrrrr$r&rrrrrs   rc@sPeZdZedd„ƒZdd„Zdd„Zdd„Zd d „Zd d „Z d d„Z dd„Z dS)ÚBitmapImageTestcCs tj |¡tjddd|_dS)Nz python.xbmÚ imghdrdata©Zsubdir©rÚ setUpClassÚ__func__rÚfindfileÚtestfile©Úclsrrrr+As zBitmapImageTest.setUpClasscCs‚tjd|jdd|jd}| t|ƒd¡| | ¡d¡| | ¡d¡| | ¡d¡|  d|j  ¡¡~|  d|j  ¡¡dS)Nú ::img::testÚyellowÚblue)ÚmasterÚ foregroundÚ backgroundÚfiler é) rr r r.Ú assertEqualÚstrÚtypeÚwidthÚheightrrÚ assertNotIn©rr#rrrÚtest_create_from_fileFs þz%BitmapImageTest.test_create_from_filecCs´t|jdƒ}| ¡}Wdƒn1s*0Ytjd|jdd|d}| t|ƒd¡| | ¡d¡| |  ¡d¡| |  ¡d¡|  d|j  ¡¡~|  d|j  ¡¡dS)NÚrbr1r2r3)r4r5r6Údatar r8)Úopenr.Úreadrr r r9r:r;r<r=rrr>)rÚfrBr#rrrÚtest_create_from_dataRs& þz%BitmapImageTest.test_create_from_datacCs$| |t¡| |j |¡|¡dSr)r r:r9r Z splitlist)rÚactualZexpectedrrrÚassertEqualStrList`s z"BitmapImageTest.assertEqualStrListc Csàtjd|jd}| |dd¡t|jdƒ}| ¡}Wdƒn1sJ0Y|j|d| |ddddd|  d ¡f¡| |  ¡d ¡| |  ¡d ¡| |d d ¡|j|d | |d dddd|  d ¡f¡dS)Nr1©r4rBz-data {} {} {} {}rA©rBz-dataÚÚasciir8Úmaskdataz-maskdata {} {} {} {})rMz -maskdata) rr r r9rCr.rDÚ configurerHÚdecoder<r=©rr#rErBrrrÚtest_configure_datads&  ÿ  ÿz#BitmapImageTest.test_configure_datacCs¨tjd|jd}| |dd¡|j|jd| |ddddd|jf¡| | ¡d¡| | ¡d¡| |d d ¡|j|jd | |d d ddd|jf¡dS) Nr1rIr7z-file {} {} {} {}©r7z-filerKr8Úmaskfilez-maskfile {} {} {} {})rSz -maskfile) rr r r9rNr.rHr<r=r?rrrÚtest_configure_filets ÿ ÿz#BitmapImageTest.test_configure_filecCs@tjd|jd}| |dd¡|jdd| |dd¡dS)Nr1rIr6z-background {} {} {} {}r3)r6z-background {} {} {} blue©rr r r9rNr?rrrÚtest_configure_background‚s z)BitmapImageTest.test_configure_backgroundcCs@tjd|jd}| |dd¡|jdd| |dd¡dS)Nr1rIr5z!-foreground {} {} #000000 #000000r2)r5z -foreground {} {} #000000 yellowrUr?rrrÚtest_configure_foregroundˆs ÿ  ÿz)BitmapImageTest.test_configure_foregroundN) rrrÚ classmethodr+r@rFrHrQrTrVrWrrrrr'?s  r'c@süeZdZedd„ƒZdd„Zdd„Zdd„Zd d „Zd d „Z d d„Z dd„Z dd„Z dd„Z dd„Zeddƒdd„ƒZeddƒdd„ƒZdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9S):ÚPhotoImageTestcCs tj |¡tjddd|_dS)Nz python.gifr(r)r*r/rrrr+“s zPhotoImageTest.setUpClasscCstjd|j|jdS)Nr1©r4r7)rr%r r.©rrrrÚcreate˜s ÿzPhotoImageTest.createcGs"tjdkr|jr|St |¡SdS)Nç333333!@)rÚ TkVersionÚ wantobjectsZ_join)rÚargsrrrÚ colorlistœszPhotoImageTest.colorlistcCs®tjd|dd}tjd|j|d}| t|ƒd¡| | ¡d¡| | ¡d¡| |  ¡d¡| |dd ¡| |d |¡|  d|j  ¡¡~|  d|j  ¡¡dS) Núpython.r(r)r1rZrr8rBrKr7) rr-rr%r r9r:r;r<r=rrr>)rÚextr.r#rrrÚcheck_create_from_file¢s ÿz%PhotoImageTest.check_create_from_filecCsðtjd|dd}t|dƒ}| ¡}Wdƒn1s:0Ytjd|j|d}| t|ƒd¡| |  ¡d¡| |  ¡d¡| |  ¡d¡| |d |j rª|n|  d ¡¡| |d d ¡| d|j ¡¡~| d|j ¡¡dS) Nrbr(r)rAr1)r4rBrr8rBÚlatin1r7rK)rr-rCrDrr%r r9r:r;r<r=r_rOrrr>)rrcr.rErBr#rrrÚcheck_create_from_data°s" & ÿÿz%PhotoImageTest.check_create_from_datacCs| d¡dS©NÚppm©rdr[rrrÚtest_create_from_ppm_fileÁsz(PhotoImageTest.test_create_from_ppm_filecCs| d¡dSrg©rfr[rrrÚtest_create_from_ppm_dataÄsz(PhotoImageTest.test_create_from_ppm_datacCs| d¡dS©NZpgmrir[rrrÚtest_create_from_pgm_fileÇsz(PhotoImageTest.test_create_from_pgm_filecCs| d¡dSrmrkr[rrrÚtest_create_from_pgm_dataÊsz(PhotoImageTest.test_create_from_pgm_datacCs| d¡dS©NÚgifrir[rrrÚtest_create_from_gif_fileÍsz(PhotoImageTest.test_create_from_gif_filecCs| d¡dSrprkr[rrrÚtest_create_from_gif_dataÐsz(PhotoImageTest.test_create_from_gif_dataéécCs| d¡dS©NZpngrir[rrrÚtest_create_from_png_fileÓsz(PhotoImageTest.test_create_from_png_filecCs| d¡dSrvrkr[rrrÚtest_create_from_png_data×sz(PhotoImageTest.test_create_from_png_datacCs¤tjd|jd}| |dd¡t|jdƒ}| ¡}Wdƒn1sJ0Y|j|d| |d|jrt|n|  d¡¡| |  ¡d¡| |  ¡d¡dS) Nr1rIrBrKrArJrer8) rr%r r9rCr.rDrNr_rOr<r=rPrrrrQÛs& ÿz"PhotoImageTest.test_configure_datacCsntjd|jd}| |dd¡|j|jdd| |d|jrDdnd¡| | ¡d¡| | ¡d¡dS) Nr1rIÚformatrKrq)r7ry)rqr8) rr%r r9rNr.r_r<r=r?rrrÚtest_configure_formatæsÿz$PhotoImageTest.test_configure_formatcCsdtjd|jd}| |dd¡|j|jd| |d|j¡| | ¡d¡| | ¡d¡dS)Nr1rIr7rKrRr8)rr%r r9rNr.r<r=r?rrrrTïs z"PhotoImageTest.test_configure_filecCs@tjd|jd}| |dd¡|jdd| |dd¡dS)Nr1rIÚgammaz1.0g@)r{z2.0©rr%r r9rNr?rrrÚtest_configure_gamma÷s z#PhotoImageTest.test_configure_gammacCsŒtjd|jd}| |dd¡| |dd¡|jdd|jdd | |dd ¡| |dd ¡| | ¡d¡| | ¡d¡dS) Nr1rIr<Ú0r=é)r<é )r=Z20Z10)rr%r r9rNr<r=r?rrrÚtest_configure_width_heightýs  z*PhotoImageTest.test_configure_width_heightcCs\tjd|jd}| |dd¡|jdd| |dd¡|jdd| |dd¡dS) Nr1rIÚpaletterKé)r‚Z256z3/4/2r|r?rrrÚtest_configure_palettes   z%PhotoImageTest.test_configure_palettecCsR| ¡}| ¡| | ¡d¡| | ¡d¡| | dd¡| ddd¡¡dS)Nr8érur)r\Zblankr9r<r=Úgetrar?rrrÚ test_blanks zPhotoImageTest.test_blankcCsP| ¡}| ¡}| | ¡d¡| | ¡d¡| | dd¡| dd¡¡dS)Nr8r…ru)r\Úcopyr9r<r=r†©rr#Úimage2rrrÚ test_copys zPhotoImageTest.test_copycCsš| ¡}| dd¡}| | ¡d¡| | ¡d¡| | dd¡| dd¡¡| d¡}| | ¡d¡| | ¡d¡| | dd¡| dd¡¡dS)Néértrur…)r\Z subsampler9r<r=r†r‰rrrÚtest_subsamples  zPhotoImageTest.test_subsamplecCsÒ| ¡}| dd¡}| | ¡d¡| | ¡d¡| | dd¡| dd¡¡| | d d ¡| dd¡¡| d¡}| | ¡d¡| | ¡d¡| | dd ¡| dd¡¡| | d d ¡| dd¡¡dS) NrŒré é0rtér…rué ré é )r\Zzoomr9r<r=r†r‰rrrÚ test_zoom*s  zPhotoImageTest.test_zoomcCs"| ¡}|jddd| | dd¡| ddd¡¡| | dd¡| dtjd krVd ndd¡¡| | dd ¡| ddd¡¡| | dd ¡| ddd¡¡| d ¡| | dd¡| ddd¡¡| | d d¡| ddd¡¡| | dd ¡| ddd¡¡| | d d ¡| ddd¡¡dS)Nz{red green} {blue yellow})r…ru)Útor…ruéÿrér]é€é))z#f00z#00ff00)z #000000fffz #ffffffff0000é)r\Úputr9r†rarr^r?rrrÚtest_put8sÿÿ zPhotoImageTest.test_putcCs¶| ¡}| | dd¡| ddd¡¡| | dd¡| ddd¡¡| | dd¡| ddd¡¡| tj|jdd¡| tj|jdd¡| tj|jd d¡| tj|jdd ¡dS) Nr…rué>été¢rééÿÿÿÿr8)r\r9r†rarrZTclErrorr?rrrÚtest_getHszPhotoImageTest.test_getcCsV| ¡}| tjtj¡| tj¡tjd|jdtjd}|  t |ƒd¡|  |  ¡d¡|  |  ¡d¡|  |  ¡d¡|  | dd¡| dd¡¡|  | dd¡| dd¡¡|jtjd d d tjd |jd tjd}|  t |ƒd ¡|  |  ¡d¡|  |  ¡d ¡|  |  ¡d¡|  | dd¡| dd¡¡|  | dd ¡| dd¡¡dS)Nz ::img::test2rh)r4ryr7rr8rr¡rtrq)r…rurur’)ryZ from_coordsz ::img::test3rŒrr…rur›r˜)r\Z addCleanuprÚunlinkZTESTFNÚwriterr%r r9r:r;r<r=r†)rr#rŠZimage3rrrÚ test_writeRs0  þ þzPhotoImageTest.test_writecCsx| ¡}| | dd¡d¡| | dd¡d¡| ddd¡| | dd¡d¡| ddd¡| | dd¡d¡dS)NrTr…ruF)r\r9Ztransparency_getZtransparency_setr?rrrÚtest_transparencylsz PhotoImageTest.test_transparencyN) rrrrXr+r\rardrfrjrlrnrorrrsrrwrxrQrzrTr}rr„r‡r‹rŽr•rr£r¦r§rrrrrY‘s<        rYÚ__main__)ZunittestrÚtestrZtkinter.test.supportrrrZrequiresZTestCaserrr'rYZ tests_guirZ run_unittestrrrrÚs   )Rf