o
    1'hU  ã                   @   sÆ   d dl Z d dlmZmZmZ z
d dlmZmZ W n ey)   d dl	mZmZ Y nw ddl
mZ ddlmZmZmZ ddlmZmZ e jZe jZG d	d
„ d
eƒZG dd„ deƒZedkraeƒ  dS dS )é    N)ÚTestCaseÚmainÚ
skipUnless)ÚpatchÚMocké   )ÚStreamWrapper)ÚinitÚjust_fix_windows_consoleÚ_wipe_internal_state_for_testsé   )ÚosnameÚ
replace_byc                   @   sæ   e Zd Zeej ¡ dƒdd„ ƒZdd„ Zdd„ Z	dd	„ Z
ed
ƒeddd„ ƒeddd„ ƒdd„ ƒƒƒZed
ƒeddd„ ƒdd„ ƒƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zedƒed ƒd!d"„ ƒƒZed ƒd#d$„ ƒZed%ƒd&d'„ ƒZd(S ))ÚInitTestzsys.stdout is not a ttyc                 C   ó   |   ¡  d S ©N)ÚassertNotWrapped©Úself© r   úTC:\Users\shubh\Videos\agent\nova\Lib\site-packages\colorama/tests/initialise_test.pyÚsetUp   s   zInitTest.setUpc                 C   ó   t ƒ  tt_tt_d S r   ©r   Úorig_stdoutÚsysÚstdoutÚorig_stderrÚstderrr   r   r   r   ÚtearDown   ó   
zInitTest.tearDownc                 C   sL   |   tjtd¡ |   tjtd¡ |  ttjtƒd¡ |  ttjtƒd¡ d S )Nzstdout should be wrappedzstderr should be wrappedzbad stdout wrapperzbad stderr wrapper)	ÚassertIsNotr   r   r   r   r   Ú
assertTrueÚ
isinstancer   r   r   r   r   ÚassertWrapped   s   ÿÿzInitTest.assertWrappedc                 C   s$   |   tjtd¡ |   tjtd¡ d S )Nzstdout should not be wrappedzstderr should not be wrapped)ÚassertIsr   r   r   r   r   r   r   r   r   r   &   s   zInitTest.assertNotWrappedzcolorama.initialise.reset_allú colorama.ansitowin32.winapi_testc                  G   ó   dS ©NTr   ©Ú_r   r   r   Ú<lambda>+   ó    zInitTest.<lambda>ú)colorama.ansitowin32.enable_vt_processingc                  G   r'   ©NFr   r)   r   r   r   r+   ,   r,   c                 C   ó<   t dƒ� tƒ  |  ¡  W d   ƒ d S 1 sw   Y  d S ©NÚnt©r   r	   r$   ©r   r*   r   r   r   ÚtestInitWrapsOnWindows*   s   

"þzInitTest.testInitWrapsOnWindowsc                  G   r'   r.   r   r)   r   r   r   r+   3   r,   c                 C   r/   r0   ©r   r	   r   r3   r   r   r   Ú#testInitDoesntWrapOnEmulatedWindows2   s   

"þz,InitTest.testInitDoesntWrapOnEmulatedWindowsc                 C   r/   )NÚposixr5   r   r   r   r   ÚtestInitDoesntWrapOnNonWindows9   s   

"þz'InitTest.testInitDoesntWrapOnNonWindowsc                 C   sL   t d ƒ� tƒ  |  tj¡ |  tj¡ W d   ƒ d S 1 sw   Y  d S r   )r   r	   ZassertIsNoner   r   r   r   r   r   r   ÚtestInitDoesntWrapIfNone>   s
   
"ûz!InitTest.testInitDoesntWrapIfNonec                 C   ó@   t dƒ� tdd� |  ¡  W d   ƒ d S 1 sw   Y  d S )Nr7   T©Ú	autoresetr2   r   r   r   r   Ú&testInitAutoresetOnWrapsOnAllPlatformsF   ó   


"þz/InitTest.testInitAutoresetOnWrapsOnAllPlatformsc                 C   r:   )Nr1   F)Úwrapr5   r   r   r   r   Ú"testInitWrapOffDoesntWrapOnWindowsK   r>   z+InitTest.testInitWrapOffDoesntWrapOnWindowsc                 C   s   |   tdd„ ¡ d S )Nc                   S   s   t ddd�S )NTF)r<   r?   )r	   r   r   r   r   r+   Q   s    zEInitTest.testInitWrapOffIncompatibleWithAutoresetOn.<locals>.<lambda>)ÚassertRaisesÚ
ValueErrorr   r   r   r   Ú*testInitWrapOffIncompatibleWithAutoresetOnP   s   z3InitTest.testInitWrapOffIncompatibleWithAutoresetOnz&colorama.win32.SetConsoleTextAttributezcolorama.initialise.AnsiToWin32c                 C   s~   t dƒ�1 tdd� |  t|jƒd¡ |  |jd d d d¡ |  |jd d d d¡ W d   ƒ d S 1 s8w   Y  d S )Nr1   Tr;   r   r   r<   r   ©r   r	   ÚassertEqualÚlenZcall_args_list)r   Ú	mockATW32r*   r   r   r   ÚtestAutoResetPassedOnS   s   

"üzInitTest.testAutoResetPassedOnc                 C   sÐ   t dƒ�Z tƒ  tdd� |  t|jƒd¡ |  |jd d d d¡ |  |jd d d d¡ tƒ  |  t|jƒd	¡ |  |jd d d d
¡ |  |jd d d d
¡ W d   ƒ d S 1 saw   Y  d S )Nr1   Tr;   é   r   r   r<   é   é   Fé   rD   )r   rG   r   r   r   ÚtestAutoResetChangeable\   s   

ÿÿ"ôz InitTest.testAutoResetChangeablez#colorama.initialise.atexit.registerc                 C   s0   t ƒ  |  |j¡ | ¡  t ƒ  |  |j¡ d S r   )r	   r"   ÚcalledZ
reset_mockZassertFalse)r   ZmockRegisterr   r   r   ÚtestAtexitRegisteredOnlyOncen   s
   z%InitTest.testAtexitRegisteredOnlyOnceN)Ú__name__Ú
__module__Ú__qualname__r   r   r   Úisattyr   r   r$   r   r   r4   r6   r8   r9   r=   r@   rC   rH   rM   rO   r   r   r   r   r      s2    

r   c                   @   s2   e Zd Zdd„ Zdd„ Zeddd„ ƒdd	„ ƒZd
S )ÚJustFixWindowsConsoleTestc                 C   r   r   r   r   r   r   r   Ú_resetx   r    z JustFixWindowsConsoleTest._resetc                 C   r   r   )rU   r   r   r   r   r   }   s   z"JustFixWindowsConsoleTest.tearDownr&   c                   C   r'   r(   r   r   r   r   r   r+   €   r,   z"JustFixWindowsConsoleTest.<lambda>c              	      s8  t jdkrtƒ  |  t jt¡ |  t jt¡ d S dd„ }dD ]{‰ td‡ fdd„ƒ�h |  	¡  |ƒ  t j}t j}tƒ  |  t j|¡ ˆ rK|  t j|¡ n|  
t j|¡ t j}t j}tƒ  |  t j|¡ |  t j|¡ |  	¡  |ƒ  tƒ  t j}t j}tƒ  |  |t j¡ |  |t j¡ W d   ƒ n1 s”w   Y  qd S )NÚwin32c                  S   sH   t ƒ } d| _d| j_d| j_| t_t ƒ }d|_d|j_d|j_|t_d S )NFr   Tr   )r   ÚclosedrS   Úreturn_valueÚfilenor   r   r   )r   r   r   r   r   Úfake_stdˆ   s   
zEJustFixWindowsConsoleTest.testJustFixWindowsConsole.<locals>.fake_std)FTr-   c                     s   ˆ S r   r   r)   ©Znative_ansir   r   r+   š   r,   zEJustFixWindowsConsoleTest.testJustFixWindowsConsole.<locals>.<lambda>)r   Úplatformr
   r%   r   r   r   r   r   rU   r!   r	   )r   rZ   Zprev_stdoutZprev_stderrr   r[   r   ÚtestJustFixWindowsConsole€   sF   

þß€ÿz3JustFixWindowsConsoleTest.testJustFixWindowsConsoleN)rP   rQ   rR   rU   r   r   r]   r   r   r   r   rT   w   s
    rT   Ú__main__)r   Zunittestr   r   r   Zunittest.mockr   r   ÚImportErrorZmockZansitowin32r   Z
initialiser	   r
   r   Úutilsr   r   r   r   r   r   r   rT   rP   r   r   r   r   Ú<module>   s"   ÿeE
ÿ