a
    Tg                     @   s  d dl Z d dlZd dlZd dlmZ d dlmZ d dlZd dlm	Z	 e
dZg e_d9ddZd:dd	Zd
d Zdd Zdd Zdd Ze jjdd Ze jjdd Ze jjdd Ze jjdd ZejeZdZdZdZej eddZ!dZ"ej edd Z#d!d" Z$e jjd#d$ Z%e jjd%d& Z&e jjd'd( Z'e jjd)d* Z(e jjd+d, Z)e jjd-d. Z*e jjd/d0 Z+e jjd1d2 Z,e jjd3d4 Z-e jjd5d6 Z.e/d7kre 0d8eg dS );    N)	CliRunner)tts_cli)
LogCaptureZgttsc                 C   s   t  t| |S )Nr   Zinvoker   argsinput r	   Q/var/www/html/texto_audio/venv/lib/python3.9/site-packages/gtts/tests/test_cli.pyrunner   s    r   c                 C   s   t  t| dg |S )Nz--debugr   r   r	   r	   r
   runner_debug   s    r   c                  C   s(   t g } d| jv sJ | jdks$J dS )z2One of <test> (arg) and <file> <opt> should be setz<file> requiredr   Nr   output	exit_coderesultr	   r	   r
   test_text_no_text_or_file   s    r   c                 C   sB   | d }|   tdt|dg}d|jv s0J |jdks>J dS )z8<test> (arg) and <file> <opt> should not be set togetherztest_and_file.txt--filetestz<file> can't be used togetherr   Ntouchr   strr   r   Ztmp_pathfilenamer   r	   r	   r
   test_text_text_and_file&   s
    r   c                 C   s@   | d }|   tdt|g}d|jv s.J |jdks<J dS )z%Exit on no text to speak (via <file>)ztext_empty.txtr   zNo text to speakr   Nr   r   r	   r	   r
   test_text_empty1   s
    r   c                  C   s,   t g d} d| jv sJ | jdks(J dS )z<file> should exist)r   znotexist.txtr   zNo such file or directoryr   Nr   r   r	   r	   r
   test_file_not_exists=   s    r   c                  C   s.   t dg} td| jsJ | jdks*J dS )z.Option <all> should return a list of languagesz--allz(\s{2}[\w-]{2,5}: .+\n?)r   N)r   rematchr   r   r   r	   r	   r
   test_allF   s    
r   c                  C   s,   t g d} d| jv sJ | jdks(J dS )z&Invalid <lang> should display an error)--langxxr   z&xx' not in list of supported languagesr   N)r   r   r   r   r	   r	   r
   test_lang_not_validS   s    r"   c                  C   sr   t  $} tg d}t| }W d   n1 s00    Y  d|v sFJ d|v sRJ d|jv s`J |jdksnJ dS )zIInvalid <lang> (with <nocheck>) should display an error message from gtts)r    r!   	--nocheckr   Nzlang: xxlang_check: FalsezUnsupported language 'xx'r   )r   r   r   r   r   lcr   logr	   r	   r
   test_lang_nocheck\   s    &r(   c                  C   s   t  $} tg d}t| }W d   n1 s00    Y  d|v sFJ d|v sRJ d|v s^J d|v sjJ d|v svJ |jdksJ dS )	z@Options should set gTTS instance arguments (read from debug log))r    frz--tldesz--slowr#   r   Nzlang: frztld: esr$   z
slow: Truez
text: testr   )r   r   r   r   r%   r	   r	   r
   test_params_setk   s    &r+   zstdin
test
123uP   你吃饭了吗？
你最喜欢哪部电影？
我饿了，我要去做饭了。zCan you make pink a little more pinkish can you make pink a little more pinkish, nor can you make the font bigger?
How much will it cost the website doesn't have the theme i was going for.Zinput_filesztest_cli_test_ascii.txtu   这是一个三岁的小孩
在讲述她从一系列照片里看到的东西。
对这个世界， 她也许还有很多要学的东西，
但在一个重要的任务上， 她已经是专家了：
去理解她所看到的东西。ztest_cli_test_utf8.txtc                 C   s"   | j s
dS ddd |  D S )NzNo logging captured
c                 S   s   g | ]}d | qS )z
%s %s
  %sr	   ).0rr	   r	   r
   
<listcomp>       z"logcapture_str.<locals>.<listcomp>)recordsjoinactual)r&   r	   r	   r
   logcapture_str   s    r4   c                  C   s\   t  $} tdgt}t| }W d    n1 s00    Y  dt |v sJJ |jdksXJ d S N-text: %sr   r   r   	textstdinr4   r   r%   r	   r	   r
   test_stdin_text   s
    &r:   c                  C   s\   t  $} tdgt}t| }W d    n1 s00    Y  dt |v sJJ |jdksXJ d S r5   r   r   textstdin_unicoder4   r   r%   r	   r	   r
   test_stdin_text_unicode   s
    &r=   c                  C   s^   t  &} tddgt}t| }W d    n1 s20    Y  dt |v sLJ |jdksZJ d S Nr   r6   r7   r   r8   r%   r	   r	   r
   test_stdin_file   s
    &r?   c                  C   s^   t  &} tddgt}t| }W d    n1 s20    Y  dt |v sLJ |jdksZJ d S r>   r;   r%   r	   r	   r
   test_stdin_file_unicode   s
    &r@   c                  C   sZ   t  "} ttg}t| }W d    n1 s.0    Y  dt |v sHJ |jdksVJ d S Nr7   r   )r   r   textr4   r   r%   r	   r	   r
   	test_text   s
    
&rC   c                  C   sZ   t  "} ttg}t| }W d    n1 s.0    Y  dt |v sHJ |jdksVJ d S rA   )r   r   text_unicoder4   r   r%   r	   r	   r
   test_text_unicode   s
    
&rE   c                  C   s\   t  $} tdtg}t| }W d    n1 s00    Y  dt |v sJJ |jdksXJ d S Nr   r7   r   )r   r   textfile_asciir4   rB   r   r%   r	   r	   r
   test_file_ascii   s
    &rH   c                  C   s\   t  $} tdtg}t| }W d    n1 s00    Y  dt |v sJJ |jdksXJ d S rF   )r   r   textfile_utf8r4   rD   r   r%   r	   r	   r
   test_file_utf8   s
    &rJ   c                  C   s   t dg} | jdksJ d S )Nr   r   )r   r   r   r	   r	   r
   test_stdout   s    
rK   c                 C   s>   | d }t ddt|g}| jdks,J |jdks:J d S )Nzout.mp3r   z--outputi  r   )r   r   statst_sizer   r   r	   r	   r
   	test_file   s    rN   __main__z-x)N)N)1Zpytestr   osZclick.testingr   Zgtts.clir   loggingZtestfixturesr   	getLoggerloggerhandlersr   r   r   r   r   r   marknetr   r"   r(   r+   pathdirname__file__pwdr9   r<   rB   r2   rG   rD   rI   r4   r:   r=   r?   r@   rC   rE   rH   rJ   rK   rN   __name__mainr	   r	   r	   r
   <module>   sh   


	



	
	
	
	
	
	
	
	
	



