Your IP : 216.73.216.213
���]�! � @ s� d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z d d l m Z d d l m
Z
m Z e � Gd d � d e j � Z
e d k r� e j � d S)� N)�support)�assert_python_ok)�
scriptsdir�skip_if_missingc @ s� e Z d Z e j j e 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)�PindentTestsz
pindent.pyc C sL t | � �9 } t | � �# } | j | j � | j � � Wd QRXWd QRXd S)N)�open�assertEqual� readlines)�selfZfn1Zfn2�f1�f2� r
�1/opt/alt/python35/lib64/python3.5/test_pindent.py�assertFileEqual s zPindentTests.assertFileEqualc G sg t j t j | j f | d t j d t j d d �� } | j | � \ } } Wd QRX| j | � | S)N�stdin�stdout�universal_newlinesT)�
subprocess�Popen�sys�
executable�script�PIPE�communicateZassertIsNone)r
�source�args�proc�out�errr
r
r �pindent s
zPindentTests.pindentc C s$ d j d d � | j � D� � d S)N�
c s s | ] } | j � Vq d S)N)�lstrip)�.0�liner
r
r � <genexpr>! s z+PindentTests.lstriplines.<locals>.<genexpr>)�join�
splitlines)r
�datar
r
r �lstriplines s zPindentTests.lstriplinesc J C s� d | _ t j � ��} t j j | d � } t | j � � } | j � } Wd QRXt | d � � } | j | � Wd QRXt
| j d | � \ } } } | j | d � | j | d � | d } | j t j j
| � � t | � � } | j | j � | � Wd QRXt | � � } | j � } Wd QRXt | d d � | j | j | d � | � | j | j | d � | � t
| j d | � \ } } } | j | d � | j | d � t | � � } | j | j � | � Wd QRXt | � � } | j | j � | � Wd QRX| j | � }
t | d � � } | j |
� Wd QRXt
| j d | � \ } } } | j | d � | j | d � t | � � } | j | j � |
� Wd QRXt | � � } | j � } Wd QRXt | d d � | j | j |
d � | � Wd QRXd S) Nz_test.py�wz-d� �~�execz-cz-r)ZmaxDiffr Ztemp_dir�os�pathr% r r �read�writer r Z
assertTrue�exists�compiler r( )r
Z directoryZ data_path�f�closed�rcr r Zbackup�clean�brokenZindentedr
r
r �
test_selftest# sL
zPindentTests.test_selftestc C sp | j | j | d � | � | j | j | d � | � | j | � } | j | j | d d d d � | � d S)Nz-cz-dz-rz-ez-s�4)r r r( )r
r6 r4 r7 r
r
r �pindent_testN s zPindentTests.pindent_testc C s2 t j d � } t j d � } | j | | � d S)Na: if a:
pass
if a:
pass
else:
pass
if a:
pass
elif:
pass
else:
pass
while a:
break
while a:
break
else:
pass
for i in a:
break
for i in a:
break
else:
pass
try:
pass
finally:
pass
try:
pass
except TypeError:
pass
except ValueError:
pass
else:
pass
try:
pass
except TypeError:
pass
except ValueError:
pass
finally:
pass
with a:
pass
class A:
pass
def f():
pass
a` if a:
pass
# end if
if a:
pass
else:
pass
# end if
if a:
pass
elif:
pass
else:
pass
# end if
while a:
break
# end while
while a:
break
else:
pass
# end while
for i in a:
break
# end for
for i in a:
break
else:
pass
# end for
try:
pass
finally:
pass
# end try
try:
pass
except TypeError:
pass
except ValueError:
pass
else:
pass
# end try
try:
pass
except TypeError:
pass
except ValueError:
pass
finally:
pass
# end try
with a:
pass
# end with
class A:
pass
# end class A
def f():
pass
# end def f
)�textwrap�dedentr: )r
r6 r4 r
r
r �test_statementsT s
? L zPindentTests.test_statementsc C s2 t j d � } t j d � } | j | | � d S)Nz� def foobar(a, b):
if a == b:
a = a+1
elif a < b:
b = b-1
if b > a: a = a-1
else:
print 'oops!'
aJ def foobar(a, b):
if a == b:
a = a+1
elif a < b:
b = b-1
if b > a: a = a-1
# end if
else:
print 'oops!'
# end if
# end def foobar
)r; r<