B
� fz# � @ sx d Z ddlmZ ddlZddlmZ ddlmZmZ ddl m
Z
G dd� d�ZG d d
� d
ej�Z
edkrtejdd
� dS )zTest hyperparser, coverage 98%.� )�HyperParserN)�requires)�Tk�Text)�EditorWindowc @ s e Zd Zdd� ZejZejZdS )�DummyEditwinc C s" || _ d| _d| _d| _d| _d S )N� z>>>)�2 i� i� )�textZindentwidthZtabwidth�prompt_last_lineZnum_context_lines)�selfr
� r
�G/opt/alt/python37/lib64/python3.7/idlelib/idle_test/test_hyperparser.py�__init__
s
zDummyEditwin.__init__N)�__name__�
__module__�__qualname__r r Z_build_char_in_string_funcZis_char_in_stringr
r
r
r r s r c @ sx e Zd ZdZedd� �Zedd� �Zdd� Zdd � Zd
d� Z dd
� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� ZdS )�HyperParserTestu# """This is a module docstring"""
# this line is a comment
x = "this is a string"
y = 'this is also a string'
l = [i for i in range(10)]
m = [py*py for # comment
py in l]
x.__len__
z = ((r'asdf')+('a')))
[x for x in
for = False
cliché = "this is a string with unicode, what a cliché"c C s6 t d� t� | _| j�� t| j�| _t| j�| _d S )NZgui)r r �rootZwithdrawr r
r �editwin)�clsr
r
r �
setUpClass% s
zHyperParserTest.setUpClassc C s | ` | `| j�� | `d S )N)r
r r Zdestroy)r r
r
r �
tearDownClass- s
zHyperParserTest.tearDownClassc C s | j �d| j� d S )N�insert)r
r �code)r r
r
r �setUp3 s zHyperParserTest.setUpc C s | j �dd� d| j_d S )Nz1.0�endz>>>)r
�deleter r )r r
r
r �tearDown6 s zHyperParserTest.tearDownc C s t | j|�S )z>
Return a parser object with index at 'index'
)r r )r �indexr
r
r �
get_parser: s zHyperParserTest.get_parserc C s� | � t�� }| j�ddd� | �d�}W dQ R X | �dt|j�� d| j_ | �d�}| �
|j| j�dd�� | j�
d| j�dd�d � | �d
�}dS )z6
test corner cases in the init method
Zconsolez1.0z1.endz1.5NZprecedes� r � z54.5)�assertRaises�
ValueErrorr
Ztag_addr �assertIn�str� exceptionr r �assertEqualZrawtext�getr )r �ve�pr
r
r � test_init@ s
zHyperParserTest.test_initc C s� | j }|d�}| �|�� � |d�}| �|�� � |d�}| �|�� � |d�}| �|�� � |d�}| �|�� � |d�}| �|�� � |d�}| �|�� � d S )Nz1.0z1.4z2.3z3.3z3.7z4.6z12.54)r �assertFalseZis_in_string�
assertTrue)r r) r+ r
r
r �test_is_in_stringT s z!HyperParserTest.test_is_in_stringc C s� | j }|d�}| �|�� � |d�}| �|�� � |d�}| �|�� � |d�}| �|�� � |d�}| �|�� � |d�}| �|�� � d S )Nz1.0z1.1z2.5z3.4z3.6z4.14)r r. Z
is_in_coder- )r r) r+ r
r
r �test_is_in_codef s zHyperParserTest.test_is_in_codec C s� | j }dd� }dd� }|d�}| �||�� | �||�� |d�}| �||�d� | �||�||�� |d�}| �||�d � | �||�||�� |d
�}| �||�d� | �||�� |d�}| �||�� | �||�� d S )
Nc S s | j dd�S )NF)� mustclose)�get_surrounding_brackets)�parserr
r
r �without_mustclosey s zGHyperParserTest.test_get_surrounding_bracket.