<!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>
B
     f                 @   s   d Z 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 )z Test history, coverage 100%.    )HistoryN)requires)Text)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   C/opt/alt/python37/lib64/python3.7/idlelib/idle_test/test_history.py
setUpClass   s    zStoreTest.setUpClassc             C   s   | 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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	GetOption)r   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 )N)r	   r   line1r   line2)r   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____doc__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 )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'   :   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rootZwithdraw)r
   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 )Nz1.0z>>> iomarkz1.4left)
r'   r2   r   insertmark_setZmark_gravityr   r	   r   r   )r   r   r   r   r   setUpM   s    
zFetchTest.setUpc             C   s   | j   | ` d S )N)r2   Zdestroy)r
   r   r   r   tearDownClassU   s    
zFetchTest.tearDownClassF)r/   c            C   sv   | j }|| | j}|| jdd| || jj| |rDd| 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_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/   )r>   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 )Nr?   Fr   r   T)r/   )r>   r   r   )r   r   r@   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   r3   Tr   )r/   )r   r5   r>   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   r3   Fr   T)r/   )r   r5   r>   r   )r   r   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 )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   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 )Nr?   FT)r/   r   )r	   r   r>   r   )r   r   r@   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;   r5   r3   )r/   )r	   r9   r   r6   r>   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 )NT)r;   r3   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   s<   | j d | | j jd | j d | | 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   D   s   	r0   __main__   )	verbosityexit)r%   Zidlelib.historyr   ZunittestZtest.supportr   Ztkinterr1   r   r)   Zidlelib.idle_test.mock_tkr   Zidlelib.configr   r   r   ZTestCaser   r'   r0   r"   r   r   r   r   r   <module>   s   *
g