+
     Bi                        R t ^ RIHt ^ RIHt ]! R4       ^ RIt^ RIt^ RIH	t	H
t
HtHtHt ^ RIHt ^ RIHt ^ RIHt R	 tR
 t ! R R]P,                  4      t ! R R]P0                  4      t ! R R]P0                  4      t ! R R]P0                  4      t ! R R]P0                  4      t ! R R]P0                  4      t ! R R]P0                  4      t]R8X  d   ]P@                  ! ^R7       R# R# )a  Test textview, coverage 100%.

Since all methods and functions create (or destroy) a ViewWindow, which
is a widget containing a widget, etcetera, all tests must be gui tests.
Using mock Text would not change this.  Other mocks are used to retrieve
information about calls.
)textview)requiresguiN)TkTclErrorCHARNONEWORD)Button)Func)	Mbox_funcc                  B    \        4       s\        P                  4        R # Nr   rootwithdraw     6/usr/lib/python3.14/idlelib/idle_test/test_textview.pysetUpModuler      s    4DMMOr   c                  X    \         P                  4        \         P                  4        @ R # r   r   update_idletasksdestroyr   r   r   tearDownModuler      s    LLNr   c                   @    ] tR t^#t]! 4       t]! 4       t]! 4       tRtR# )VWr   N)	__name__
__module____qualname____firstlineno__r   	transientgrab_setwait_window__static_attributes__r   r   r   r   r   #   s    IvH&Kr   r   c                   8   a  ] tR t^*t o R tR tR tR tRtV t	R# )ViewWindowTestc                    \         P                  P                  4        \         P                  P                  4        \         P                  P                  4        R # r   )r   r!   __init__r"   r#   selfs   &r   setUpViewWindowTest.setUp,   s2    


!r   c                >   \        \        R R4      pV P                  \         P                  P                  4       V P                  \         P
                  P                  4       V P                  \         P                  P                  4       VP                  4        R# )Title	test textN)r   r   
assertTruer!   calledr"   r#   okr*   views   & r   test_init_modalViewWindowTest.test_init_modal1   s[    $-++,**+--.	r   c                B   \        \        R RRR7      pV P                  \         P                  P                  4       V P                  \         P
                  P                  4       V P                  \         P                  P                  4       VP                  4        R# r.   r/   FmodalN)r   r   assertFalser!   r1   r"   r#   r2   r3   s   & r   test_init_nonmodal!ViewWindowTest.test_init_nonmodal8   sc    $E:,,-++,../	r   c                    \        \        R RRR7      p\        4       Vn        VP	                  4        V P                  VP                  P                  4       V=VP                  4        R# r8   )r   r   r   r   r2   r0   r1   r3   s   & r   test_okViewWindowTest.test_ok?   sH    $E:v	++,Lr   r   N)
r   r   r   r    r+   r5   r<   r?   r$   __classdictcell____classdict__s   @r   r&   r&   *   s     "
 r   r&   c                   &   a  ] tR t^Ht o R tRtV tR# )AutoHideScrollbarTestc                    \         P                  ! \        4      pV P                  \        VP
                  4       V P                  \        VP                  4       R # r   )tvAutoHideScrollbarr   assertRaisesr   packplace)r*   scrolls   & r   test_forbidden_geometry-AutoHideScrollbarTest.test_forbidden_geometryJ   s:    %%d+(FKK0(FLL1r   r   N)r   r   r   r    rM   r$   rA   rB   s   @r   rE   rE   H   s     2 2r   rE   c                   X   a  ] tR t^Pt o ]R 4       t]R 4       t]3R ltR t	R t
RtV tR# )ScrollableTextFrameTestc                H    \        4       ;V n        pVP                  4        R # r   r   clsr   s   & r   
setUpClass"ScrollableTextFrameTest.setUpClassR   s    $4r   c                r    V P                   P                  4        V P                   P                  4        V = R # r   r   rS   s   &r   tearDownClass%ScrollableTextFrameTest.tearDownClassW   s'    !!#Hr   c                |   a \         P                  ! V P                  3R V/VB oV3R lpV P                  V4       S# )wrapc                  H   < S P                  4        S P                  4        R # r   )r   r   )frames   r   cleanup_frame9ScrollableTextFrameTest.make_frame.<locals>.cleanup_frame_   s    ""$MMOr   )rG   ScrollableTextFramer   
addCleanup)r*   r[   kwargsr^   r]   s   &&, @r   
make_frame"ScrollableTextFrameTest.make_frame]   s9    &&tyyFtFvF	 	&r   c                    V P                  4       pVP                  P                  R R4       V P                  VP                  P	                  R R4      R4       R# )1.0r/   1.endN)rc   textinsertassertEqualget)r*   r]   s   & r   
test_line1"ScrollableTextFrameTest.test_line1e   sA    !

%-w7Er   c                
   V P                  \        R 7      pV P                  VP                  P	                  R4      \        4       V P                  VP                  4       \        \        3 F~  pV P                  VR 7      ;_uu_ 4        V P                  VR 7      pV P                  VP                  P	                  R4      V4       V P                  VP                  4       RRR4       K  	  R#   + '       g   i     K  ; i))r[   r[   N)rc   r   rj   rh   cgetassertIsNotNonexscrollr   r	   subTestassertIsNone)r*   r]   r[   s   &  r   test_horiz_scrollbar,ScrollableTextFrameTest.test_horiz_scrollbarj   s     T*0$7U]]+ 4LD4((T2  !8$?!!%--0 )( !(((s   
AC11Dr   N)r   r   r   r    classmethodrT   rX   r   rc   rl   rt   r$   rA   rB   s   @r   rP   rP   P   sE        
 # F
1 1r   rP   c                   F   a  ] tR t^|t o ]R 4       t]R 4       tR tRtV t	R# )ViewFrameTestc                    \        4       ;V n        pVP                  4        \        P                  ! VR 4      V n        R# )r/   N)r   r   r   rG   	ViewFramer]   rR   s   & r   rT   ViewFrameTest.setUpClass~   s+    $4LL{3	r   c                v    V = V P                  P                  4        V P                  P                  4        V =R # r   )r]   r   r   r   rW   s   &r   rX   ViewFrameTest.tearDownClass   s,    I!!#Hr   c                x    V P                   P                  P                  pV P                  V! R R4      R4       R# )rf   rg   r/   N)r]   rh   rk   rj   )r*   rk   s   & r   rl   ViewFrameTest.test_line1   s,    jjoo!!UG,k:r   r   N)
r   r   r   r    rv   rT   rX   rl   r$   rA   rB   s   @r   rx   rx   |   s5     4 4
  ; ;r   rx   c                   ^   a  ] tR t^t o ]R 4       t]R 4       tR tR tR t	R t
R tRtV tR	# )
ViewFunctionTestc                V    \         P                  V n        \        4       \         n        R # r   )rG   	showerror
orig_errorr   rW   s   &r   rT   ViewFunctionTest.setUpClass   s     {r   c                4    V P                   \        n        V = R # r   )r   rG   r   rW   s   &r   rX   ViewFunctionTest.tearDownClass   s    ~~Nr   c                
   \         P                  ! \        R RRR7      pV P                  V\         P                  4       V P                  VP
                  \         P                  4       VP
                  P                  4        R# r8   )rG   	view_textr   assertIsInstance
ViewWindow	viewframerz   r2   r3   s   & r   test_view_textViewFunctionTest.test_view_text   sR    ||D';eDdBMM2dnnbll;r   c                   \         P                  ! \        R \        RRR7      pV P	                  V\         P
                  4       V P	                  VP                  \         P                  4       VP                  P                  P                  P                  pV P                  RV! RR4      4       VP                  4        R# )r.   asciiFr9   Testrf   rg   N)rG   	view_filer   __file__r   r   r   rz   	textframerh   rk   assertInr2   )r*   r4   rk   s   &  r   test_view_fileViewFunctionTest.test_view_file   s}    ||D'8WEJdBMM2dnnbll;nn&&++//fc%12	r   c                    \         P                  ! \        R RRRR7      pV P                  V4       V P	                  \         P
                  P                  R4       R# )r.   zabc.xyzr   Fr9   zFile Load ErrorN)rG   r   r   rs   rj   r   titler3   s   & r   test_bad_fileViewFunctionTest.test_bad_file   sA    ||D'9gUK$++->?r   c                D   \         P                  pVP                  VP                  VP	                  \
        4      R R4      4      p\        P                  ! \        RVRRR7      pV P                  V4       V P                  \        P                  P                  R4       R# )z..zCREDITS.txtr.   r   Fr9   zUnicode Decode ErrorN)ospathabspathjoindirnamer   rG   r   r   rs   rj   r   r   )r*   pfnr4   s   &   r   test_bad_encoding"ViewFunctionTest.test_bad_encoding   sn    GGYYqvvaii14GH||D'2weD$++-CDr   c                    \         P                  ! \        R RRRR7      pVP                  P                  P
                  pV P                  VP                  R4      R4       R# )r.   testFnone)r:   r[   r[   N)rG   r   r   r   r   rh   rj   ro   )r*   r4   text_widgets   &  r   test_nowrapViewFunctionTest.test_nowrap   sH    ||D'6VLnn..33))&16:r   r   N)r   r   r   r    rv   rT   rX   r   r   r   r   r   r$   rA   rB   s   @r   r   r      sK     # #  @E; ;r   r   c                   8   a  ] tR t^t o R tR tR tR tRtV t	R# )ButtonClickTestc                "    R V n         RV n        R # )NF)r4   r1   r)   s   &r   r+   ButtonClickTest.setUp   s    	r   c                b    V P                   '       d   V P                   P                  4        R # R # r   )r4   r   r)   s   &r   tearDownButtonClickTest.tearDown   s     999II r   c                  a  V 3R  lp\        \        RVR7      pVP                  4        S P                  VP                  4       S P                  S P                  R4       S P                  S P                  P                  4       R4       S P                  S P                  P                  P                  P                  P                  RR4      R4       R# )	c                  \   < R S n         \        P                  ! \        RRR R7      S n        R# )T
TITLE_TEXTCOMMAND)_utestN)r1   rG   r   r   r4   r)   s   r   _commandAButtonClickTest.test_view_text_bind_with_button.<locals>._command   s     DKT<4PDIr   BUTTONrh   commandTr   rf   rg   r   N)r
   r   invokera   r   rj   r1   r4   r   r   r   rh   rk   )r*   r   buttons   f  r   test_view_text_bind_with_button/ButtonClickTest.test_view_text_bind_with_button   s    	Q 8X>'d+*L9,,66;;??wO"	$r   c                  a  V 3R  lp\        \        RVR7      pVP                  4        S P                  VP                  4       S P                  S P                  R4       S P                  S P                  P                  4       R4       S P                  P                  P                  P                  P                  p\        \        4      ;_uu_ 4       pS P                  V! RR4      VP                  4       P!                  4       4       VP                  4        S P                  V! RR4      VP                  4       P!                  4       4       R	R	R	4       R	#   + '       g   i     R	# ; i)
c                  f   < R S n         \        P                  ! \        R\        RR R7      S n        R# )T
TITLE_FILEr   )encodingr   N)r1   rG   r   r   r   r4   r)   s   r   r   AButtonClickTest.test_view_file_bind_with_button.<locals>._command   s&    DKT<.5dDDIr   r   r   Tr   rf   rg   z3.0z3.endN)r
   r   r   ra   r   rj   r1   r4   r   r   r   rh   rk   openr   readlinestrip)r*   r   r   rk   fs   f    r   test_view_file_bind_with_button/ButtonClickTest.test_view_file_bind_with_button   s    	D 8X>'d+*L9ii!!++0044(^^qS0!**,2D2D2FGJJLS0!**,2D2D2FG ^^^s   A;EE,	)r1   r4   N)
r   r   r   r    r+   r   r   r   r$   rA   rB   s   @r   r   r      s       $H Hr   r   __main__)	verbosity)!__doc__idlelibr   rG   test.supportr   r   unittesttkinterr   r   r   r   r	   tkinter.ttkr
   idlelib.idle_test.mock_idler   idlelib.idle_test.mock_tkr   r   r   r   r   TestCaser&   rE   rP   rx   r   r   r   mainr   r   r   <module>r      s    # !  	  2 2  , /
 X&& <2H-- 2)1h// )1X;H%% ;**;x(( *;\&Hh'' &HR zMMA r   