o
    ei1                     @   s   d dl mZmZmZ d dlZd dlZd dlmZ ej	d G dd dej
ZG dd dej
ZG d	d
 d
eZG dd deZG dd dej
Zdd Zdd Zedkr`e  edZdS dS )    )absolute_importprint_functionunicode_literalsN)lineobjz../..c                   @   s   e Zd Zdd Zdd ZdS )	Test_copyc                 C   sJ   t d}| }| | |  | |j|j | |j|j d S )Nfirst secondr   ReadLineTextBuffercopyassertEqualZget_line_textpointmarkselflq r   PD:\Projects\ConvertPro\env\Lib\site-packages\pyreadline3/test/test_lineeditor.py
test_copy1   s
   
zTest_copy.test_copy1c                 C   sN   t jddd}| }| | |  | |j|j | |j|j d S )Nr      r   r   r   r   r   r   
test_copy2   s
   zTest_copy.test_copy2N)__name__
__module____qualname__r   r   r   r   r   r   r      s    r   c                   @   s0   e Zd ZdZdd Zdd Zdd Zdd	 Zd
S )Test_lineposz	test textc                 C   sV   | j }t|}tt|D ]}| ||j tj|_qtj|_| t||j d S )N)tr   r	   rangelenr   r   NextCharr   r   r   ir   r   r   test_NextChar%   s   

zTest_linepos.test_NextCharc                 C   sb   | j }tj|t|d}tt|D ]}| t|| |j tj|_qtj|_| d|j d S Nr   r   )r   r   r	   r   r   r   r   PrevCharr    r   r   r   test_PrevChar/   s   
zTest_linepos.test_PrevCharc                 C   sN   | j }tj|t|d}tt|D ]}||_tj|_| t||j qd S )Nr   )r   r   r	   r   r   r   	EndOfLiner   r    r   r   r   test_EndOfLine9   s   zTest_linepos.test_EndOfLinec                 C   sJ   | j }tj|t|d}tt|D ]}||_tj|_| d|j qd S r#   )r   r   r	   r   r   r   StartOfLiner   r    r   r   r   test_StartOfLineA   s   zTest_linepos.test_StartOfLineN)r   r   r   r   r"   r%   r'   r)   r   r   r   r   r   "   s    

r   c                   @      e Zd ZdZdS )Tests_linepos2ZkajkjNr   r   r   r   r   r   r   r   r+   J       r+   c                   @   r*   )Tests_linepos3 Nr,   r   r   r   r   r.   N   r-   r.   c                   @   st   e Z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d Zdd Zdd Zdd ZdS )Test_movementc                 C   sf   t j}|dddf|dddf|dddfg}|D ]\}}}}t |t|}||_| t||j qd S )NFirst#     z #        #      #)r   r   r	   get_point_posr   r   r   cmdteststext
init_pointZexpected_pointr   r   r   r   r"   S   ,   zTest_movement.test_NextCharc                 C   sf   t j}|dddf|dddf|dddfg}|D ]\}}}}t |t|}||_| t||j qd S )Nr1   r4   r3   z #   z#    r2   )r   r$   r	   r5   r   r   r6   r   r   r   r%   i   r;   zTest_movement.test_PrevCharc                 C   sp   t j}|dddf|dddf|dddf|dddfg}|D ]\}}}}t |t|}||_| t||j qd S )NFirst Second Third                  #             #           #                 #             #                  )r   ZPrevWordStartr	   r5   r   r   r6   r   r   r   test_PrevWordStart   6   z Test_movement.test_PrevWordStartc                 C   p   t j}|dddf|dddf|dddf|dddfg}|D ]\}}}}t |t|}||_| t||j qd S )	Nr<   #                 z      #               #             r?   r>                 #    r=   )r   ZNextWordStartr	   r5   r   r   r6   r   r   r   test_NextWordStart   rC   z Test_movement.test_NextWordStartc                 C   rD   )	Nr<   rE   z     #            rF   r?               #      rG   r=   )r   ZNextWordEndr	   r5   r   r   r6   r   r   r   test_NextWordEnd   rC   zTest_movement.test_NextWordEndc                 C   sp   t j}|dddf|dddf|dddf|dddfg}|D ]\}}}}t |t|}||_| t||j qd S )Nr<   r=   rI   r@   rA   )r   ZPrevWordEndr	   r5   r   r   r6   r   r   r   test_PrevWordEnd   rC   zTest_movement.test_PrevWordEndc                 C   sf   t j}|dddf|dddf|dddfg}|D ]\}}}}t |t|}||_| t||j qd S )Nr<   rA   r@    #                 r>   r=   )r   WordEndr	   r5   r   r   r6   r   r   r   test_WordEnd_1   r;   zTest_movement.test_WordEnd_1c                 C   V   t j}|ddf|ddf|ddfg}|D ]\}}}t |t|}| t j|| qd S Nr<   r@   rI   r=   )r   rM   r	   r5   assertRaisesNotAWordErrorr   r7   r8   r9   r:   r   r   r   r   test_WordEnd_2   $   zTest_movement.test_WordEnd_2c                 C   sf   t j}|dddf|dddf|dddfg}|D ]\}}}}t |t|}||_| t||j qd S )Nr<   rA   rL   z               #   r>   )r   	WordStartr	   r5   r   r   r6   r   r   r   test_WordStart_1  r;   zTest_movement.test_WordStart_1c                 C   rO   rP   )r   rV   r	   r5   rQ   rR   rS   r   r   r   test_WordStart_2&  rU   zTest_movement.test_WordStart_2c                 C   sf   t j}|dddf|dddf|dddfg}|D ]\}}}}t |t|}||_| t||j qd S )Nr<   rE            #         rA   r=   )r   r(   r	   r5   r   r   r6   r   r   r   r)   9  r;   zTest_movement.test_StartOfLinec                 C   sf   t j}|dddf|dddf|dddfg}|D ]\}}}}t |t|}||_| t||j qd S )Nr<   rE   r=   rY   )r   r&   r	   r5   r   r   r6   r   r   r   r'   O  r;   zTest_movement.test_EndOfLinec                 C   sR   t j}|ddf|ddf|ddfg}|D ]\}}}t ||}| ||| qd S )Nr<   r         )r   ZPointr	   r   )r   r7   r8   r9   pr   r   r   r   
test_Pointe  s$   zTest_movement.test_PointN)r   r   r   r"   r%   rB   rH   rJ   rK   rN   rT   rW   rX   r)   r'   r]   r   r   r   r   r0   R   s    r0   c                 C   s
   |  dS )N#)index)pstrr   r   r   r5   {  s   
r5   c                 C   s"   z|  dW S  ty   Y dS w )Nr^   )r_   
ValueError)Zmstrr   r   r   get_mark_pos  s
   rc   __main__r<   )
__future__r   r   r   sysZunittestZpyreadline3.lineeditorr   pathappendZTestCaser   r   r+   r.   r0   r5   rc   r   mainr	   r   r   r   r   r   <module>   s$   	(  +