a ze><@sddlZddlZddlmZddlmZmZmZedGdddeej Z Gdddeej Z Gd d d eej Z Gd d d eej Z ed kredS)N)support)AbstractTkTestAbstractDefaultRootTest requires_tclZguic@seZdZddZddZdS)MiscTestcCs2|j}||t|d||d|dSNphotobitmap)root image_typesassertIsInstancetupleassertIn)selfr rY/opt/bitninja-python-dojo/embedded/lib/python3.9/tkinter/test/test_tkinter/test_images.pytest_image_types s   zMiscTest.test_image_typescCs|j}||tdSN)r image_namesr r )rrrrrtest_image_namess zMiscTest.test_image_namesN)__name__ __module__ __qualname__rrrrrrr src@s,eZdZddZddZddZddZd S) DefaultRootTestcCsd|ttjt}t}||t|d||d||t |ttjdSr) assertRaises RuntimeErrortkinterr Tkr r rdestroy NoDefaultRoot)rr r rrrrs   z DefaultRootTest.test_image_typescCsL|ttjt}t}||t|t|ttjdSr) rrrrrr r rr)rr rrrrr#s z DefaultRootTest.test_image_namescCsR|ttjt}t}||jt|t |ttjdSr) rrr BitmapImagerrnamerrrrr imagerrrtest_image_create_bitmap,sz(DefaultRootTest.test_image_create_bitmapcCsR|ttjt}t}||jt|t |ttjdSr) rrr PhotoImagerrr!rrrr"rrrtest_image_create_photo5sz'DefaultRootTest.test_image_create_photoN)rrrrrr$r&rrrrrs   rc@sPeZdZeddZddZddZddZd d Zd d Z d dZ ddZ dS)BitmapImageTestcCs tj|tjddd|_dS)Nz python.xbm imghdrdataZsubdirr setUpClass__func__rfindfiletestfileclsrrrr+As zBitmapImageTest.setUpClasscCstjd|jdd|jd}|t|d||d||d||d| d|j ~t | d|j dS)N ::img::testyellowblue)master foreground backgroundfiler )rr r r. assertEqualstrtypewidthheightrrr gc_collect assertNotInrr#rrrtest_create_from_fileFs z%BitmapImageTest.test_create_from_filecCst|jd}|}Wdn1s*0Ytjd|jdd|d}|t|d||d|| d|| d| d|j ~t |d|j dS)Nrbr1r2r3)r4r5r6datar r8)openr.readrr r r9r:r;r<r=rrrr>r?)rfrCr#rrrtest_create_from_dataSs& z%BitmapImageTest.test_create_from_datacCs$||t||j||dSr)r r:r9r Z splitlist)ractualZexpectedrrrassertEqualStrListbs z"BitmapImageTest.assertEqualStrListc Cstjd|jd}||ddt|jd}|}Wdn1sJ0Y|j|d||ddddd| d f|| d || d ||d d |j|d ||d dddd| d fdS)Nr1r4rCz-data {} {} {} {}rBrCz-dataasciir8maskdataz-maskdata {} {} {} {})rNz -maskdata) rr r r9rDr.rE configurerIdecoder<r=rr#rFrCrrrtest_configure_datafs&    z#BitmapImageTest.test_configure_datacCstjd|jd}||dd|j|jd||ddddd|jf||d||d||d d |j|jd ||d d ddd|jfdS) Nr1rJr7z-file {} {} {} {}r7z-filerLr8maskfilez-maskfile {} {} {} {})rTz -maskfile) rr r r9rOr.rIr<r=r@rrrtest_configure_filevs  z#BitmapImageTest.test_configure_filecCs@tjd|jd}||dd|jdd||dddS)Nr1rJr6z-background {} {} {} {}r3)r6z-background {} {} {} bluerr r r9rOr@rrrtest_configure_backgrounds z)BitmapImageTest.test_configure_backgroundcCs@tjd|jd}||dd|jdd||dddS)Nr1rJr5z!-foreground {} {} #000000 #000000r2)r5z -foreground {} {} #000000 yellowrVr@rrrtest_configure_foregrounds   z)BitmapImageTest.test_configure_foregroundN) rrr classmethodr+rArGrIrRrUrWrXrrrrr'?s  r'c@seZdZeddZddZddZddZd d Zd d Z d dZ ddZ ddZ ddZ ddZeddddZeddddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9S):PhotoImageTestcCs tj|tjddd|_dS)Nz python.gifr(r)r*r/rrrr+s zPhotoImageTest.setUpClasscCstjd|j|jdS)Nr1r4r7)rr%r r.rrrrcreates zPhotoImageTest.createcGs"tjdkr|jr|St|SdS)N333333!@)r TkVersion wantobjectsZ_join)rargsrrr colorlistszPhotoImageTest.colorlistcCstjd|dd}tjd|j|d}|t|d||d||d|| d||dd ||d || d|j ~t | d|j dS) Npython.r(r)r1r[rr8rCrLr7)rr-rr%r r9r:r;r<r=rrr>r?)rextr.r#rrrcheck_create_from_files z%PhotoImageTest.check_create_from_filecCstjd|dd}t|d}|}Wdn1s:0Ytjd|j|d}|t|d|| d|| d|| d||d |j r|n| d ||d d |d|j~t|d|jdS) Nrcr(r)rBr1)r4rCrr8rClatin1r7rL)rr-rDrErr%r r9r:r;r<r=r`rPrrr>r?)rrdr.rFrCr#rrrcheck_create_from_datas$ & z%PhotoImageTest.check_create_from_datacCs|ddSNppmrer\rrrtest_create_from_ppm_filesz(PhotoImageTest.test_create_from_ppm_filecCs|ddSrhrgr\rrrtest_create_from_ppm_datasz(PhotoImageTest.test_create_from_ppm_datacCs|ddSNZpgmrjr\rrrtest_create_from_pgm_filesz(PhotoImageTest.test_create_from_pgm_filecCs|ddSrnrlr\rrrtest_create_from_pgm_datasz(PhotoImageTest.test_create_from_pgm_datacCs|ddSNgifrjr\rrrtest_create_from_gif_filesz(PhotoImageTest.test_create_from_gif_filecCs|ddSrqrlr\rrrtest_create_from_gif_datasz(PhotoImageTest.test_create_from_gif_datacCs|ddSNZpngrjr\rrrtest_create_from_png_filesz(PhotoImageTest.test_create_from_png_filecCs|ddSrwrlr\rrrtest_create_from_png_datasz(PhotoImageTest.test_create_from_png_datacCstjd|jd}||ddt|jd}|}Wdn1sJ0Y|j|d||d|jrt|n| d|| d|| ddS) Nr1rJrCrLrBrKrfr8) rr%r r9rDr.rErOr`rPr<r=rQrrrrRs& z"PhotoImageTest.test_configure_datacCsntjd|jd}||dd|j|jdd||d|jrDdnd||d||ddS) Nr1rJformatrLrr)r7rz)rrr8) rr%r r9rOr.r`r<r=r@rrrtest_configure_formatsz$PhotoImageTest.test_configure_formatcCsdtjd|jd}||dd|j|jd||d|j||d||ddS)Nr1rJr7rLrSr8)rr%r r9rOr.r<r=r@rrrrUs z"PhotoImageTest.test_configure_filecCs@tjd|jd}||dd|jdd||dddS)Nr1rJgammaz1.0g@)r|z2.0rr%r r9rOr@rrrtest_configure_gammas z#PhotoImageTest.test_configure_gammacCstjd|jd}||dd||dd|jdd|jdd ||dd ||dd ||d||ddS) Nr1rJr<0r=)r< )r=Z20Z10)rr%r r9rOr<r=r@rrrtest_configure_width_heights  z*PhotoImageTest.test_configure_width_heightcCs\tjd|jd}||dd|jdd||dd|jdd||dddS) Nr1rJpaletterL)rZ256z3/4/2r}r@rrrtest_configure_palette s   z%PhotoImageTest.test_configure_palettecCsR|}|||d||d||dd|ddddS)Nr8rvr)r]Zblankr9r<r=getrbr@rrr test_blanks zPhotoImageTest.test_blankcCsP|}|}||d||d||dd|dddS)Nr8rrv)r]copyr9r<r=rrr#image2rrr test_copys zPhotoImageTest.test_copycCs|}|dd}||d||d||dd|dd|d}||d||d||dd|dddS)Nrurvr)r]Z subsampler9r<r=rrrrrtest_subsample"s  zPhotoImageTest.test_subsamplecCs|}|dd}||d||d||dd|dd||d d |dd|d}||d||d||dd |dd||d d |dddS) Nrr 0rurrv r )r]Zzoomr9r<r=rrrrr 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 |ddddS)Nz{red green} {blue yellow})rrv)torrvrr^))z#f00z#00ff00)z #000000fffz #ffffffff0000)r]putr9rrbrr_r@rrrtest_put<s zPhotoImageTest.test_putcCs|}||dd|ddd||dd|ddd||dd|ddd|tj|jdd|tj|jdd|tj|jd d|tj|jdd dS) Nrrv>trr8)r]r9rrbrrZTclErrorr@rrrtest_getLszPhotoImageTest.test_getcCsV|}|tjtj|tjtjd|jdtjd}| t |d| | d| | d| | d| |dd|dd| |dd|dd|jtjd d d tjd |jd tjd}| t |d | | d| | d | | d| |dd|dd| |dd |dddS)Nz ::img::test2ri)r4rzr7rr8rrrurr)rrvrvr)rzZ from_coordsz ::img::test3rrrrvrr)r]Z addCleanuprunlinkZTESTFNwriterr%r r9r:r;r<r=r)rr#rZimage3rrr test_writeVs0   zPhotoImageTest.test_writecCsx|}||ddd||ddd|ddd||ddd|ddd||ddddS)NrTrrvF)r]r9Ztransparency_getZtransparency_setr@rrrtest_transparencypsz PhotoImageTest.test_transparencyN) rrrrYr+r]rbrergrkrmrorprsrtrrxryrRr{rUr~rrrrrrrrrrrrrrrZs<        rZ__main__)ZunittestrtestrZtkinter.test.supportrrrZrequiresZTestCaserrr'rZrmainrrrrs   )Th