ó
ŽŤY]c           @   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 d e j f d     YZ d	 e j f d
     YZ e d k rŻ e j d d  n  d S(   s5   Unittest for idlelib.WidgetRedirector

100% coverage
i˙˙˙˙(   t   requiresN(   t   Func(   t   Tkt   Textt   TclError(   t   WidgetRedirectort   InitCloseTestc           B   s8   e  Z e d     Z e d    Z d   Z d   Z RS(   c         C   s9   t  d  t   |  _ |  j j   t |  j  |  _ d  S(   Nt   gui(   R    R   t   roott   withdrawR   t   text(   t   cls(    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyt
   setUpClass   s    
c         C   s   |  `  |  j j   |  ` d  S(   N(   R
   R   t   destroy(   R   (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyt   tearDownClass   s    c         C   sb   t  |  j  } |  j | j |  j  |  j | j |  j j  |  j t t  |  j  | j   d  S(   N(   R   R
   t   assertEqualt   widgett   tkt   assertRaisesR   t   close(   t   selft   redir(    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyt	   test_init   s
    c         C   sY   t  |  j  } | j d t  | j   |  j | j i   |  j t |  j d   d  S(   Nt   insertR   (	   R   R
   t   registerR   R   R   t   _operationst   assertFalset   hasattr(   R   R   (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyt
   test_close"   s
    
(   t   __name__t
   __module__t   classmethodR   R   R   R   (    (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyR      s   	t   WidgetRedirectorTestc           B   s   e  Z e d     Z e d    Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d	   Z d
   Z d   Z d   Z RS(   c         C   s9   t  d  t   |  _ |  j j   t |  j  |  _ d  S(   NR   (   R    R   R   R	   R   R
   (   R   (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyR   ,   s    
c         C   s   |  `  |  j j   |  ` d  S(   N(   R
   R   R   (   R   (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyR   3   s    c         C   sP   t  |  j  |  _ t   |  _ |  j j d |  j  |  _ |  j j d d  d  S(   NR   t   asdf(   R   R
   R   R   t   funcR   t   orig_insertR   (   R   (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyt   setUp9   s    c         C   s$   |  j  j d d  |  j j   d  S(   Ns   1.0t   end(   R
   t   deleteR   R   (   R   (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyt   tearDown?   s    c         C   s6   |  j  d t |  j   |  j  d t |  j   d  S(   Nt
   Redirectort   Original(   t   assertInt   reprR   R#   (   R   (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyt	   test_reprC   s    c         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(   Ns   1.0R%   s   
R   R!   (   R   R!   (
   R   R
   t   getR"   t   argsR*   R   R   t   __dict__R   (   R   (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyt   test_registerG   s
    c         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!   s   1.0R%   s   asdf
(   R   R#   t	   operationt   tk_callR
   R   t   callR-   (   R   (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyt   test_original_commandN   s    c         C   sh   |  j  |  j j d   |  j |  j j d  |  j  |  j d |  j j  |  j d |  j j  d  S(   Ns   invalid operation nameR   (	   t   assertIsNoneR   t
   unregisterR   R"   t   assertNotInR   R
   R/   (   R   (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyt   test_unregisterT   s    c         C   s,   |  j  ` |  j |  j j d  |  j  d  S(   NR   (   R
   R   R   R   R6   R"   (   R   (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyt   test_unregister_no_attributeZ   s    	c         C   sG   |  j  j t  |  j |  j j d t   |  j |  j  j d  d  S(   NR   i    (	   R"   t   __init__t   Truet
   assertTrueR   t   dispatcht   FalseR   R.   (   R   (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyt   test_dispatch_intercept^   s    c         C   sU   |  j  d d  |  j |  j j d d d  d  |  j |  j j d d  d  d  S(   NR   R!   R&   s   1.0R%   t    s   
(   R#   R   R   R=   R
   R-   (   R   (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyt   test_dispatch_bypassc   s    "c         C   sR   |  j  j t    |  j |  j j d t  d  |  j |  j j d  d  d  S(   NR   R@   t   invalid(   R"   R:   R   R   R   R=   R>   (   R   (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyt   test_dispatch_errori   s    c         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   t   hellos   1.0R%   s   
t   booR@   (   RD   (
   R   R3   R
   t   _wR   R"   R.   R-   R:   R   (   R   (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyt   test_command_dispatchn   s
    (   R   R   R   R   R   R$   R'   R,   R0   R4   R8   R9   R?   RA   RC   RG   (    (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyR    *   s   										t   __main__t	   verbosityi   (   t   __doc__t   test.test_supportR    t   unittestt   idlelib.idle_test.mock_idleR   t   TkinterR   R   R   t   idlelib.WidgetRedirectorR   t   TestCaseR   R    R   t   main(    (    (    s3   lib/python2.7/idlelib/idle_test/test_widgetredir.pyt   <module>   s   Q