
”àWY  ã               @   sß   d  d l  Z  d  d l m 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 Z d Z Gd d	 „  d	 e  j ƒ Z Gd
 d „  d ƒ Z Gd d „  d e  j ƒ Z e d k rÛ e  j d d d d ƒ d S)é    N)Úrequires)ÚText)ÚHistory)ÚidleConfza = 7zb = ac               @   sd   e  Z d  Z d Z e d d „  ƒ Z d d „  Z d d „  Z d d	 „  Z d
 d „  Z	 d d „  Z
 d S)Ú	StoreTestz7Tests History.__init__ and History.store with mock Textc             C   s"   t  ƒ  |  _ t |  j ƒ |  _ d  S)N)ÚmkTextÚtextr   Úhistory)Úcls© r   úE/afs/.cs/s/python-3.5.2/amd64_ubu14/lib/python3.5/test_idlehistory.pyÚ
setUpClass   s    zStoreTest.setUpClassc             C   s#   |  j  j d d ƒ g  |  j _ d  S)Nz1.0Úend)r   Údeleter	   )Úselfr   r   r   ÚtearDown   s    zStoreTest.tearDownc             C   s„   |  j  |  j j |  j ƒ |  j |  j j g  ƒ |  j |  j j ƒ |  j |  j j ƒ |  j |  j j t j	 d d d d d ƒ ƒ d  S)NÚmainr   Úcyclicé   Úbool)
ZassertIsr	   r   ÚassertEqualÚassertIsNoneÚprefixÚpointerr   r   Z	GetOption)r   r   r   r   Ú	test_init   s    zStoreTest.test_initc             C   sP   |  j  j d ƒ |  j |  j  j  g  ƒ |  j  j d ƒ |  j |  j  j  g  ƒ d  S)NÚaz  a  )r	   Ústorer   )r   r   r   r   Útest_store_short!   s    zStoreTest.test_store_shortc             C   s…   |  j  j t ƒ |  j |  j  j  t g ƒ |  j  j t ƒ |  j |  j  j  t t g ƒ |  j  j t ƒ |  j |  j  j  t t g ƒ d  S)N)r	   r   Úline1r   Úline2)r   r   r   r   Útest_store_dup'   s    zStoreTest.test_store_dupc             C   sR   t  |  j _ d |  j _ |  j j t ƒ |  j |  j j ƒ |  j |  j j ƒ d  S)Nr   )r   r	   r   r   r   r   r   )r   r   r   r   Útest_store_reset/   s
    zStoreTest.test_store_resetN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úclassmethodr   r   r   r   r    r!   r   r   r   r   r      s   r   c               @   s4   e  Z d  Z d d „  Z d d „  Z d d „  Z d S)ÚTextWrapperc             C   s   t  d | ƒ |  _ d |  _ d  S)NÚmasterF)ÚtkTextr   Ú_bell)r   r(   r   r   r   Ú__init__8   s    zTextWrapper.__init__c             C   s   t  |  j | ƒ S)N)Úgetattrr   )r   Únamer   r   r   Ú__getattr__;   s    zTextWrapper.__getattr__c             C   s   d |  _  d  S)NT)r*   )r   r   r   r   Úbell=   s    zTextWrapper.bellN)r"   r#   r$   r+   r.   r/   r   r   r   r   r'   7   s   r'   c               @   sÄ   e  Z d  Z d Z e d d „  ƒ Z d d „  Z e d d „  ƒ Z d d	 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)Ú	FetchTestz-Test History.fetch with wrapped tk.Text.
    c             C   s   t  d ƒ t j ƒ  |  _ d  S)NZgui)r   ÚtkZTkÚroot)r
   r   r   r   r   C   s    
zFetchTest.setUpClassc             C   sk   t  |  j ƒ |  _ } | j d d ƒ | j d d ƒ | j d d ƒ t | ƒ |  _ t t	 g |  j _ d  S)Nz1.0z>>> Úiomarkz1.4Úleft)
r'   r2   r   ÚinsertÚmark_setZmark_gravityr   r	   r   r   )r   r   r   r   r   ÚsetUpH   s    zFetchTest.setUpc             C   s   |  j  j ƒ  |  `  d  S)N)r2   Zdestroy)r
   r   r   r   ÚtearDownClassP   s    zFetchTest.tearDownClassr/   Fc            C   s£   |  j  } | j | ƒ |  j } | |  j j d d ƒ | ƒ | |  j j | ƒ | r` d |  j _ | | j | ƒ | | j | ƒ | |  j j d d d ƒ d ƒ d  S)Nr3   zend-1cFr5   z==r   )	r	   Úfetchr   r   Úgetr*   r   r   Zcompare)r   ÚreverseÚliner   Úindexr/   r   ZEqualr   r   r   Ú
fetch_testU   s    		zFetchTest.fetch_testc             C   sR   d } |  j  } | d t | d ƒ | d t | d ƒ | d | d  d  d d ƒd  S)NÚ Tr   r   r/   )r>   r   r   )r   r   Útestr   r   r   Útest_fetch_prev_cyclice   s
    	z FetchTest.test_fetch_prev_cyclicc             C   sR   d } |  j  } | d t | d ƒ | d t | d ƒ | d | d  d  d d ƒd  S)Nr?   Fr   r   r/   T)r>   r   r   )r   r   r@   r   r   r   Útest_fetch_next_cyclicl   s
    	z FetchTest.test_fetch_next_cyclicc             C   sO   d } |  j  j d | ƒ |  j d t | d ƒ |  j d | d  d  d d ƒd  S)Nr   r3   Tr   r/   )r   r5   r>   r   )r   r   r   r   r   Útest_fetch_prev_prefixt   s    z FetchTest.test_fetch_prev_prefixc             C   sO   d } |  j  j d | ƒ |  j d t | d ƒ |  j d | d  d  d d ƒd  S)Nr   r3   Fr   r/   T)r   r5   r>   r   )r   r   r   r   r   Útest_fetch_next_prefixz   s    z FetchTest.test_fetch_next_prefixc             C   s^   d } d |  j  _ |  j } | d t | d ƒ | d t | d ƒ | d t | d d d ƒd  S)Nr?   FTr   r   r/   )r	   r   r>   r   r   )r   r   r@   r   r   r   Útest_fetch_prev_noncyclic€   s    	z#FetchTest.test_fetch_prev_noncyclicc             C   s}   d } d |  j  _ |  j } | d | d  d  d d ƒ| d t | d ƒ | d | d  d  d d ƒ| d | d  d  d d ƒd  S)Nr?   Fr/   Tr   )r	   r   r>   r   )r   r   r@   r   r   r   Útest_fetch_next_noncyclicˆ   s    	z#FetchTest.test_fetch_next_noncyclicc             C   sF   |  j  j d d ƒ |  j j d d ƒ |  j d t d  d  d d ƒd  S)Nr;   Tr5   r3   r/   )r	   r9   r   r6   r>   r   )r   r   r   r   Útest_fetch_cursor_move‘   s    z FetchTest.test_fetch_cursor_movec             C   sS   |  j  j d d ƒ |  j j d d ƒ |  j j d d ƒ |  j d t d d ƒ d  S)Nr;   Tr3   r5   za =r   )r	   r9   r   r   r5   r>   r   )r   r   r   r   Útest_fetch_edit—   s    zFetchTest.test_fetch_editc             C   sP   |  j  j d ƒ |  j |  j  j d ƒ |  j  j d ƒ |  j |  j  j d  ƒ d  S)Nzdummy eventr   )r	   Zhistory_prevr   r   Zhistory_next)r   r   r   r   Útest_history_prev_nextž   s    z FetchTest.test_history_prev_nextN)r"   r#   r$   r%   r&   r   r7   r8   r>   rA   rB   rC   rD   rE   rF   rG   rH   rI   r   r   r   r   r0   @   s   	r0   Ú__main__Ú	verbosityé   Úexit)ZunittestZtest.supportr   Útkinterr1   r   r)   Zidlelib.idle_test.mock_tkr   Zidlelib.IdleHistoryr   Zidlelib.configHandlerr   r   r   ZTestCaser   r'   r0   r"   r   r   r   r   r   Ú<module>   s   *	f