B
    ž†\š  ã               @   s>   d dl Z d dlmZ dZeee ¡ ƒƒZG dd„ de j	ƒZ
dS )é    N)ÚStringIOTreezâ
cdef int spam                   # line 1

cdef ham():
    a = 1
    b = 2
    c = 3
    d = 4

def eggs():
    pass

cpdef bacon():
    print spam
    print 'scotch'
    print 'tea?'
    print 'or coffee?'          # line 16
c               @   s8   e Zd Zdd„ Zdd„ Zdd„ Zddd	„Zdd
d„ZdS )ÚTestStringIOTreec             C   s   t  ¡ | _d S )N)Ú
stringtreer   Útree)Úself© r   ú<lib/python3.7/site-packages/Cython/Tests/TestStringIOTree.pyÚsetUp   s    zTestStringIOTree.setUpc             C   s   | j  ¡ rt‚d S )N)r   Ú
allmarkersÚAssertionError)r   r   r   r   Útest_markers   s    zTestStringIOTree.test_markersc             C   sæ   |   d¡ | j ¡ }|   d¡ | j ¡ }|   d¡ | ¡ }| j d|d | ¡ }| jd|d | jd|d | jd|d | ¡ }| jd	|d | jd
|d | jd|d |  | j ¡ ttddƒƒ¡ |  t 	¡ | j 
¡  	¡ ¡ d S )N)é   é   é   )é   é   )é   é   é   )é   é   )r   é   é   é	   é   é
   é   r   é   )Úwrite_linesr   Zinsertion_pointÚ
write_lineZassertEqualr
   ÚlistÚrangeÚcodeÚstripÚgetvalue)r   Zline_4_to_6_insertion_pointZline_9_to_13_insertion_pointZline_4_insertion_pointZline_9_to_12_insertion_pointZline_10_insertion_pointr   r   r   Útest_insertion"   s"    




zTestStringIOTree.test_insertionNc             C   s    x|D ]}| j ||d qW d S )N)r   )r   )r   Zlinenosr   Úlinenor   r   r   r   ;   s    
zTestStringIOTree.write_linesc             C   s0   |d kr| j }|j |¡ | t| d ¡ d S )NÚ
)r   ZmarkersÚappendÚwriteÚlinemap)r   r&   r   r   r   r   r   ?   s    zTestStringIOTree.write_line)N)N)Ú__name__Ú
__module__Ú__qualname__r	   r   r%   r   r   r   r   r   r   r      s
   
r   )ZunittestZCythonr   r   r"   ÚdictÚ	enumerateÚ
splitlinesr*   ZTestCaser   r   r   r   r   Ú<module>   s   