
    ;OOfo                     r   d dl Z 	 d dlmZ d dlmZ d dlZ G d de j                        Z G d de j                        Z	 G d de j                        Z
 G d	 d
e j                        Z G d de j                        Z G d de j                        Z G d de j                        Zy# e$ r d dlZY w xY w)    N)SelectableTextc                       e Zd Zd Zd Zy)	FrameTestc	                      G d d      }	d x}
}|r |	||xr |dk(        }
|r |	||xr |dk(        }t        j                  d |
||      }|j                  ||      }||f||ff}||k(  sJ |d|d|       y )Nc                       e Zd Zd ZddZy)%FrameTest.ftbtest.<locals>.FakeWidgetc                      || _         || _        y N)ret_rows
want_focus)selfrowsr   s      [/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/urwid/tests/test_container.py__init__z.FrameTest.ftbtest.<locals>.FakeWidget.__init__   s     $",    c                 <    | j                   |k(  sJ | j                  S r
   )r   r   )r   sizefocuss      r   r   z*FrameTest.ftbtest.<locals>.FakeWidget.rows   s    %///}}$r   N)F)__name__
__module____qualname__r   r    r   r   
FakeWidgetr      s    -%r   r   headerfooter
 expected 	 but got )urwidFrameframe_top_bottom)r   desc
focus_partheader_rowsfooter_rowsr   r   topbottomr   r   r   frvalexps                  r   ftbtestzFrameTest.ftbtest   s    	% 	% 0*02F0*02F KKffj9!!$.Fmk;77d{ 	T 	{r   c           
         | j                  dddddddd       | j                  dddddddd       | j                  dddddddd       | j                  d	ddddddd       | j                  d
ddddddd       | j                  dddddddd       | j                  dddddddd       | j                  dddddddd       | j                  dddddddd       | j                  dddddddd       | j                  dddddddd       | j                  dddddddd       | j                  dddddddd       | j                  dddddddd       | j                  dddddddd       | j                  dddddddd       y )Nsimplebodyr   )	   
   Tzsimple h   zsimple fz	simple hfzalmost full hf      zfull hfzx full h+1f   Fz	full h+1fz	full hf+1zF full h+1fr   zF full hf+1zF full hf+5   r/   z	full hf+5r.   zH full hf+1r   zH full h+1fzH full h+5f)r*   r   s    r   testzFrameTest.test&   s   Xvq!WdAqAZAwaCZAwaC[&!Qq!D%vq!W!Q	Y1g!Q	]FAq'1a	[&!Q!Q	[&!Q!Q	]HaG!Q	]HaG!Q	]HaW!R	[&!R!Q	]HaG!Q	]HaG!Q	]Hb!W"a	r   N)r   r   r   r*   r6   r   r   r   r   r      s    0r   r   c                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)PileTestc                 ,   t        j                  ||      }|j                  d|      }	||	k(  sJ |d|d|	       |j                  |j	                               }
|
|k(  sJ |d|d|
       |j                  d      }||k(  sJ |d|d|       y )N   z key expected r   z focus expected z pref_col expected )r   Pilekeypressindex	get_focusget_pref_col)r   r!   l
focus_itemkeyrkeyrfocus	rpref_colpr(   	new_focusnew_prefs               r   ktestzPileTest.ktestF   s    JJ:'zz5#'t| 	$ 	|GGAKKM*	F" 	%&)%% 	%">>%(9$ 	()X'	($r   c           
      "   t         j                  t        t         j                  }}}| j	                  d |d      gddddd       | j	                  d |d      gddddd       | j	                  d |d       |d      gddddd       | j	                  d	 |d       |d      gddddd       | j	                  d
 |d       |d      gddd dd       | j	                  d |d       |d      gddd dd       | j	                  d |d       |d       |d      gddd dd       | j	                  d |d       |d       |d      gddd dd       | j	                  d |d       |d       |d       |d      gddd dd       | j	                  d |d       |d       |d       |d      gddd dd       | j	                  d |d       |d       |d       |d       |d      gddd dd       | j	                  d |d       |d       |d       |d       |d      gddd dd        |ddd      }|j                  dd       | j	                  d |d       |d      |gddd dd       | j	                  d| |d       |d      gddd dd        |dd      }| j	                  d| |d      |gddd dd       |j                  d      dk(  sJ  |dd      }| j	                  d| |d      |gddd dd       |j                  d      dk(  sJ y )Nz	simple up r   upzsimple downdownz	ignore up   zignore downzstep upz	step downzskip step up   zskip step downzpad skip step upr0   zpad skip step downzpadi skip step upr1   zpadi skip step downabcd)edit_posr:   rightzpref step upzpref step down1234zprefx step upzprefx step down)r   Textr   EditrJ   r=   r@   )r   TSEezs         r   test_select_changezPileTest.test_select_changeT   s'   

NEJJA!

;2D$1=

=1R5'1ffaC

;2quq$aC

=1R52-FAq	

9quQrUmQdAqA

;2quq&!Q	

>AbE!B%"#64!Q	

#aeAbE!B%%8!V!Q	

%"aeAbE!B%'@!$1	

'!B%"aeAbE)BAD!Q	 

&2quQrU1R52(GtT1a	!

(1R52quQrUbE+vtQ	+b!$	

5!

>AbE!B%?At!Q	

#a"ae_a!Q	bL

?QquQKD!Q	~~e$)))bL

$q2qk1f!Q	~~e$)))r   c                 <    t        j                  d dD               y )Nc              3   F   K   | ]  }t        j                  |        y wr
   r   rU   .0cs     r   	<genexpr>z6PileTest.test_init_with_a_generator.<locals>.<genexpr>{   s     0Q5::a=0   !ABC)r   r<   r5   s    r   test_init_with_a_generatorz#PileTest.test_init_with_a_generatorz   s    

0%00r   c                    t        j                  t        j                         t        j                         g      }| j                  |j                  d       |j                  dddddd       | j                  |j                  d       y )Nr   r/   button pressrO   T)r   r<   rV   assertEqualfocus_positionmouse_eventr   rG   s     r   test_change_focus_with_mousez%PileTest.test_change_focus_with_mouse}   sc    JJ

ejjl34))1-	e^Q1d;))1-r   c                     t        j                  t        j                  d      ddt        j                  d      fg      }|j                  d       y )Naweightr   d)r2   r1   )r   r<   	SolidFillrenderrm   s     r   test_zero_weightzPileTest.test_zero_weight   sB    JJOOC q%//#./  	
r   c                     t        j                  g       }|j                  dddddd       |j                  dddddd       y )N)r2   ri   rO   FT)r   r<   rl   rm   s     r   test_mouse_event_in_empty_pilez'PileTest.test_mouse_event_in_empty_pile   s;    JJrN	dNAq!U;	dNAq!T:r   N)	r   r   r   rJ   r\   rf   rn   ru   rw   r   r   r   r8   r8   E   s!    ($*L1.;r   r8   c                   >    e Zd Zd
dZd Zd Zd Zd Zd Zd Z	d Z
y	)ColumnsTestc                 |    t        j                  |||      }|j                  |      }||k(  sJ |d|d|       y )Nr   , got )r   Columnscolumn_widths)	r   r!   rA   divider   r)   focus_columnrb   r(   s	            r   cwtestzColumnsTest.cwtest   s:    MM!V\2&s{Dd3tDD{r   c           	      $   t        j                  d      }| j                  d|gdddg       | j                  d||gddddg       | j                  d||gd	ddd
g       | j                  d|||gd	dg d       | j                  d|||gddg d       | j                  d|||gddg d       | j                  d||||gd	dg d       | j                  d||||gd	dg d       | j                  d||||gd	dg d       | j                  d||||gd	ddd	g       | j                  ddd|fdd|fdd|fgd	dg d       | j                  d dd|fdd|fdd|fgd	d!ddg       | j                  d"dd|fdd|fdd|fgd	d#dg       | j                  d$d%d|fdd&|f|d%d'|fgd	d(g d)       | j                  d*d%d|fdd&|f|d%d'|fgd	d+g d,       | j                  d-d%d|fdd&|f|d%d'|fgd	d#g d.       | j                  d/d%d|fdd&|f|d%d'|fgd	dg d0       y )1NrL   zsimple 1r   r:   r;   zsimple 2r/   z
simple 2+1rO   r.   z
simple 3+1r3   r3   r3   z
simple 3+2rP   r2   r3   r2      r3   r3   r2   z
simple 4+1   r3   r2   r3   r2   z
squish 4+1   rO   rO   rO   rO   r3   )rO   rP   rO   r1   zfixed 3fixedr1   r3   r1   r3   rP   zfixed 3 cut   zfixed 3 cut2rh   zmixed 4rq   r2   r0      rP   r2   rO   r0   z	mixed 4 a   rO   r2   rO   rP   z	mixed 4 b)rP   r2   rO   z	mixed 4 cr1   r2   rP   r3   r   rU   r   r   xs     r   test_widthszColumnsTest.test_widths   s   JJrNZ!a6Z!A52b';\Aa5!URF<\Aa7Aug?\Aa7Aug?\Aa7Aug?\Aa!9a	C\Aa!9ayB\Aa!9aw@\Aa!9a!u>Y'!A!}QqM!ug	0]ga]GAa=QqM%uqe	.^wqmWQqMQqM&uqc	, 	Y(1Q11~! !5)	6[HQq>71Q-1~# !5)	6[HQq>71Q-1~# !5'	4[HQq>71Q-1~# !5)	6r   c           	         t        j                  d      }| j                  d||gddddgd       | j                  d||gddddgd       | j                  d	|||gddg d
d       | j                  d|||gddg dd       | j                  d|||gddg dd       | j                  d||||gddg dd       | j                  d||||gddg dd       | j                  d||||gddg dd       | j                  d||||gddg dd       | j                  ddd|fdd|fdd|fgddg dd       | j                  d dd|fdd|fdd|fgdd!g d"d       | j                  d#dd|fdd|fdd|fgdd$g d%d       | j                  d&d'd|fdd(|f|d'd|fgdd)g d*d       | j                  d+d'd|fdd(|f|d'd|fgdd,g d-d       | j                  d.d'd|fdd(|f|d'd|fgdd/g d0d       | j                  d1d'd|fdd(|f|d'd|fgddg d2d       y )3NrL   zend simple 2r   r:   r/   rO   zend simple 2+1r.   zend simple 3+1r   rP   zend simple 3+2r   r   r   zend simple 4+1r   r   r0   zend squish 4+1r   r   r   )r   rO   rP   rO   r   )r   r   rP   rO   zend fixed 3r   r1   r3   r   zend fixed 3 cutr   )r   r3   rP   zend fixed 3 cut2)   )r   r   rP   zend mixed 4rq   r2   r   r   zend mixed 4 ar   r   zend mixed 4 brh   )r   r2   rO   rP   zend mixed 4 cr   r   r   s     r   test_widths_focus_endz!ColumnsTest.test_widths_focus_end   s   JJrNNQqE1ebWa@$qeQ1vqA$q1gq%!D$q1gq%!D$q1gq%!D$q1QiE9aH$q1QiD)QG$q1QiD)QG$q1QiD)QGMWQqM71Q-QqM$ugq	2%1wqmQqM(ugq	2&'!A!}QqM)tWa	1 	MXaNGAa=1~$ !5)Q	8Ox!nga]1~& !5)Q	8Ox!nga]1~& !5)Q	8Ox!nga]1~& !5)Q	8r   c
                    t        j                  ||      }
|
j                  |||      }||k(  sJ |d|d|       |
j                  |k(  sJ |d|d|
j                         |
j	                  |      }||	k(  sJ |d|	d|       y )Nr   r{   z expected focus_col z got z expected pref_col )r   r|   move_cursor_to_coords	focus_colr@   )r   r!   rA   r~   r   colrowr)   f_colpref_colrb   r(   pcs                r   mctestzColumnsTest.mctest   s    MM1f&&&c38s{Dd3tDD{{{e# 	&%&& 	&#^^T#X~ 	 (B   	 ~r   c                 `   t        j                  dd      t        d      t        j                  d      }}}| j	                  d|||gddddddd 	       | j	                  d|||gddddd	dd	       | j	                  d
|||gddddd	dd	       | j	                  d|||gddddd	dd	       | j	                  d|||gddddd	dd	       | j	                  d|||gddddd	dd	       | j	                  d|||gddddd	dd	       | j	                  d|||gddddd	dd	       | j	                  d|||gddddd	dd	       | j	                  d|||gddddd	dd	       | j	                  d|||gddddd	dd	       | j	                  d|||gddddd	dd	       | j	                  d|||gddddd	dd	       | j	                  d|||gddddd	dd	       | j	                  d|||gddddd	dd	       | j	                  d|||gddddd	dd 	       | j	                  d!|||gdd"d!dd	dd!	       | j	                  d#|||gdd"d#dd	dd#	       y )$NrL   znothing selectblrO   r:   r.   r   Fzdead onTzl edger3   zr edger   zl offrP   zr off   zl off 2zr off 2z	l betweenz	r betweenzl between 2l)   zr between 2lr   zl between 2rr   zr between 2r   zl e edgezr e edger   rS   r   left)r   rV   r   rU   r   )r   rZ   sr   s       r   test_move_cursorzColumnsTest.test_move_cursor   s   **R#N2$6

2a1&!Awqq54HIq1gaa$q;Ha!WQuQqa:Ha!WQuR$q<GQqGAeAaQq9GQqGAeBqa;Iq1gaa$q;Iq1gab4"=K1Q%!D1=K1Q%1T!B?NAa71U1QtAa@NAa71U2aQrBNAa71U1QtAa@NAa71U2aQrB 	J!Awqq4!<J!Awqr!D2> 	GaAY5'1dAwOFQ1Iq%D!VLr   c                 <    t        j                  d dD               y )Nc              3   F   K   | ]  }t        j                  |        y wr
   r_   r`   s     r   rc   z9ColumnsTest.test_init_with_a_generator.<locals>.<genexpr>   s     3ejjm3rd   re   )r   r|   r5   s    r   rf   z&ColumnsTest.test_init_with_a_generator   s    3U33r   c                    t        j                  t        j                  d      t        j                  d      gdg      }| j	                  |j
                  dg       g |_        | j	                  |j
                  g        y )Nrp   r   rO   box_columns)r   r|   rU   rs   rj   r   r   rb   s     r   test_old_attributeszColumnsTest.test_old_attributes   s_    MM5::d+U__T-BC,+r   c                 b   t        j                  t        j                  t        j                               t        j                  d      gdg      }|j                  dd       |j                  d       |j                  ddd       |j                  dddddd       |j                  d       y )	NrL   r   r   rh   r   foorO   T)
r   r|   FillerrV   rU   r=   get_cursor_coordsr   rl   r@   r   s     r   test_box_columnzColumnsTest.test_box_column   s    MM5<<

5ejjnE	

5#	E"	q!,	eUAq!T2	ur   N)r   )r   r   r   r   r   r   r   r   rf   r   r   r   r   r   ry   ry      s,    E
6:88 M44,r   ry   c                       e Zd Zd Zd Zy)OverlayTestc                    t        j                  t        j                  d      t        j                  d      dddd      }| j                  |j                  d   d   d       t        j                  t        j                  d      t        j                  d      d	d
dd      }| j                  |j                  d   d   d       y )NXO)
fixed leftr2   )fixed rightr1   )	fixed topr0   )fixed bottomrP   rO   )r   Nrelatived   Nr2   r1   r%   Nr   r   Nr0   rP   )r   r2   )r   r1   )r   r0   )r   rP   )rS   Nr   r   Nr1   r2   r&   Nr   r   NrP   r0   )r   Overlayrs   rj   contents)r   o1o2s      r   test_old_paramszOverlayTest.test_old_params	  s    ]]5??40%//$2G114 	Q* -6 	7 ]]5??40%//$2G 1!14 	Q* -9 	:r   c           
          | j                  t        j                  t        j                  t        j                               t        j
                  d      dddd      j                  d      d       y )NBrS   rO   r&   )rP   rP   )rO   rO   )rj   r   r   r   rV   rs   r   r5   s    r   test_get_cursor_coordsz"OverlayTest.test_get_cursor_coords  sO    u||EJJL'AOOD!Q!%%6%6u%=u	Fr   N)r   r   r   r   r   r   r   r   r   r     s    :Fr   r   c                   $    e Zd Zd Zd Zd Zd Zy)GridFlowTestc                 n    t        j                  g dddd      }| j                  |j                  d       y Nr2   r   r   )r   GridFlowrj   
cell_widthr   gfs     r   test_cell_widthzGridFlowTest.test_cell_width  s,    ^^B1a0*r   c           	      H    t        t        j                  g dddd             y r   )reprr   r   r5   s    r   test_basicszGridFlowTest.test_basics"  s    U^^B1a01r   c                     t        j                  t        j                  d      gdddd      }| j                  |j	                  dd      d       y )Nr6   r/   r0   rO   center)(   F)r   r   rU   rj   r   r   s     r   
test_v_sepzGridFlowTest.test_v_sep%  s?    ^^UZZ/0"aHE.2r   c                     t        j                         }t        j                  d|      }t        j                  |gdddd      }| j                  |j                  dd      d	       |j                  |       y	)
zt
        Ensure proper keypress handling when v_sep is 0.
        https://github.com/urwid/urwid/issues/387
        r6   r/   r0   r   r   )v_sepalignr:   enterN)mockMockr   Buttonr   rj   r=   assert_called_with)r   	call_backbuttonr   s       r   test_keypress_v_sep_0z"GridFlowTest.test_keypress_v_sep_0)  s`    
 IIK	fi0^^VHb!1HEUG4d;$$V,r   N)r   r   r   r   r   r   r   r   r   r   r   r     s    +23	-r   r   c                   T    e 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y)WidgetSquishTestc                 @   |j                  dd      }|j                         dk(  sJ |j                  dd      }|j                         dk(  sJ |j                  dd      }|j                         dk(  sJ |j                  dd      }|j                  d	d      }y )
N)P   r   F)r   r   T)r   rO   rO   )r   r   )rO   r   )rt   r   )r   wrb   s      r   wstestzWidgetSquishTest.wstest6  s    HHV5H)vvx1}}HHV4H(vvx1}}HHV5H)vvx1}}HHWEH*HHWEH*r   c                 X    fd} |dd        |dd        |dd        |dd       y )Nc                 .   j                  | f|      }j                  | f|      }|j                         |k(  sJ |j                         |f       |rBt        d      r5j                  | f      }|j                  |k(  sJ |j                  |f       y y y )Nr   )r   rt   hasattrr   cursor)colsr   wrowsrb   gccr   s        r   tz#WidgetSquishTest.fwstest.<locals>.tA  s    FFD7E*E$%(A668u$7qvvx&77$$78))4'2xx3737 9ur   r   FrO   Tr   )r   r   r   s    ` r   fwstestzWidgetSquishTest.fwstest@  s.    	8 	
!U	!U	!T
	!T
r   c           	         | j                  t        j                  t        j                  g                    | j                  t        j                  t        j                  t        j                  d      g                   y Nhello)r   r   ListBoxSimpleListWalkerrU   r5   s    r   test_listboxzWidgetSquishTest.test_listboxM  sN    EMM%"8"8"<=>EMM%"8"8%**W:M9N"OPQr   c                 P    | j                  t        j                  ddg             y )Nr   bar)r   r   BarGraphr5   s    r   test_bargraphzWidgetSquishTest.test_bargraphQ  s    ENNE%=12r   c                     | j                  t        j                  dgd             | j                  t        j                  dgd             y )N)r   r   rO   )r2   r   )r   r   GraphVScaler5   s    r   test_graphvscalez!WidgetSquishTest.test_graphvscaleT  s8    E%%{mQ78E%%{mQ78r   c                 J    | j                  t        j                                y r
   )r   r   rs   r5   s    r   test_solidfillzWidgetSquishTest.test_solidfillX  s    EOO%&r   c                 r    | j                  t        j                  t        j                  d                   y r   )r   r   r   rU   r5   s    r   test_fillerzWidgetSquishTest.test_filler[  s     ELLG!456r   c           
      b   | j                  t        j                  t        j                  dt        j                               t        j
                         dd dd              | j                  t        j                  t        j                  d      t        j
                         dddd              y )Nr   r   middle)r   r   )r   r   r   BigTextThin6x6Fontrs   rU   r5   s    r   test_overlayzWidgetSquishTest.test_overlay^  s{    EMMMM'%"3"3"56OOdHd, 	- 	EMMJJw!2((D: 	;r   c           	         | j                  t        j                  t        j                                      | j                  t        j                  t        j                         t        j                  d                   | j                  t        j                  t        j                         t        j                  d      t        j                  d                   y )Nr   )r   r   r   )r   r   r   rs   rU   r5   s    r   
test_framezWidgetSquishTest.test_frameg  s    EKK 123EKK 1::g&( 	)EKK 1::g&::g&( 	)r   c                 .   | j                  t        j                  t        j                         g             | j                  t        j                  dt        j                  d      fg             | j                  t        j                  g              y )Nflowr   )r   r   r<   rs   rU   r5   s    r   	test_pilezWidgetSquishTest.test_pileo  s[    EJJ 1234EJJG)< =>?@EJJrN#r   c                     | j                  t        j                  t        j                         g             | j                  t        j                  dt        j                         fg             y )Nr1   )r   r   r|   rs   r5   s    r   test_columnszWidgetSquishTest.test_columnst  sE    EMM5??#4"567EMMAu'8#9":;<r   c                     | j                  t        j                  d             | j                  t        j                  g d             y r   )r   r   r   RadioButtonr5   s    r   test_buttonszWidgetSquishTest.test_buttonsx  s0    U\\(+,U&&r845r   N)r   r   r   r   r   r   r  r  r  r
  r  r  r  r  r  r   r   r   r   r   5  s?    +R39'7;)$
=6r   r   c                   6    e Zd Zd Zd Zd Zd Zd Zd Zd Z	y)	CommonContainerTestc                 
   t        j                  d      t        j                  d      }t        j                  d      }t        j                  d      }t        j                  g       | j	                  j
                  d        | j                  t        fd       | j                  t        fd       | j                  t        fd       df|df|d	f|dfg_        d
_	        j                  d= | j	                  j                  d       |df|dfgj                  dd j                  j                  ddf       | j	                  j                  d       | j                  t         j                  fd       | j                  t         j                  fd       | j                  t         j                  fd       t        j                  |g      | j	                  j
                         | j	                  j                  d       d
_	        | j	                  j
                  |       | j	                  j                  d
       d_	        | j                  t        fd       | j                  t        fd       j                  d       | j                  t        fd       | j                  t        fd       j                  |       | j	                  j                  d
       | j                  t        fd       | j	                  j                  |g       | j	                  j                  ddg       |g_        | j	                  j                  |g       | j	                  j                  |dfdfg       | j	                  j                  d
       ddg_        | j	                  j                  ddg       | j	                  j                  |dfdfg       | j	                  j                  d
       g_        | j	                  t!        j                        d
       | j	                  j                  d       j                  j#                  |g       | j	                  t!        j                        d       | j	                  j                  g d       dgj                  d d  | j	                  t!        j                        d
       y )Nonetwothreer   c                      t         d      S Nrk   getattrrG   s   r   <lambda>z/CommonContainerTest.test_pile.<locals>.<lambda>      ga9I.J r   c                      t         dd       S r"  setattrr%  s   r   r&  z/CommonContainerTest.test_pile.<locals>.<lambda>      ga9I/ r   c                      t         dd      S Nrk   r   r)  r%  s   r   r&  z/CommonContainerTest.test_pile.<locals>.<lambda>      ga9I1.M r   packN)givenr0   rO   r   r0   rP   c                  :     j                   j                        S r
   r   appendrG   t1s   r   r&  z/CommonContainerTest.test_pile.<locals>.<lambda>  s    1::3D3DR3H r   c                  >     j                   j                  d f      S r
   r3  r5  s   r   r&  z/CommonContainerTest.test_pile.<locals>.<lambda>  s    1::3D3Db$Z3P r   c                  >     j                   j                  df      S Nr1  r3  r5  s   r   r&  z/CommonContainerTest.test_pile.<locals>.<lambda>  s    1::3D3Db']3S r   c                      t         dd      S Nrk   r)  r%  s   r   r&  z/CommonContainerTest.test_pile.<locals>.<lambda>      ga9I2.N r   c                      t         dd      S Nrk   rP   r)  r%  s   r   r&  z/CommonContainerTest.test_pile.<locals>.<lambda>  r.  r   c                  &     j                  d      S Nr<  	set_focusr%  s   r   r&  z/CommonContainerTest.test_pile.<locals>.<lambda>      akk"o r   c                  &     j                  d      S )NrP   rB  r%  s   r   r&  z/CommonContainerTest.test_pile.<locals>.<lambda>      akk!n r   c                  &     j                  d      S NnonexistantrB  r%  s   r   r&  z/CommonContainerTest.test_pile.<locals>.<lambda>      akk-.H r   rq   rO   r  Nrq   rP   rL  rK  rK  )r   rU   rs   r<   rj   r   assertRaises
IndexErrorr   rk   insert	PileErrorrC  
ValueErrorwidget_list
item_typeslenextend)r   t2t3sfrG   r6  s       @@r   r  zCommonContainerTest.test_pile~  s   ZZZZZZ!__S!JJrN$'*&JK* ' 	*&MN>*R,@^ 46
JJqM))1-/"n1EF

1Q	

!b.12))1-%//+HI%//+PQ%//+STJJBx "%))1-"%))1-*&NO*&MN	A*&=>*&<=	B))1-*&HIR1}'EFRR1r=&9B;N%OP))1-&6'FGr>&:R<O%PQ))1-QZZ!,))1-	b"X&QZZ!, (: 	;(/QQZZ!,r   c                 
   t        j                  d      t        j                  d      }t        j                  d      }t        j                  d      }t        j                  g       | j	                  j
                  d        | j                  t        fd       | j                  t        fd       | j                  t        fd       df|d	f|d
f|dfg_        d_	        j                  d= | j	                  j                  d       |df|d	fgj                  dd j                  j                  ddf       | j	                  j                  d       | j                  t         j                  fd       | j                  t         j                  fd       | j                  t         j                  fd       t        j                  |g      | j	                  j
                         | j	                  j                  d       d_	        | j	                  j
                  |       | j	                  j                  d       d_	        | j                  t        fd       | j                  t        fd       t        j                  dd|f|gdg      j                  d       | j                  t        fd       | j                  t        fd       j                  |       | j	                  j                  d       | j                  t        fd       | j	                  j                  ||g       | j	                  j                  g d       | j	                  j                   dg       ||g_        | j	                  j                  ||g       | j	                  j                   dg       | j	                  j                  |d	fdf|dfg       | j	                  j                  d       g d_        | j	                  j                  g d       | j	                  j                  |dfdf|dfg       | j	                  j                  d       g_        | j	                  t#        j                        d       | j	                  j                  d       j                  j%                  |g       | j	                  t#        j                        d       | j	                  j                  g d        d!gj                  d d  | j	                  t#        j                        d       y )"Nr  r  r   r   c                      t         d      S r"  r#  rb   s   r   r&  z2CommonContainerTest.test_columns.<locals>.<lambda>  r'  r   c                      t         dd       S r"  r)  r]  s   r   r&  z2CommonContainerTest.test_columns.<locals>.<lambda>  r+  r   c                      t         dd      S r-  r)  r]  s   r   r&  z2CommonContainerTest.test_columns.<locals>.<lambda>  r.  r   )r0  NF)rq   rO   F)rq   rP   T)r1  r/   FrO   r   r0   rP   c                  :     j                   j                        S r
   r3  rb   r6  s   r   r&  z2CommonContainerTest.test_columns.<locals>.<lambda>  s    ajj6G6G6K r   c                  >     j                   j                  d f      S r
   r3  ra  s   r   r&  z2CommonContainerTest.test_columns.<locals>.<lambda>  s    ajj6G6GT
6S r   c                  >     j                   j                  df      S r9  r3  ra  s   r   r&  z2CommonContainerTest.test_columns.<locals>.<lambda>  s    ajj6G6GW6V r   c                      t         dd      S r;  r)  r]  s   r   r&  z2CommonContainerTest.test_columns.<locals>.<lambda>  r=  r   c                      t         dd      S r?  r)  r]  s   r   r&  z2CommonContainerTest.test_columns.<locals>.<lambda>  r.  r   rq   r   c                  &     j                  d      S rA  rB  r]  s   r   r&  z2CommonContainerTest.test_columns.<locals>.<lambda>  rD  r   c                  &     j                  d      S Nr0   rB  r]  s   r   r&  z2CommonContainerTest.test_columns.<locals>.<lambda>  rF  r   c                  &     j                  d      S rH  rB  r]  s   r   r&  z2CommonContainerTest.test_columns.<locals>.<lambda>  rJ  r   )rK  )rq   r0   rK  )rq   r0   F)rq   rO   T)rL  rM  )r   r2   )rq   rP   F)r1  r2   TrN  rM  )r   rU   rs   r|   rj   r   rO  rP  r   rk   rQ  ColumnsErrorrC  rS  rT  column_typesr   rV  rW  )r   rX  rY  rZ  rb   r6  s       @@r   r  z CommonContainerTest.test_columns  s   ZZZZZZ!__S!MM"$'*&JK* ' 	*&MN&'%&$%%&	(

 JJqM))1-%&%&(

1Q 	


!b"789))1-%,,.KL%,,.ST%,,.VWMM2r(#"%))1-"%))1-*&NO*&MNMM2!R0"5A3G	A*&=>*&<=	B))1-*&HIR5 *9 	:,RR5,%&%&$%&' 	( 	))1- 	 * 	 	&'%&#$&& 	' 	))1-QZZ!,))1-	b"X&QZZ!, *: 	;*OqQZZ!,r   c                 ,   t        j                  t        j                  g             | j                  j                  d        | j                  t        fd       | j                  t        fd       | j                  t        fd       t        j                  d      }t        j                  d      }t        j                  t        j                  ||g            | j                  j                  |       | j                  j                  d       d_	        | j                  j                  |       | j                  j                  d       d_	        | j                  t        fd       | j                  t        fd	       y )
Nc                      t         d      S r"  r#  lbs   r   r&  z3CommonContainerTest.test_list_box.<locals>.<lambda>      gb:J.K r   c                      t         dd       S r"  r)  rn  s   r   r&  z3CommonContainerTest.test_list_box.<locals>.<lambda>      gb:J/ r   c                      t         dd      S r-  r)  rn  s   r   r&  z3CommonContainerTest.test_list_box.<locals>.<lambda>      gb:JA.N r   r  r  r   rO   c                      t         dd      S r;  r)  rn  s   r   r&  z3CommonContainerTest.test_list_box.<locals>.<lambda>      gb:JB.O r   c                      t         dd      S r?  r)  rn  s   r   r&  z3CommonContainerTest.test_list_box.<locals>.<lambda>  rt  r   )
r   r   SimpleFocusListWalkerrj   r   rO  rP  rU   r   rk   )r   r6  rX  ro  s      @r   test_list_boxz!CommonContainerTest.test_list_box
  s&   ]]566r:;4(*&KL* ' 	*&NOZZZZ]]5112r(;<2&**A.2&**A.*&OP*&NOr   c                 L   t        j                  g dddd      | j                  j                  d        | j                  j                  g        | j                  t        fd       | j                  t        fd       | j                  t        fd       | j                  j                         d       | j                  j                  d	
      d       | j                  t         j                  fd       t        j                  d      t        j                  d      }t        j                  |gdddd      | j                  j                         | j                  j                  d       | j                  j                  df|dfg       d_
        | j                  j                  |       | j                  j                  d       j                  j                  d|df       | j                  j                  d       | j                  t         j                  fd       | j                  t         j                  fd       d_
        | j                  t        fd       | j                  t        fd       j                  d       | j                  t        fd       | j                  t        fd       j                         | j                  j                  d       | j                  t        fd       y )Nr2   rO   r   r   c                      t         d      S r"  r#  r   s   r   r&  z4CommonContainerTest.test_grid_flow.<locals>.<lambda>"  rp  r   c                      t         dd       S r"  r)  r|  s   r   r&  z4CommonContainerTest.test_grid_flow.<locals>.<lambda>#  rr  r   c                      t         dd      S r-  r)  r|  s   r   r&  z4CommonContainerTest.test_grid_flow.<locals>.<lambda>%  rt  r   )r1  r2   r.   )width_amount)r1  r.   c                  (     j                  dd       S )Nr0  )optionsr|  s   r   r&  z4CommonContainerTest.test_grid_flow.<locals>.<lambda>(  s    rzzD8 r   r  r  rP   c                  :     j                   j                  d      S )Nr   r3  r|  s   r   r&  z4CommonContainerTest.test_grid_flow.<locals>.<lambda>6  s    r{{7I7I"7M r   c                  @     j                   j                  ddf      S )NrO   r/  )r   rQ  )r   r6  s   r   r&  z4CommonContainerTest.test_grid_flow.<locals>.<lambda>7  s     r{{7I7I! 8" r   c                      t         dd      S r;  r)  r|  s   r   r&  z4CommonContainerTest.test_grid_flow.<locals>.<lambda>:  rv  r   c                      t         dd      S )Nrk   r0   r)  r|  s   r   r&  z4CommonContainerTest.test_grid_flow.<locals>.<lambda>;  rt  r   c                  &     j                  d      S rA  rB  r|  s   r   r&  z4CommonContainerTest.test_grid_flow.<locals>.<lambda>>  s    bll2.> r   c                  &     j                  d      S rh  rB  r|  s   r   r&  z4CommonContainerTest.test_grid_flow.<locals>.<lambda>?  s    bll1o r   c                  &     j                  d      S rH  rB  r|  s   r   r&  z4CommonContainerTest.test_grid_flow.<locals>.<lambda>B  s    bll=.I r   )r   r   rj   r   r   rO  rP  r  GridFlowErrorrU   rk   rQ  rC  rS  )r   rX  r   r6  s     @@r   test_grid_flowz"CommonContainerTest.test_grid_flow  sf   ^^B1a04(b)*&KL* ' 	*&NO|43\B%-- 0 	 ZZZZ^^RHaAv62&**A.L'9B;M&NO2&**A.
1r<01**A.%--/MN%-- 0" 	#*&OP*&NO
Q*&>?*&=>
R**A.*&IJr   c                    t        j                  d      }t        j                  d      }t        j                  ||dddd      | j                  j                  |       | j                  j
                  d       | j                  t        fd       | j                  t        fd       | j                  j                  d	   |t         j                  j                  f       | j                  j                  d   |d
f       y )N12r   )r   2   r  rO   c                      t         dd       S r"  r)  os   r   r&  z2CommonContainerTest.test_overlay.<locals>.<lambda>K  r+  r   c                      t         dd      S r?  r)  r  s   r   r&  z2CommonContainerTest.test_overlay.<locals>.<lambda>M  r.  r   r   )r   Nr   r  Nr   r   r  Nr   r  Nr   r   )
r   rs   r   rj   r   rk   rO  rP  r   _DEFAULT_BOTTOM_OPTIONS)r   s1s2r  s      @r   r  z CommonContainerTest.test_overlayD  s    __T"__T"MM"b&2BD"%))1-* ' 	*&MNAMM11)3 	4A .8 )9 	:r   c                    t        j                  d      }t        j                  |      | j                  j                  |       | j                  j
                  d       | j                  t        fd       | j                  t        fd       t        j                  d      t        j                  d      }t        j                  d      }t        j                  ||d      | j                  j                         | j                  j
                  d       d	_        | j                  j                  |       | j                  j
                  d	       | j                  t        fd
       | j                  t        fd       j                  d	= | j                  j                  d        | j                  j
                  d       j                  j                  |d f|d f       | j                  j                  |       | j                  j                  |       fd}| j                  t         j                  |       fd}| j                  t         j                  |       y )Nr  r-   c                      t         dd       S r"  r)  r'   s   r   r&  z0CommonContainerTest.test_frame.<locals>.<lambda>[  r+  r   c                      t         dd      S )Nrk   r   r)  r  s   r   r&  z0CommonContainerTest.test_frame.<locals>.<lambda>]  s    ga9I/ r   r  r  r   r   r   c                      t         dd      S r;  r)  r  s   r   r&  z0CommonContainerTest.test_frame.<locals>.<lambda>i  r=  r   c                      t         dd      S r?  r)  r  s   r   r&  z0CommonContainerTest.test_frame.<locals>.<lambda>j  r.  r   )r   r   c                  $     j                   d<   y )Nr-   r   r'   r6  s   r   set1z,CommonContainerTest.test_frame.<locals>.set1q  s    !#AJJvr   c                  (    df j                   d<   y )Nr1  r-   r  r  s   r   set2z,CommonContainerTest.test_frame.<locals>.set2t  s    "$gAJJvr   )r   rs   r   rj   r   rk   rO  rP  rU   r   r   updater   
FrameError)r   r  rX  rY  r  r  r'   r6  s         @@r   r  zCommonContainerTest.test_frameU  s   __T"KKO"%))62* ' 	* ' 	 ZZZZZZ!KKBH-"%))84#"%))84*&NO*&MNJJx 4())62	

"dRJ?2&2&	$%**D1	/%**D1r   c                   
 t        j                  d      }t        j                  d      }t        j                  ||||g      }t        j                  ||||g      }t        j
                  |d      }t        j                  d      }t        j                  ||dddd      }t        j                  t        j                  ||||g            }d|_
        t        j                  ||||||gd	d
d
d      }	d|	_
        t        j                  |||	      
| j                  
j                         g d       
j                  dg       | j                  
j                         ddg       
j                  g d       | j                  
j                         g d       | j!                  t"        
fd       | j!                  t"        
fd       
j                  ddg       | j                  
j                         g d       y )Nr   ?zgets ignored/r   r0  r  rO   r/   r   r   r1   r  )r-   rO   rP   rO   r   )r-   rO   rP   rP   c                  *     j                  g d      S )N)r   rO   rP   set_focus_pathr  s   r   r&  z5CommonContainerTest.test_focus_path.<locals>.<lambda>  s    a.>.>y.I r   c                  *     j                  g d      S )N)r-   rP   rP   r  r  s   r   r&  z5CommonContainerTest.test_focus_path.<locals>.<lambda>  s    a.>.>~.N r   r-   rP   )r-   rP   rO   )r   rU   rV   r|   r<   AttrMaprs   r   r   rx  rk   r   r   rj   get_focus_pathr  rO  rP  )r   r   rZ   rb   rG   rp   r   r  ro  gr'   s             @r   test_focus_pathz#CommonContainerTest.test_focus_pathx  s   JJtJJtMM1aA,'JJ1a|$MM!^,OOD!MM!Q&(FC]]5661a|DENNAq!Q1-r1a@KK1Q/))+->?	($))+h];	*+))+->?*&IJ*&NO	&!%))+^<r   N)
r   r   r   r  r  ry  r  r  r  r  r   r   r   r  r  }  s,    9-vO-bP($KL:"!2F=r   r  )unittestunittest.mockr   ImportErrorurwid.tests.utilr   r   TestCaser   r8   ry   r   r   r   r  r   r   r   <module>r     s     
 , 5!! 5pH;x   H;Vt(## tpF(## F*-8$$ -0E6x(( E6PR=(++ R=q  s   B* *	B65B6