B  fB@svdZddlZddlmZddlmZGdddeZGdddeejZ Gd d d eejZ e d krrej d d ddS)zi Test mock_tk.Text class against tkinter.Text class Run same tests with both by creating a mixin class. N)requires)TclErrorc@sleZdZdZdZedZddZddZdd Zd d Z d d Z ddZ ddZ ddZ ddZddZdS)TextTestz*Define items common to both sets of tests.z hello world cCs,||jdd||jdddS)Nz1.0rend) assertEqualtextget)selfr @/opt/alt/python37/lib64/python3.7/idlelib/idle_test/test_text.py test_initszTextTest.test_initcCsH|jj}xdD]}|||dqWxdD]}|||dq,WdS)N)gg333333?z1.-1z1.0z 1.0 lineendz1.endz1.33insertz1.0)rg@z2.1z33.44z2.0)r indexr)r rdexr r r test_index_emptys   zTextTest.test_index_emptycCsv|jj}|jd|jxdD]}|||dqWxdD]}|||dqFFFTT)z>=FFTTT)z==FFTFF)z!=TTFTTz1.1z2.1z2.3z3.3)r comparerrZ assertRaisesr) r r%rr"Zless1Zless0ZequalZgreater0Zgreater1r r r test_compareszTextTest.test_compareN)__name__ __module__ __qualname____doc__rrrrrrrrrr r!r&r r r r r s   rc@s(eZdZeddZddZddZdS) MockTextTestcCsddlm}||_dS)Nr)Text)Zidlelib.idle_test.mock_tkr,)clsr,r r r setUpClasss zMockTextTest.setUpClasscCs||_dS)N)r,r )r r r r setUpszMockTextTest.setUpcCsb|jj}|j}|jd|j||ddd||ddd||ddd||ddddS)Nz1.0r)z3.1r)r1)r Z_decoderrr)r decoderr r r test_decodeszMockTextTest.test_decodeN)r'r(r) classmethodr.r/r5r r r r r+s r+c@s,eZdZeddZeddZddZdS) TkTextTestcCs*tdddlm}m}||_||_dS)NZguir)Tkr,)rZtkinterr8r,root)r-r8r,r r r r.szTkTextTest.setUpClasscCs|j|`dS)N)r9Zdestroy)r-r r r tearDownClasss zTkTextTest.tearDownClasscCs||j|_dS)N)r,r9r )r r r r r/szTkTextTest.setUpN)r'r(r)r6r.r:r/r r r r r7s  r7__main__r1F) verbosityexit) r*ZunittestZ test.supportrZ_tkinterrobjectrZTestCaser+r7r'mainr r r r s  :