mς
­fIc           @   sμ   d  Z  d k Z d k l Z d k Z d k Z d k Z d k Z d k Z d k l Z d Z	 d Z
 d e
 i d d  d	 Z d
 e i f d     YZ d e i f d     YZ d e i f d     YZ d   Z e d j o e   n d S(   s%   
Tests for uu module.
Nick Mathewson
N(   s   test_support(   s   StringIOs5   The smooth-scaled python crept over the sleeping dog
sK   M5&AE('-M;V]T:"US8V%L960@<'ET:&]N(&-R97!T(&]V97(@=&AE('-L965P
(:6YG(&1O9PH s   begin %03o %s
t   %s   %%s   
 
end
t   UUTestc           B   s,   t  Z d   Z d   Z d   Z d   Z RS(   Nc         C   s   t  i t  } t  i   } t i | | d  |  i | i	   t
 d  t  i t  } t  i   } t i | | d d  |  i | i	   t
 d  d  S(   Nt   t1iΆ  i€  (   iΆ  R   (   i€  R   (   t	   cStringIOt   StringIOt	   plaintextt   inpt   outt   uut   encodet   selft   assertEqualt   getvaluet   encodedtextwrapped(   R
   R   R   (    (    t)   /mit/python/lib/python2.4/test/test_uu.pyt   test_encode   s    c         C   s   t  i t d  } t  i   } t i | |  |  i | i	   t
  t  i d d t d  } t  i   } t i | |  |  i | i	   t
  d  S(   NiΆ  R   s(   UUencoded files may contain many lines,
s%   even some that have 'begin' in them.
(   iΆ  s   t1(   iΆ  s   t1(   R   R   R   R   R   R   t   decodeR
   R   R   R   (   R
   R   R   (    (    R   t   test_decode!   s    c         C   su   t  i d t  } t  i   } y! t i | |  |  i d  Wn. t i	 j
 o } |  i t |  d  n Xd  S(   Ns   begin 644 t1
s   No exception throwns   Truncated input file(   R   R   t   encodedtextR   R   R   R   R
   t   failt   Errort   eR   t   str(   R
   R   R   R   (    (    R   t   test_truncatedinput/   s    c         C   sq   t  i d  } t  i   } y! t i | |  |  i d  Wn. t i j
 o } |  i
 t |  d  n Xd  S(   Nt    s   No exception throwns'   No valid begin line found in input file(   R   R   R   R   R   R   R
   R   R   R   R   R   (   R
   R   R   R   (    (    R   t   test_missingbegin8   s    (   t   __name__t
   __module__R   R   R   R   (    (    (    R   R      s   	
			t   UUStdIOTestc           B   s,   t  Z d   Z d   Z d   Z d   Z RS(   Nc         C   s   t  i |  _ t  i |  _ d  S(   N(   t   syst   stdinR
   t   stdout(   R
   (    (    R   t   setUpC   s    c         C   s   |  i t _ |  i t _ d  S(   N(   R
   R   R   R   (   R
   (    (    R   t   tearDownG   s    c         C   sX   t  i t  t _ t  i   t _ t i d d d d  |  i	 t i i
   t d  d  S(   Nt   -R   iΆ  (   iΆ  s   t1(   R   R   R   R   R   R   R   R	   R
   R   R   R   (   R
   (    (    R   R   K   s
    c         C   sR   t  i t d  t _ t  i   t _ t i d d  |  i	 t i i
   t  d  S(   NiΆ  R   R"   (   iΆ  s   t1(   R   R   R   R   R   R   R   R   R
   R   R   R   (   R
   (    (    R   R   T   s    (   R   R   R    R!   R   R   (    (    (    R   R   A   s   				t
   UUFileTestc           B   s>   t  Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   Nc         C   sp   y | i   Wn" t t f j
 o
   n n Xy t i | i  Wn" t t f j
 o
   n n Xd  S(   N(   t   ft   closet
   SystemExitt   KeyboardInterruptt   ost   unlinkt   name(   R
   R$   (    (    R   t   _kill\   s    c         C   s$   t  i d |  _ t  i d |  _ d  S(   Nt   it   o(   t   test_supportt   TESTFNR
   t   tmpint   tmpout(   R
   (    (    R   R    k   s    c         C   s   |  ` |  ` d  S(   N(   R
   R0   R1   (   R
   (    (    R   R!   o   s    c         C   sθ   zΖ t  |  i d  } | i t  | i   t  |  i d  } t  |  i d  } t	 i
 | | |  i d d | i   | i   t  |  i d  } | i   } | i   |  i | t d |  i f  Wd  |  i |  |  i |  Xd  S(   Nt   wbt   rbt   wt   modei€  t   r(   t   openR
   R0   t   fint   writeR   R%   R1   t   foutR   R	   t   readt   sR   R   R+   (   R
   R8   R<   R:   (    (    R   R   s   s     



! c         C   s°   z t  |  i d  } | i t d |  i f  | i   t  |  i d  } t i	 |  | i   t  |  i d  } | i
   } | i   |  i | t  Wd  |  i |  Xd  S(   NR2   i€  R3   R6   (   R7   R
   R0   R$   R9   R   R1   R%   R   R   R;   R<   R   R   R+   (   R
   R$   R<   (    (    R   R      s    


 c         C   s   z~ t  i t d |  i f  } t |  i d  } t i	 |  | i
   t |  i d  } |  i t i t i	 |  | i
   Wd  |  i |  Xd  S(   Ni€  R3   (   R   R   R   R
   R1   R$   R7   R0   R   R   R%   t   assertRaisesR   R+   (   R
   R$   (    (    R   t   test_decodetwice   s    
 (   R   R   R+   R    R!   R   R   R>   (    (    (    R   R#   Z   s   					c           C   s   t  i t t t  d  S(   N(   R.   t   run_unittestR   R   R#   (    (    (    R   t	   test_main¨   s    t   __main__(   t   __doc__t   unittestt   testR.   R   R(   R   R   R   R   R   t   replaceR   t   TestCaseR   R   R#   R@   R   (   R.   R   R   R   R   R   RC   R#   R   R   R   R@   R   R(   (    (    R   t   ?   s   	$	,N	