<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
๎
e f   ใ               @   sณ   d  Z  d d l m Z d d l Z d d l m Z d d l m Z m Z m	 Z	 d d l
 m Z Gd d   d e j  Z Gd	 d
   d
 e j  Z e d k rฏ e j d d  n  d S)z5Unittest for idlelib.WidgetRedirector

100% coverage
้    )ฺrequiresN)ฺFunc)ฺTkฺTextฺTclError)ฺWidgetRedirectorc               @   sL   e  Z d  Z e d d    Z e d d    Z d d   Z d d   Z d	 S)
ฺInitCloseTestc             C   s,   t  d  t   |  _ t |  j  |  _ d  S)Nฺgui)r   r   ฺtkr   ฺtext)ฺclsฉ r   ๚G/opt/alt/python34/lib64/python3.4/idlelib/idle_test/test_widgetredir.pyฺ
setUpClass   s    
zInitCloseTest.setUpClassc             C   s*   |  j  j   |  j j   |  `  |  ` d  S)N)r   ฺdestroyr
   )r   r   r   r   ฺtearDownClass   s    zInitCloseTest.tearDownClassc             C   sb   t  |  j  } |  j | j |  j  |  j | j |  j j  |  j t t  |  j  | j   d  S)N)r   r   ฺassertEqualฺwidgetr
   ZassertRaisesr   ฺclose)ฺselfฺredirr   r   r   ฺ	test_init   s
    zInitCloseTest.test_initc             C   sY   t  |  j  } | j d t  | j   |  j | j i   |  j t |  j d   d  S)Nฺinsertr   )	r   r   ฺregisterr   r   r   ฺ_operationsฺassertFalseฺhasattr)r   r   r   r   r   ฺ
test_close!   s
    
zInitCloseTest.test_closeN)ฺ__name__ฺ
__module__ฺ__qualname__ฺclassmethodr   r   r   r   r   r   r   r   r      s   r   c               @   sธ   e  Z d  Z e d d    Z e d d    Z d d   Z d d   Z d	 d
   Z d d   Z	 d d   Z
 d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d S)ฺWidgetRedirectorTestc             C   s,   t  d  t   |  _ t |  j  |  _ d  S)Nr	   )r   r   r
   r   r   )r   r   r   r   r   +   s    
zWidgetRedirectorTest.setUpClassc             C   s*   |  j  j   |  j j   |  `  |  ` d  S)N)r   r   r
   )r   r   r   r   r   1   s    z"WidgetRedirectorTest.tearDownClassc             C   sP   t  |  j  |  _ t   |  _ |  j j d |  j  |  _ |  j j d d  d  S)Nr   ฺasdf)r   r   r   r   ฺfuncr   ฺorig_insertr   )r   r   r   r   ฺsetUp7   s    zWidgetRedirectorTest.setUpc             C   s$   |  j  j d d  |  j j   d  S)Nz1.0ฺend)r   ฺdeleter   r   )r   r   r   r   ฺtearDown=   s    zWidgetRedirectorTest.tearDownc             C   s6   |  j  d t |  j   |  j  d t |  j   d  S)NZ
RedirectorZOriginal)ฺassertInฺreprr   r%   )r   r   r   r   ฺ	test_reprA   s    zWidgetRedirectorTest.test_reprc             C   s~   |  j  |  j j d d  d  |  j  |  j j d  |  j d |  j j  |  j d |  j j  |  j  |  j j	 |  j  d  S)Nz1.0r'   ฺ
r   r#   )zinsertzasdf)
r   r   ฺgetr$   ฺargsr*   r   r   ฺ__dict__r   )r   r   r   r   ฺtest_registerE   s
    z"WidgetRedirectorTest.test_registerc             C   sh   |  j  |  j j d  |  j  |  j j |  j j j  |  j d d  |  j  |  j j d d  d  d  S)Nr   r#   z1.0r'   zasdf
)r   r%   Z	operationZtk_callr   r
   ฺcallr.   )r   r   r   r   ฺtest_original_commandL   s    z*WidgetRedirectorTest.test_original_commandc             C   sh   |  j  |  j j d   |  j |  j j d  |  j  |  j d |  j j  |  j d |  j j  d  S)Nzinvalid operation namer   )	ZassertIsNoner   ฺ
unregisterr   r$   ZassertNotInr   r   r0   )r   r   r   r   ฺtest_unregisterR   s    z$WidgetRedirectorTest.test_unregisterc             C   s,   |  j  ` |  j |  j j d  |  j  d  S)Nr   )r   r   r   r   r4   r$   )r   r   r   r   ฺtest_unregister_no_attributeX   s    	z1WidgetRedirectorTest.test_unregister_no_attributec             C   sG   |  j  j d  |  j |  j j d d   |  j |  j  j d  d  S)NTr   Fr   )r$   ฺ__init__Z
assertTruer   ฺdispatchr   r/   )r   r   r   r   ฺtest_dispatch_intercept\   s    z,WidgetRedirectorTest.test_dispatch_interceptc             C   sU   |  j  d d  |  j |  j j d d d  d  |  j |  j j d d  d  d  S)Nr   r#   r(   z1.0r'   ฺ r-   )r%   r   r   r8   r   r.   )r   r   r   r   ฺtest_dispatch_bypassa   s    "z)WidgetRedirectorTest.test_dispatch_bypassc             C   sR   |  j  j t    |  j |  j j d d  d  |  j |  j j d  d  d  S)Nr   Fr:   Zinvalid)r$   r7   r   r   r   r8   )r   r   r   r   ฺtest_dispatch_errorg   s    z(WidgetRedirectorTest.test_dispatch_errorc             C   s   |  j  j |  j j d d  |  j |  j j d  |  j |  j j d d  d  |  j j t	    |  j |  j  j |  j j d d  d  d  S)	Nr   ฺhelloz1.0r'   r-   Zboor:   )r=   )
r
   r2   r   Z_wr   r$   r/   r.   r7   r   )r   r   r   r   ฺtest_command_dispatchl   s
    z*WidgetRedirectorTest.test_command_dispatchN)r   r   r    r!   r   r   r&   r)   r,   r1   r3   r5   r6   r9   r;   r<   r>   r   r   r   r   r"   )   s   r"   ฺ__main__ฺ	verbosity้   )ฺ__doc__Ztest.supportr   ZunittestZidlelib.idle_test.mock_idler   Ztkinterr   r   r   Zidlelib.WidgetRedirectorr   ZTestCaser   r"   r   ฺmainr   r   r   r   ฺ<module>   s   P