a
    	3j                     @   s   d dl mZ 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ZdZG dd	 d	ejZG d
d dZG dd dejZedkrejddd dS )    )HistoryN)requires)Text)idleConfza = 7zb = ac                   @   s@   e Zd Zedd Zdd Zdd Zdd Zd	d
 Zdd Z	dS )	StoreTestc                 C   s   t  | _t| j| _d S N)mkTexttextr   historycls r   Z/www/server/python_manager/versions/3.9.10/lib/python3.9/idlelib/idle_test/test_history.py
setUpClass   s    zStoreTest.setUpClassc                 C   s   | j dd g | j_d S )N1.0end)r	   deleter
   selfr   r   r   tearDown   s    zStoreTest.tearDownc              
   C   s`   |  | jj| j | | jjg  | | jj | | jj | | jjt	ddddd d S )Nmainr   cyclic   bool)
ZassertIsr
   r	   assertEqualassertIsNoneprefixpointerr   r   Z	GetOptionr   r   r   r   	test_init   s    
zStoreTest.test_initc                 C   s<   | j d | | j j g  | j d | | j j g  d S )Naz  a  )r
   storer   r   r   r   r   test_store_short$   s    zStoreTest.test_store_shortc                 C   sb   | j t | | j j tg | j t | | j j ttg | j t | | j j ttg d S r   )r
   r    line1r   line2r   r   r   r   test_store_dup*   s    zStoreTest.test_store_dupc                 C   s<   t | j_d| j_| jt | | jj | | jj d S )Nr   )r"   r
   r   r   r    r#   r   r   r   r   r   test_store_reset2   s
    zStoreTest.test_store_resetN)
__name__
__module____qualname__classmethodr   r   r   r!   r$   r%   r   r   r   r   r      s   
r   c                   @   s$   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__;   s    zTextWrapper.__init__c                 C   s   t | j|S r   )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.   r1   r2   r   r   r   r   r*   :   s   r*   c                   @   s   e 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 )	FetchTestc                 C   s    t d t | _| j  d S )NZgui)r   tkZTkrootZwithdrawr   r   r   r   r   G   s    
zFetchTest.setUpClassc                 C   sN   t | j | _}|dd |dd |dd t|| _tt	g| j_d S )Nr   z>>> iomarkz1.4left)
r*   r5   r	   insertmark_setZmark_gravityr   r
   r"   r#   )r   r	   r   r   r   setUpM   s    
zFetchTest.setUpc                 C   s   | j   | ` d S r   )r5   Zdestroyr   r   r   r   tearDownClassU   s    
zFetchTest.tearDownClassFr2   c                C   sv   | j }|| | j}|| jdd| || jj| |rDd| j_||j| ||j| || jdddd d S )Nr6   zend-1cFr8   z==r   )	r
   fetchr   r	   getr-   r   r   Zcompare)r   reverseliner   indexr2   r   ZEqualr   r   r   
fetch_testZ   s    
zFetchTest.fetch_testc                 C   s<   d}| j }|dt|d |dt|d |d|d d dd d S )N Tr   r   r<   )rB   r#   r"   r   r   testr   r   r   test_fetch_prev_cyclicj   s
    z FetchTest.test_fetch_prev_cyclicc                 C   s<   d}| j }|dt|d |dt|d |d|d d dd d S )NrC   Fr   r   Tr<   )rB   r"   r#   rD   r   r   r   test_fetch_next_cyclicq   s
    z FetchTest.test_fetch_next_cyclicc                 C   s:   d}| j d| | dt|d | jd|d d dd d S )Nr   r6   Tr   r<   r	   r8   rB   r"   r   r   r   r   r   test_fetch_prev_prefixy   s    z FetchTest.test_fetch_prev_prefixc                 C   s:   d}| j d| | dt|d | jd|d d dd d S )Nr   r6   Fr   Tr<   rH   rI   r   r   r   test_fetch_next_prefix   s    z FetchTest.test_fetch_next_prefixc                 C   sD   d}d| j _| j}|dt|d |dt|d |dt|ddd d S )NrC   FTr   r   r<   )r
   r   rB   r#   r"   rD   r   r   r   test_fetch_prev_noncyclic   s    z#FetchTest.test_fetch_prev_noncyclicc                 C   sZ   d}d| j _| j}|d|d d dd |dt|d |d|d d dd |d|d d dd d S )NrC   FTr<   r   )r
   r   rB   r#   rD   r   r   r   test_fetch_next_noncyclic   s    z#FetchTest.test_fetch_next_noncyclicc                 C   s4   | j jdd | jdd | jdtd d dd d S )NTr?   r8   r6   r<   )r
   r=   r	   r9   rB   r#   r   r   r   r   test_fetch_cursor_move   s    z FetchTest.test_fetch_cursor_movec                 C   s>   | j jdd | jdd | jdd | dtdd d S )NTrN   r6   r8   za =r   )r
   r=   r	   r   r8   rB   r"   r   r   r   r   test_fetch_edit   s    zFetchTest.test_fetch_editc                 C   s<   | j d | | j jd | j d | | j jd  d S )Nzdummy eventr   )r
   Zhistory_prevr   r   Zhistory_nextr   r   r   r   test_history_prev_next   s    z FetchTest.test_history_prev_nextN)r&   r'   r(   r)   r   r:   r;   rB   rF   rG   rJ   rK   rL   rM   rO   rP   rQ   r   r   r   r   r3   D   s   

	r3   __main__   )	verbosityexit)Zidlelib.historyr   ZunittestZtest.supportr   tkinterr4   r   r,   Zidlelib.idle_test.mock_tkr   Zidlelib.configr   r"   r#   ZTestCaser   r*   r3   r&   r   r   r   r   r   <module>   s   *
g