<!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>

นผ]i  ใ               @   sช   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  d S)้    )ฺ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   s9   t  d  t   |  _ |  j j   t |  j  |  _ d  S)Nฺgui)r   r   ฺrootฺwithdrawr   ฺtext)ฺclsฉ r   ๚5/opt/alt/python35/lib64/python3.5/test_widgetredir.pyฺ
setUpClass   s    
zInitCloseTest.setUpClassc             C   s   |  `  |  j j   |  ` d  S)N)r   r
   ฺdestroy)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ฺwidgetฺtkZ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   s9   t  d  t   |  _ |  j j   t |  j  |  _ d  S)Nr	   )r   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
   Zupdate_idletasksr   )r   r   r   r   r   3   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   ฺsetUp:   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_reprD   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%   )r   r%   )
r   r   ฺgetr&   ฺargsr,   r   r   ฺ__dict__r   )r   r   r   r   ฺtest_registerH   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   ฺcallr0   )r   r   r   r   ฺtest_original_commandO   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   r2   )r   r   r   r   ฺtest_unregisterU   s    z$WidgetRedirectorTest.test_unregisterc             C   s,   |  j  ` |  j |  j j d  |  j  d  S)Nr   )r   r   r   r   r6   r&   )r   r   r   r   ฺtest_unregister_no_attribute[   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   r1   )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   r:   r   r0   )r   r   r   r   ฺtest_dispatch_bypassd   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<   ฺinvalid)r&   r9   r   r   r   r:   )r   r   r   r   ฺtest_dispatch_errorj   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
   r4   r   Z_wr   r&   r1   r0   r9   r   )r   r   r   r   ฺtest_command_dispatcho   s
    z*WidgetRedirectorTest.test_command_dispatchN)r    r!   r"   r#   r   r   r(   r+   r.   r3   r5   r7   r8   r;   r=   r?   rA   r   r   r   r   r$   *   s   r$   ฺ__main__ฺ	verbosity้   )Ztest.supportr   ZunittestZidlelib.idle_test.mock_idler   ฺtkinterr   r   r   Zidlelib.WidgetRedirectorr   ZTestCaser   r$   r    ฺmainr   r   r   r   ฺ<module>   s   R