
    ;OOf*                     h   d dl Z d dlmZ d dlmZ d dlZ G d de      Z G d dee j                        Z G d d	ee j                        Z	 G d
 dee j                        Z
 G d dee j                        Z G d dee j                        Z G d dee j                        Z G d de j                        Z G d de j                        Z G d de      Z G d dee j                        Z G d dee j                        Z G d dee j                        Z G d dee j                        Z G d  d!ee j                        Z G d" d#ee j                        Z G d$ d%ee j                        Z G d& d'ee j                        Z G d( d)e j                        Z G d* d+e j                        Zy),    N)text_layout)Bc                       e Zd Zd Zd Zy)CalcBreaksTestc                 8   t         j                  j                  t        | j                        || j
                        }t        |      t        |      k(  sJ t        ||f             t        ||      D ]$  \  }}|d   d   }||k(  rJ t        ||f              y )N)	r   default_layoutcalculate_text_segmentsr   textmodelenreprzip)selfwidthexpresultleends          ]/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/urwid/tests/test_text_layout.pycbtestzCalcBreaksTest.cbtest	   s    ++CCdiiL%-6{c#h&;fc](;;&vs# 	0CAaB%)C!8/T6#,//8	0    c                 P    | j                   D ]  \  }}| j                  ||        y )N)dor   )r   r   r   s      r   testzCalcBreaksTest.test   s'    '' 	&JE3KK%	&r   N)__name__
__module____qualname__r   r    r   r   r   r      s    0&r   r   c                   6    e Zd ZdZdZdddgfdg dfdg d	fgZy
)CalcBreaksCharTestanyz&abfghsdjf askhtrvs
altjhgsdf ljahtshgfd      &      )r'      r%         %   r&   
   )r,   r%      r&   Nr   r   r   r   r   r   r    r   r   r"   r"      s3    D4D 2w
(*
 
Br   r"   c                   <    e Zd Zd ZdZdZdg dfdg dfdd	d
gfgZy)CalcBreaksDBCharTestc                 .    t        j                  d       y Neuc-jpurwidset_encodingr   s    r   setUpzCalcBreaksDBCharTest.setUp"       8$r   r#   u,   abfgh¡¡j¡¡xskhtrvs
altjhgsdf¡¡jahtshgfr,   )r,   r%      r&   r'   )         r%   r)   r*   r+   r&   r$   r%   r&   Nr   r   r   r8   r   r   r   r    r   r   r0   r0   !   s:    % DFD  
,.
Bx
Br   r0   c                   6    e Zd ZdZdZdg dfdg dfddd	gfgZy
)CalcBreaksWordTestspacezhello world
out there. blahr,   )r;   r<         r;   )r;   r<   r=   rB   rC   r$   r<   rC   Nr.   r    r   r   r@   r@   /   s2    D)D o
 "
Bx
Br   r@   c                   6    e Zd ZdZdZdg dfdddgfdg d	fgZy
)CalcBreaksWordTest2rA   z!A simple set of words, really....r,   )      rB   !   r=   rG   rH      )r(   rB   rH   Nr.   r    r   r   rE   rE   :   s.    D.D
o
r2h
l
Br   rE   c                   <    e Zd Zd ZdZdZdg dfdg dfdd	d
gfgZy)CalcBreaksDBWordTestc                 .    t        j                  d       y r2   r4   r7   s    r   r8   zCalcBreaksDBWordTest.setUpE   r9   r   rA   u   hel¡¡ world
out-¡¡tre blahr,   )r;   r<         r;   )r;   r<      rM   rN   r$   r<   rN   Nr>   r    r   r   rK   rK   D   s9    % D4D o
 "
Bx
Br   rK   c                   :    e Zd Zd ZdZdZdg dfddgfdg dfgZy	)
CalcBreaksUTF8Testc                 .    t        j                  d       y Nutf-8r4   r7   s    r   r8   zCalcBreaksUTF8Test.setUpS       7#r   rA   u   æ¿æ´¼æ¸æºæ½º   )r'   r(   rG   r,   rG   r;   Nr>   r    r   r   rQ   rQ   R   s3    $ DID	
K	bT	
K
Br   rQ   c                       e Zd Zd Zy)CalcBreaksCantDisplayTestc                 h   t        j                  d       | j                  t        j                  t        j
                  j                  t        d      dd       t        j                  d       | j                  t        j                  t        j
                  j                  t        d      dd       y )Nr3   u   ¡¡   rA   rT   u   é¢)r5   r6   assertRaisesr   CanNotDisplayTextr	   r
   r   r7   s    r   r   zCalcBreaksCantDisplayTest.test`   s    8$+77&&>>jM1g	( 	7#+77&&>>nq'	,r   N)r   r   r   r   r    r   r   rX   rX   _   s    ,r   rX   c                   *    e Zd Zd Zd Zd Zd Zd Zy)
SubsegTestc                 .    t        j                  d       y r2   r4   r7   s    r   r8   zSubsegTest.setUpl   r9   r   c                     t        |      }t        j                  |      }|j                  |||      }||k(  sJ d|d|       y )Nz	Expected z, got )r   r5   LayoutSegmentsubseg)r   segr   startr   r   sr   s           r   stzSubsegTest.sto   sC    w$4-}@S@@}r   c                     | j                  dddddg       | j                  dddddg       | j                  ddd	d
dg       | j                  dddddg       y )Nr,   N r   rF   )rF   N   r,   r,   r         )rV   r      rf   r7   s    r   test1_paddingzSubsegTest.test1_paddingu   sZ    RA9+7RB5"a2"a'4r   c                    | j                  ddt        d      fdddddt        d      fg       | j                  ddt        d      fdddddt        d      fg       | j                  ddt        d	      fdddd
dt        d      fg       | j                  ddt        d	      fdddddt        d      fg       | j                  ddt        d	      fdddddt        d      fg       | j                  ddt        d	      fdddddt        d      fg       | j                  ddt        d	      fdddddt        d	      fg       y )Nr,   r   
1234567890ri   rF   12345678rj   34567890   12¡¡56¡¡90r'   u
   ¡¡56¡¡rl   r;   u    56¡¡rm   u   ¡¡56 rV   z 56 rn   )rf   r   r7   s    r   
test2_textzSubsegTest.test2_text{   s\   "a<)2q!!AjM7J6KM"a<)2q"!AjM7J6KM"a345r1aA*+,-	0"a345r1aAm$%&	)"a345r1aAm$%&	)"a345r1aAfI	""a345r1b!Q/012	5r   c                    d}| j                  d|dddg       | j                  d|dddg       | j                  d	|d
ddg       | j                  d	|dddg       | j                  d	|d
ddg       d}| j                  d|dddg       | j                  d|dddg       | j                  d	|d
dddg       | j                  d	|ddddg       | j                  d	|d
dg d       y )Nrr   r,   r   r,   r   rF   )rF   r   rF   rj   r,   )rF   rj   r,   )r'   rj   rF   rZ   r'   )r;   rl   rF   r;   )r;   rj   rm   )rV   rl   rm   ru   rZ   rl   )rV   rV   rF   )rV   rj   r'   rZ   r'   )ry   )rj   rV   r'   rz   ro   )r   ts     r   test3_rangezSubsegTest.test3_range   s    aA9+7aB6Aq!)6Aq!)6Aq!)6$aA9+7aB6Aq!&))<>Aq!)V)<>Aq!)DFr   N)r   r   r   r8   rf   rp   rv   r|   r    r   r   r^   r^   k   s    %A55Gr   r^   c                   $    e Zd Zd Zd Zd Zd Zy)CalcTranslateTestc                 .    t        j                  d       y rS   r4   r7   s    r   r8   zCalcTranslateTest.setUp   rU   r   c                     t         j                  j                  | j                  | j                  d| j
                        }|| j                  k(  sJ |       y )Nleft)r5   r	   layoutr   r   r   result_leftr   r   s     r   
test1_leftzCalcTranslateTest.test1_left   sF    %%,,diiJJ		+)))161)r   c                     t         j                  j                  | j                  | j                  d| j
                        }|| j                  k(  sJ |       y )Nright)r5   r	   r   r   r   r   result_rightr   s     r   test2_rightzCalcTranslateTest.test2_right   sF    %%,,diiJJ,***2F2*r   c                     t         j                  j                  | j                  | j                  d| j
                        }|| j                  k(  sJ |       y )Ncenter)r5   r	   r   r   r   r   result_centerr   s     r   test3_centerzCalcTranslateTest.test3_center   sF    %%,,diiJJ$))-+++3V3+r   N)r   r   r   r8   r   r   r   r    r   r   r~   r~      s    $2
3
4r   r~   c                   T    e Zd ZdZdZdZdgddgddggZdgg d	g d
gZdgg dg dgZy)CalcTranslateCharTest"It's out of control!
You've got tor#   rG   rG   r   rG   r;   rG   rn   r   rn   rI   rM   "   r   r   )rh   r   r   )rj   Nr   r   ))r;   Nr   r   )rZ   Nr   r   N	r   r   r   r   r   r   r   r   r   r    r   r   r   r      sU    0DDE		g	w!K
 
))+L
 
()+Mr   r   c                   Z    e Zd ZdZdZdZddgddgdd	ggZg d
g dg dgZg dg dg dgZy)CalcTranslateWordTestr   rA      r<   r   r<   r   r<   rF   r(   rn   r   r   r   rl   Nr   r   r'   Nr   r   r   r   r   r   r   r   r   Nr   r    r   r   r   r      sT    0DDE	g	g	w!K
 	*)*,L
 	*)*,Mr   r   c                   Z    e Zd ZdZdZdZddgddgdd	ggZg d
g ddd	ggZg dg ddd	ggZy)CalcTranslateWordTest2z#It's out of control!
You've got to rA   r   r   r   r   r   )r   rM   #   r   r   r   r   r   r   Nr   r    r   r   r   r      s^    1DDE	g	g	w!K
 	*)	w!L
 	*)	w!Mr   r   c                   Z    e Zd Zd Z ed      ZdZdZddgddggZg d	g d
gZ	g dg dgZ
y)CalcTranslateWordTest3c                 .    t        j                  d       y rS   r4   r7   s    r   r8   zCalcTranslateWordTest3.setUp   rU   r   u   æ¿æ´¼
æ¸æºæ½ºr,   rA   rV   r   r'   r   r'   r'   rm   rO   r   rO   )r   r   r   ))rV   Nr   r   )r   r   r   )r   r   r   N)r   r   r   r8   r   r   r   r   r   r   r   r    r   r   r   r      sS    $ MNDED	F	WK 	'(*L 	'(*Mr   r   c                   d    e Zd ZdZdZdZdgddgdgdd	ggZd
dgddgdgdd	ggZddgddgdgdd	ggZy)CalcTranslateWordTest4z Die Gedankrl   rA   r   r   )rl   rZ   rV   )r   rV   )rl   r;   rF   )rl   rF   r<   r   r   r   N	r   r   r   r   r   r   r   r   r   r    r   r   r   r      s~    DED		F		W	K 
F	F		W	L 
F	F		W	Mr   r   c                   B    e Zd ZdZdZdZdgddggZdgddggZdgddggZy)CalcTranslateWordTest5z Word.rl   rA   )rl   r   rl   )rl   rl   r'   r   Nr   r    r   r   r   r   	  sD    DED;F 34KK)V!45L[9f"56Mr   r   c                   j    e Zd ZdZdZdZddgddgdgd	d
ggZg dg dddgd	d
ggZg dg dddgd	d
ggZy)CalcTranslateClipTestz2It's out of control!
You've got to

turn it off!!!clipr   rn   r   rn   r   r   r   r   )r   $   2   )r   r   ))iNr   r   r   )r   N))Nr   r   )rm   NNr   r    r   r   r   r     ss    BDDE	g	w			w	!K 	+*	W	w	!L 	+*	G	w	!Mr   r   c                   6    e Zd Z ed      ZdZdZg gZg gZg gZ	y)CalcTranslateCantDisplayTestu   Helloé¢rA   rZ   N)
r   r   r   r   r   r   r   r   r   r   r    r   r   r   r   &  s,     !DDE$K4LDMr   r   c                       e Zd Zd Zd Zy)CalcPosTestc                 D    d| _         g dddgg dg| _        g d| _        y )NAAAAAAAAAAAAAAAAAAAAAAAAAAA)r   )rm   r   rm   )r   rm   )rI   rF   rM   )r   rM   )r   )r;   rB   rC   )r   rC   )	)rZ   r   r   )rj   r   r   )r<   r   rm   )r   rZ   rF   )rZ   rF   )rZ   rZ   	   )r*   rZ   rM   )rZ   rj   rB   )r<   rj   rC   )r   transmytestsr7   s    r   r8   zCalcPosTest.setUp0  s)    	$v')
$r   c                     | j                   D ]H  \  }}}t        j                  | j                  | j                  ||      }||k(  r9J ||fd|d|        y )Nz got:z
 expected:)r   r   calc_posr   r   )r   xyexpectedgots        r   testszCalcPosTest.tests:  sa    !\\ 	IMAa&&		4::q!EC(? I1vs?G%I I?	Ir   N)r   r   r   r8   r   r    r   r   r   r   /  s    $Ir   r   c                       e Zd Zg dZdZdgddggg dfdgdgd	dggg d
fddgg dgg dfddgddggg dfddggg dfgZd Zy)Pos2CoordsTest)r;   r   rn   rN   123456789012345678901234567890r   rG   rG      r   r   )r;   r   r   r   r;   rZ   r<   rZ   )r   r   r   )r(   r   rM   )r   rM   r   )r   r   rZ   r   )r;   rj   r   )r   r   r   ))rm   r   )r<   r   )rm   rZ   )rI   rZ   )rl   r'   r   )r   r   )r;   rn   r)   )r   r)   )r   )rl   r   r   r   rx   )r   r,   )r   r   rk   rk   c                     | j                   D ]X  \  }}t        | j                  |      D ]:  \  }}t        j                  | j
                  ||      }||k(  r-J |d|d|        Z y )Nz got: z expected: )r   r   pos_listr   calc_coordsr   )r   r{   answerposars         r   r   zPos2CoordsTest.testR  sg     	?IAvT]]62 ?A++TYY3?!t>!A>>t?	?r   N)r   r   r   r   r   r   r   r    r   r   r   r   A  s    HD;F+
,&	)9ykIf#5
6&	)i "?
@'	*e{62
3%	(
 '	*
G?r   r   )unittestr5   r   urwid.compatr   objectr   TestCaser"   r0   r@   rE   rK   rQ   rX   r^   r~   r   r   r   r   r   r   r   r   r   r   r    r   r   <module>r      s      &V &):): >8+<+< ):): .(*;*; >8+<+< 
):): 
	, 1 1 	,*G"" *GZ4 4(+-x/@/@ +$,-x/@/@ ,$!.0A0A !$*.0A0A *$.0A0A *7.0A0A 7!-x/@/@ !(#4h6G6G I(## I$?X&& ?r   