
”àW@  ã               @   sû   d  Z  d d l m Z e d ƒ d d l Z d d l Z d d l m Z d d l m Z	 d d l
 m Z d d l m Z d	 d
 „  Z d d „  Z Gd d „  d e	 j ƒ a Gd d „  d e j ƒ Z Gd d „  d e j ƒ Z e d k r÷ e j d d ƒ d S)a+  Test idlelib.textView.

Since all methods and functions create (or destroy) a TextViewer, which
is a widget containing multiple widgets, all tests must be gui tests.
Using mock Text would not change this.  Other mocks are used to retrieve
information about calls.

The coverage is essentially 100%.
é    )ÚrequiresZguiN)ÚTk)ÚtextView)ÚFunc)ÚMboxc               C   s   t  ƒ  a d  S)N)r   Úroot© r   r   úB/afs/.cs/s/python-3.5.2/amd64_ubu14/lib/python3.5/test_textview.pyÚsetUpModule   s    r
   c               C   s   b  t j ƒ  t j ƒ  b d  S)N)ÚTVr   Zupdate_idletasksÚdestroyr   r   r   r	   ÚtearDownModule   s    

r   c               @   s+   e  Z d  Z e ƒ  Z e ƒ  Z e ƒ  Z d S)r   N)Ú__name__Ú
__module__Ú__qualname__r   Ú	transientÚgrab_setÚwait_windowr   r   r   r	   r       s   		r   c               @   s@   e  Z d  Z d d „  Z d d „  Z d d „  Z d d „  Z d	 S)
ÚTextViewTestc             C   s+   t  j j ƒ  t  j j ƒ  t  j j ƒ  d  S)N)r   r   Ú__init__r   r   )Úselfr   r   r	   ÚsetUp'   s    zTextViewTest.setUpc             C   sY   t  t d d ƒ } |  j t  j j ƒ |  j t  j j ƒ |  j t  j j ƒ | j ƒ  d  S)NÚTitlez	test text)r   r   Ú
assertTruer   Úcalledr   r   ÚOk)r   Úviewr   r   r	   Útest_init_modal,   s
    zTextViewTest.test_init_modalc             C   s_   t  t d d d d ƒ} |  j t  j j ƒ |  j t  j j ƒ |  j t  j j ƒ | j ƒ  d  S)Nr   z	test textÚmodalF)r   r   ZassertFalser   r   r   r   r   )r   r   r   r   r	   Útest_init_nonmodal3   s
    zTextViewTest.test_init_nonmodalc             C   sR   t  t d d d d ƒ} t ƒ  | _ | j ƒ  |  j | j j ƒ | ` | j d  S)Nr   z	test textr   F)r   r   r   r   r   r   r   )r   r   r   r   r	   Útest_ok:   s    
zTextViewTest.test_okN)r   r   r   r   r   r   r    r   r   r   r	   r   %   s   r   c               @   sL   e  Z d  Z e d d „  ƒ Z e d d „  ƒ Z d d „  Z d d „  Z d	 S)
ÚtextviewTestc             C   s   t  j |  _ t t  _ d  S)N)ÚtvÚtkMessageBoxÚ	orig_mboxr   )Úclsr   r   r	   Ú
setUpClassE   s    ztextviewTest.setUpClassc             C   s   |  j  t _ |  `  d  S)N)r$   r"   r#   )r%   r   r   r	   ÚtearDownClassJ   s    ztextviewTest.tearDownClassc             C   s2   t  j t d d d d ƒ} |  j | t  j ƒ d  S)Nr   z	test textr   F)r"   Z	view_textr   ÚassertIsInstanceÚ
TextViewer)r   r   r   r   r	   Útest_view_textO   s    ztextviewTest.test_view_textc             C   s¿   t  j j t ƒ } t  j j | d ƒ } t j t d | d d ƒ} |  j | t j	 ƒ |  j
 d | j j d d ƒ ƒ | j ƒ  t  j j | d ƒ } t j t d | d d ƒ} |  j | ƒ d  S)	Nztest_textview.pyr   r   FZTestz1.0z1.endz../notthere.py)ÚosÚpathÚdirnameÚ__file__Újoinr"   Z	view_filer   r(   r)   ZassertInr   Úgetr   ZassertIsNone)r   Ztest_dirZtestfiler   r   r   r	   Útest_view_fileT   s    
ztextviewTest.test_view_fileN)r   r   r   Úclassmethodr&   r'   r*   r1   r   r   r   r	   r!   C   s   r!   Ú__main__Ú	verbosityé   )Ú__doc__Ztest.supportr   Zunittestr+   Útkinterr   Zidlelibr   r"   Zidlelib.idle_test.mock_idler   Zidlelib.idle_test.mock_tkr   r
   r   r)   r   ZTestCaser   r!   r   Úmainr   r   r   r	   Ú<module>	   s   
