
    ֤i                     D   d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZm	Z	  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ej.                  j1                  dddg      d        Zd Zd Zd Zd Zej.                  j=                  d      d        Zd Z y)    N)Printer)MESSAGESNO_UTF8supports_ansic                     t        d      } d}| j                  |      }| j                  |      }| j                  |      }| j	                  |      }| j                  |      |k(  sJ t        r^t        sX|dj                  |      k(  sJ |dj                  |      k(  sJ |dj                  |      k(  sJ |dj                  |      k(  sJ t        r^t        rX|dj                  |      k(  sJ |d	j                  |      k(  sJ |d
j                  |      k(  sJ |dj                  |      k(  sJ t        s^t        sX|dj                  |      k(  sJ |dj                  |      k(  sJ |dj                  |      k(  sJ |dj                  |      k(  sJ t        s`t        rY|dj                  |      k(  sJ |dj                  |      k(  sJ |dj                  |      k(  sJ |dj                  |      k(  sJ y y y )NTno_printThis is a test.u   [38;5;2m✔ {}[0mu   [38;5;1m✘ {}[0mu   [38;5;3m⚠ {}[0mu   [38;5;4mℹ {}[0mz[38;5;2m[+] {}[0mz[38;5;1m[x] {}[0mz[38;5;3m[!] {}[0mz[38;5;4m[i] {}[0mu   ✔ {}u   ✘ {}u   ⚠ {}u   ℹ {}z[+] {}z[x] {}z[!] {}z[i] {})	r   goodfailwarninfotextSUPPORTS_ANSIr   format)pr   r   r   r   r   s         j/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/wasabi/tests/test_printer.pytest_printerr      s   AD66$<D66$<D66$<D66$<D66$<4W5<<TBBBB5<<TBBBB5<<TBBBB5<<TBBBB299$????299$????299$????299$????{))$////{))$////{))$////{))$////Wxt,,,,xt,,,,xt,,,,xt,,,,	 %=    c                      t               } d}| j                  |       | j                  |       | j                  |       | j	                  |       y )Nr
   )r   r   r   r   r   r   r   s     r   test_printer_printr   +   s:    	ADFF4LFF4LFF4LFF4Lr   c                  t    t        dd      } | j                  d      }t        j                  d|      }|sJ y )NT)r	   	timestampzHello worldz6^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2})r   r   rematch)r   resultmatchess      r   test_printer_print_timestampr   4   s5    .AVVM"FhhOQWXGN7r   c                      t        dd      } d}| j                  |      |k(  sJ | j                  |      |k(  sJ | j                  |      |k(  sJ | j	                  |      |k(  sJ | j                  |      |k(  sJ y )NTFr	   prettyr
   )r   r   r   r   r   r   r   s     r   test_printer_no_prettyr#   ;   s    e,AD66$<466$<466$<466$<466$<4r   c                  F   ddd} ddd}t        d| |      }d	}|j                  |d
d      }|j                  |      }t        r2t        s,|dj                  |      k(  sJ |dj                  |      k(  sJ t        r2t        r,|dj                  |      k(  sJ |dj                  |      k(  sJ t        s2t        s,|dj                  |      k(  sJ |dj                  |      k(  sJ t        s4t        r-|dj                  |      k(  sJ |dj                  |      k(  sJ y y y )N   c   )yellowpurpleu   ⚠️?)r   questionT)r	   colorsiconsr
   r(   r*   )coloriconz[38;5;99m? {}[0mu   [38;5;3m⚠️ {}[0mz[38;5;3m?? {}[0mz? {}u	   ⚠️ {}z?? {})r   r   r   r   r   r   )r+   r,   r   r   purple_questionwarnings         r   test_printer_customr1   E   s,   r*F#5EfE:ADffT
fCOffTlGW"<"C"CD"IIII>EEdKKKK"<"C"CD"IIII4;;DAAAA&--"5555+2248888W&--"5555'...... %=r   c                  p    t        d      } d}| j                  |d      }t        r|dk(  sJ y |dk(  sJ y )NTr   This is a text.r%   )r-   z[38;5;220mThis is a text.[0m)r   r   r   r   r   r   s      r   test_color_as_intr5   Z   sD    ADVVDV$F????****r   c                      t        d      } d}| j                  |d      }t        |       t        r|dk(  sJ y |dk(  sJ y )NTr   r3   redbg_colorz[48;5;1mThis is a text.[0mr   r   printr   r4   s      r   test_bg_colorr<   d   sK    ADVVD5V)F	&M====****r   c                      t        d      } d}| j                  |d      }t        |       t        r|dk(  sJ y |dk(  sJ y )NTr   r3   r%   r8   z[48;5;220mThis is a text.[0mr:   r4   s      r   test_bg_color_as_intr>   o   sK    ADVVD3V'F	&M????****r   c                      t        d      } d}| j                  |dd      }t        |       t        r|dk(  sJ y |dk(  sJ y )NTr   r3   greenr'   )r-   r9   z#[38;5;2;48;5;3mThis is a text.[0mr:   r4   s      r   test_color_and_bc_colorrA   z   sM    ADVVD(V;F	&MDDDD****r   c                     t               } d}t        d      D ]  }| j                  |        t        d      D ]  }| j                  |        t        d      D ]  }| j	                  |        | j
                  t        j                     dk(  sJ | j
                  t        j                     dk(  sJ | j
                  t        j                     dk(  sJ y )Nr
            )
r   ranger   r   r   countsr   GOODFAILWARN)r   r   is      r   test_printer_countsrL      s    	AD1X 	t1X 	t1X 	t88HMM"a'''88HMM"a'''88HMM"a'''r   c                      t        dd      } d}| j                  |      |k(  sJ | j                  |d      dj                  |      k(  sJ y )NTFr!   r
   )spacedz
{}
)r   r   r   r   s     r   test_printer_spacedrO      sM    e,AD66$<466$t6$(====r   c                  F   t        dd      } | j                         dk(   | j                  d      dk(   | j                  dd      d	k(   | j                  d
      dk(  sJ t        j                  t              5  | j                  dd       d d d        y # 1 sw Y   y xY w)N   T)line_maxr	   z[1m
================[0mtestz[1m
====== test ======[0m*)charz[1m
****** test ******[0mz)This is a very long text, it is very longz4[1m
 This is a very long text, it is very long [0mz~.)r   dividerpytestraises
ValueErrorr   s    r   test_printer_dividerr[      s    d+AIIK55IIf==IIf3I#GG			=>H	I	I 
z	" %			&t	$% % %s   :BB hide_animationFTc                    t        |       }t        d       |j                  d      5  t        j                  d       d d d        |j                  d       |j                  d      5  t        j                  d       d d d        |j                  d       |j                  d      5  t        j                  d       d d d        |j                  d       y # 1 sw Y   xY w# 1 sw Y   gxY w# 1 sw Y   3xY w)	N)r\   

Loading...rD   Success!zSomething else...rC   zYo!)r   r;   loadingtimesleepr   )r\   r   s     r   test_printer_loadingrd      s    ~.A	$K	
<	  

1FF:	
&	' 

1FF5M	
<	  

1FF:   s#   C)C%)C1C"%C.1C:c                  t    d } t        j                  t              5   |         d d d        y # 1 sw Y   y xY w)Nc                  |    t               } t        d       | j                         5  t        d      # 1 sw Y   y xY w)Nr^   This is an error.)r   r;   ra   	ExceptionrZ   s    r   loading_with_exceptionzEtest_printer_loading_raises_exception.<locals>.loading_with_exception   s5    IdYY[ 	1/00	1 	1s   2;)rW   rX   rh   )ri   s    r   %test_printer_loading_raises_exceptionrj      s0    1 
y	! ! ! ! !s   .7c                      t        d      } | j                  d      5  t        j                  d       d d d        | j	                  d       y # 1 sw Y   xY w)NTr   r_   rD   r`   )r   ra   rb   rc   r   rZ   s    r   test_printer_loading_no_printrl      sD    A	
<	  

1FF: s   AAc                      d} d}dt         j                  |<   t        d      }|j                  |       dv sJ t         j                  |= y )Nr
   WASABI_LOG_FRIENDLYTrueTr   u   ✔ This is a test.z[+] This is a test.)osenvironr   r   r   ENV_LOG_FRIENDLYr   s      r   test_printer_log_friendlyru      sJ    D,#)BJJ A66$<LLLL


#$r   c                      d} d}dt         j                  |<   t        dd      }|j                  |       dv sJ t	        |j                  |              t         j                  |= y )Nr
   CUSTOM_LOG_FRIENDLYro   TCUSTOM)r	   
env_prefixrp   )rq   rr   r   r   r;   rs   s      r    test_printer_log_friendly_prefixrz      s\    D,#)BJJ (3A66$<LLLL	!&&,


#$r   z1Now seems to raise TypeError: readonly attribute?)reasonc                 <    | j                  dd       t               }y)zvTest that printer works even if sys.stdout.encoding is set to None. This
    previously caused a very confusing error.zsys.stdout.encodingN)setattrr   )monkeypatchr   s     r   test_printer_none_encodingr      s     -t4	Ar   c                     d} t        dd      }t        j                  t              5 }|j	                  | d       ddd       t        j                        j                         t        |        d | k(  sJ y# 1 sw Y   ?xY w)zfTest that the printer raises if a non-zero exit code is provided, even
    if no_print is set to True.rg   TFr!   )exitsN)	r   rW   rX   
SystemExitr   strvaluestriplen)errr   es      r   #test_printer_no_print_raise_on_exitr      st     Ce,A	z	"  a	s$ qww<S	,333   s   A;;B)!rq   r   rb   rW   wasabi.printerr   wasabi.utilr   r   r   r   r   r   r   r#   r1   r5   r<   r>   rA   rL   rO   r[   markparametrizerd   rj   rl   ru   rz   skipr   r    r   r   <module>r      s    	 	   " 8 8-< /*++++(>
% )E4=9 : !%% LM N4r   