
    ;OOf                         d dl 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y)	    N)Bc                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)TextTestc                 8    t        j                  d      | _        y )NzI walk the
city in the night)urwidTexttselfs    X/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/urwid/tests/test_widget.pysetUpzTextTest.setUp	   s    ;<    c                     dD cg c]  }t        |       }}| j                  j                  d      j                  }||k(  sJ d|d|       y c c}w )N)z
I walk thez
city in   z
the night )
   got:  expected: )r   r	   render_textr   r	   expectedgots       r   
test1_wrapzTextTest.test1_wrap   sM    "JKQAaDKKffmmE"((hH#x HH Ls   Ac                     | j                   j                  d       dD cg c]  }t        |       }}| j                   j                  d      j                  }||k(  sJ d|d|       y c c}w )Nleft)zI walk the        zcity in the night    r   r   r	   set_align_moder   r   r   r   s       r   
test2_leftzTextTest.test2_left   s_    f%"MNQAaDNNffmmE"((hH#x HH O   A,c                     | j                   j                  d       dD cg c]  }t        |       }}| j                   j                  d      j                  }||k(  sJ d|d|       y c c}w )Nright)z        I walk the city in the nightr   r   r   r   r   s       r   test3_rightzTextTest.test3_right   s_    g&"MNQAaDNNffmmE"((hH#x HH Or    c                     | j                   j                  d       dD cg c]  }t        |       }}| j                   j                  d      j                  }||k(  sJ d|d|       y c c}w )Ncenter)z    I walk the    r#   r   r   r   r   r   s       r   test4_centerzTextTest.test4_center   s_    h'"MNQAaDNNffmmE"((hH#x HH Or    c                     t        j                  d       t        d      g}t        j                  d      j	                  d      j
                  }||k(  sJ d|d|       y )Nasciiz?     û)   r   r   )r   set_encodingr   r   r   r   )r   r   r   s      r   test5_encode_errorzTextTest.test5_encode_error#   sP    7#eH:jj&&t,22hH#x HHr   N)	__name__
__module____qualname__r   r   r   r$   r'   r-    r   r   r   r      s%    =I
IIIIr   r   c                   6    e Zd Zd Zd Zd Zd Zd Zd Zd Z	y)	EditTestc                    t        j                  t        d      d      | _        t        j                  t        d      d      | _        t        j                  t        d      dd      | _        t        j                  d      | _        y )N 	blah blahzstuff:zjunk:
zblah blah

bloo   zbetter:)r   Editr   t1t2t3t4r
   s    r   r   zEditTest.setUp+   sW    **QrU;/**Qx[+6**Qy\*=a@**Z(r   c                     |j                  d|      }||k(  sJ |d|d|       |j                  |k(  sJ |d|j                  d|       y )N   z.  got: z
 expected:z. pos: z expected pos: )keypressedit_pos)r   ekeyr   posdescr   s          r   ktestzEditTest.ktest1   s]    ZZc"h 	HdC>F!H 	HzzS  	#!**c## 	# r   c                 *   | j                   j                  d       | j                  | j                   dddd       | j                  | j                  dd dd       | j                  j                  d       | j                  | j                  dd dd       y )	Nr   r   zleft at left edge   zleft within textr   	   zleft after newline)r9   set_edit_posrF   r:   r;   r
   s    r   
test1_leftzEditTest.test1_left8   sq    Q

4776&+>?

4776$q);<R 

4776$q)=>r   c                 d   | j                  | j                  dddd       | j                  j                  d       | j                  | j                  dd dd       | j                  j                  d       | j                  j                  dd       | j                  j                  d      dk(  sJ y )	Nr"   rI   zright at right edgerH   zright at right edge-1r   r>   r7   )rF   r9   r:   rJ   r;   r@   get_pref_colr
   s    r   test2_rightzEditTest.test2_rightA   s    

477771-BCQ

47774*ABQw'ww##E*a///r   c                    | j                  | j                  dddd       | j                  j                  d       | j                  j	                  dd       | j                  j                  d      dk(  sJ | j                  | j                  dddd	       | j                  j                  d      dk(  sJ | j                  j                  d
       | j                  | j                  dd dd       y )NuprI   z	up at top   r>   r      r7   zup at top againr   r   zup at top+1)rF   r9   r:   rJ   r@   rM   r;   r
   s    r   test3_upzEditTest.test3_upJ   s    

4774Q{3Qv&ww##E*a///

4774Q'89ww##E*a///R 

4774Q}5r   c                 2   | j                  | j                  dddd       | j                  j                  d       | j                  | j                  dd dd       | j                  | j                  dd dd       | j                  | j                  dddd	       y )
NdownrI   zdown single line   r   zdown line 1 to 2   zdown line 2 to 3zdown at bottom)rF   r9   r;   rJ   r
   s    r   
test4_downzEditTest.test4_downT   sx    

4776&+=>Q

4776$r*<=

4776$r*<=

4776&,<=r   c                    t        j                  d       | j                  j                  d       | j                  j	                  dd       | j                  | j                  j                  dj                  d             | j                  j	                  dd       | j                  | j                  j                  d       y )Nzutf-8r5   r>   r*   )	r   r,   r9   set_edit_textr@   assertEqual	edit_textencoder<   r
   s    r   test_utf8_inputzEditTest.test_utf8_input[   s    7#b!&**ELL,AB&**E2r   N)
r.   r/   r0   r   rF   rK   rN   rS   rX   r^   r1   r   r   r3   r3   *   s%    )#?06>3r   r3   c                   *    e Zd Zd Zd Zd Zd Zd Zy)EditRenderTestc                    |D cg c]  }t        |       }}|j                  d      }||k(  sJ d|d|       |j                  dd      }|j                         D cg c]  }|d   	 c}D 	cg c]  \  }}	}|
 }
}	}}|
|k(  sJ d|
d|       |j                  |k(  sJ d|j                  d|       y c c}w c c}w c c}}	}w )N   r   r   r7   )focusr   )r   get_cursor_coordsr   contentcursor)r   wexpected_textexpected_cursorr	   
get_cursorrlnacstexts              r   rtestzEditRenderTest.rteste   s    '45!155((.
_, 	)/) 	),HHT1H%3499;"?R2a5"?@@haQ@@}$ 	O@M'O 	O$xx?* 	'HHo-' 	'* 6
 #@@s   B>!C4Cc                 `   t        j                  dd      }|j                  d       | j                  |ddgd       |j                  d       | j                  |ddgd       |j                  d	       | j                  |ddgd
       |j                  d       | j                  |ddgd       y )Nr5   r6   r   blahr   r   rc   zlah r+   r   rV   r   r7   rI   r+   r7   )r   r8   rJ   rq   r   rh   s     r   test1_SpaceWrapzEditRenderTest.test1_SpaceWrapq   s    JJr+&	q

1fV_U+	q

1fV_U+	q

1fV_U+	q

1fV_U+r   c                 Z   t        j                  ddd      }|j                  d       |j                  d       | j	                  |ddgd       |j                  d	       | j	                  |dd
gd       |j                  d       |j                  d       | j	                  |ddgd       y )Nr5   zblah
blarghr7   clipr   rs   blarrt   r   arghrw   r"      largrv   )r   r8   set_wrap_moderJ   rq   r   rx   s     r   test2_ClipWrapzEditRenderTest.test2_ClipWrap   s    JJr.+		q

1fV_U+	r

1fV_U+	!	q

1fV_U+r   c                 |    t        j                  dd      }|j                  d       | j                  |g dd       y )Nr5   r6   any)rs   z blazh   )r7   rQ   )r   r8   r   rq   rx   s     r   test3_AnyWrapzEditRenderTest.test3_AnyWrap   s/    JJr+&	

1+E2r   c                     t        j                  ddd      }|j                  dd       | j                  |dgd       |j                  dd	       | j                  |d
gd       y )Nr5   hir"   )alignrb   endz hi ru   r   z  hi)r   r8   r@   rq   rx   s     r   test4_CursorNudgez EditRenderTest.test4_CursorNudge   sT    JJr$W-	

4

1fXe$	

4

1fXe$r   N)r.   r/   r0   rq   ry   r   r   r   r1   r   r   r`   r`   d   s    
',,3%r   r`   )unittesturwid.compatr   r   TestCaser   r3   r`   r1   r   r   <module>r      sH      Ix   ID73x   73t5%X&& 5%r   