o
    1'h}  ã                   @   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mZmZ G dd„ deƒZedkrEeƒ  dS dS )	é    N)ÚTestCaseÚmainÚ
skipUnless)ÚMockÚpatché   )ÚWinColorÚWinStyleÚWinTermc                   @   s´   e Zd Zedƒdd„ ƒZeej d¡dƒdd„ ƒZ	edƒdd	„ ƒZ
eej d¡dƒd
d„ ƒZeej d¡dƒdd„ ƒZeej d¡dƒdd„ ƒZedƒdd„ ƒZedƒdd„ ƒZdS )ÚWinTermTestzcolorama.winterm.win32c                 C   sH   t ƒ }d|_||j_tƒ }|  |jd¡ |  |jd¡ |  |jd¡ d S )Néo   é   é   é   )	r   ÚwAttributesÚGetConsoleScreenBufferInfoÚreturn_valuer
   ÚassertEqualÚ_foreÚ_backÚ_style©ÚselfZ	mockWin32ZmockAttrÚterm© r   úQC:\Users\shubh\Videos\agent\nova\Lib\site-packages\colorama/tests/winterm_test.pyÚtestInit   s   zWinTermTest.testInitÚwinzrequires Windowsc                 C   s”   t ƒ }d|_d|_d|_|  | ¡ d¡ tj|_|  | ¡ tj¡ tj|_|  | ¡ tjtjd  ¡ t	j
|_|  | ¡ tjtjd  t	j
 ¡ d S )Nr   é   )r
   r   r   r   r   Ú	get_attrsr   ZYELLOWZMAGENTAr	   ZBRIGHT©r   r   r   r   r   ÚtestGetAttrs   s"   þþzWinTermTest.testGetAttrsc                 C   sz   t ƒ }d|_||j_tƒ }t ƒ |_d|_d|_d|_| 	¡  |  
|jd¡ |  
|jd¡ |  
|jd¡ |  
|jjd¡ d S )Né)   éÿÿÿÿé   r   r   T)r   r   r   r   r
   Úset_consoler   r   r   Z	reset_allr   Úcalledr   r   r   r   ÚtestResetAll/   s   zWinTermTest.testResetAllc                 C   ó@   t ƒ }tƒ |_d|_| d¡ |  |jd¡ |  |jjd¡ d S ©Nr   é   T)r
   r   r%   r   Úforer   r&   r    r   r   r   ÚtestForeB   ó   
zWinTermTest.testForec                 C   r(   r)   )r
   r   r%   r   Úbackr   r&   r    r   r   r   ÚtestBackM   r-   zWinTermTest.testBackc                 C   r(   )Nr   é   T)r
   r   r%   r   Ústyler   r&   r    r   r   r   Ú	testStyleX   r-   zWinTermTest.testStylec                 C   sL   t ƒ }d|_||j_tƒ }t ƒ |_| ¡  |  |jj	|j
| ¡ fi f¡ d S )Nr   )r   r   r   r   r
   Úwindllr%   r   ÚSetConsoleTextAttributeÚ	call_argsÚSTDOUTr   r   r   r   r   ÚtestSetConsolec   s   þzWinTermTest.testSetConsolec                 C   sP   t ƒ }d|_||j_tƒ }t ƒ |_|jdd� |  |jj	|j
| ¡ fi f¡ d S )Nr   T)Z	on_stderr)r   r   r   r   r
   r3   r%   r   r4   r5   ZSTDERRr   r   r   r   r   ÚtestSetConsoleOnStderrr   s   þz"WinTermTest.testSetConsoleOnStderrN)Ú__name__Ú
__module__Ú__qualname__r   r   r   ÚsysÚplatformÚ
startswithr!   r'   r,   r/   r2   r7   r8   r   r   r   r   r      s"    
	








r   Ú__main__)r<   Zunittestr   r   r   Zunittest.mockr   r   ÚImportErrorZmockZwintermr   r	   r
   r   r9   r   r   r   r   Ú<module>   s   ÿu
ÿ