;
Νβ"Ic               @   sτ   d  Z  d d l Z d d l m Z d d l Z d d l Z d d l Z d d l m Z d d l Z d Z	 d Z
 Gd   d e j  Z d	   Z Gd
   d e j  Z Gd   d e j  Z Gd   d e j  Z d   Z e d k o e   n d S(   u%   
Tests for uu module.
Nick Mathewson
i    N(   u   support(   u   BytesIOs5   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 c                s8   |  Ee  Z d  Z d d d d   f d  Z d   Z   S(   u   Text I/O implementation using an in-memory buffer.

    Can be a used as a drop-in replacement for sys.stdin and sys.stdout.
    u    u   utf-8u   strictu   
c                sw   t  t |   j t j   d | d | d | | o> t | t  p t |  } n |  j |  |  j d  n d  S(   Nu   encodingu   errorsu   newlinei    (	   u   superu   FakeIOu   __init__u   iou   BytesIOu
   isinstanceu   stru   writeu   seek(   u   selfu   initial_valueu   encodingu   errorsu   newline(   u	   __class__(    u)   /mit/python/lib/python3.0/test/test_uu.pyu   __init__   s    c             C   s)   |  j    |  j j   j |  j |  j  S(   N(   u   flushu   bufferu   getvalueu   decodeu	   _encodingu   _errors(   u   self(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   getvalue)   s    
(   u   __name__u
   __module__u   __doc__u   __init__u   getvalue(   u
   __locals__(    (   u	   __class__u)   /mit/python/lib/python3.0/test/test_uu.pyu   FakeIO   s   
u   FakeIOc             C   s   t  d |  | f d  t d S(   Nu   begin %03o %s
u   asciis   
 
end
(   u   bytesu   encodedtext(   u   modeu   filename(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   encodedtextwrapped.   s    c             B   s2   |  Ee  Z d    Z d   Z d   Z d   Z d S(   c             C   s‘   t  j t  } t  j   } t j | | d  |  j | j   t d d   t  j t  } t  j   } t j | | d d  |  j | j   t d d   d  S(   Nu   t1iΆ  i€  (   u   iou   BytesIOu	   plaintextu   uuu   encodeu   assertEqualu   getvalueu   encodedtextwrapped(   u   selfu   inpu   out(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   test_encode4   s    c             C   s    t  j t d d   } t  j   } t j | |  |  j | j   t  t  j d d t d d   } t  j   } t j | |  |  j | j   t  d  S(   NiΆ  u   t1s(   UUencoded files may contain many lines,
s%   even some that have 'begin' in them.
(   u   iou   BytesIOu   encodedtextwrappedu   uuu   decodeu   assertEqualu   getvalueu	   plaintext(   u   selfu   inpu   out(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   test_decode>   s    c             C   s   t  j d t  } t  j   } y! t j | |  |  j d  Wn@ t j k
 o1 } z |  j t |  d  WYd  d  } ~ Xn Xd  S(   Ns   begin 644 t1
u   No exception thrownu   Truncated input file(	   u   iou   BytesIOu   encodedtextu   uuu   decodeu   failu   Erroru   assertEqualu   str(   u   selfu   inpu   outu   e(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   test_truncatedinputL   s    c             C   s   t  j d  } t  j   } y! t j | |  |  j d  Wn@ t j k
 o1 } z |  j t |  d  WYd  d  } ~ Xn Xd  S(   Ns    u   No exception thrownu'   No valid begin line found in input file(   u   iou   BytesIOu   uuu   decodeu   failu   Erroru   assertEqualu   str(   u   selfu   inpu   outu   e(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   test_missingbeginU   s    N(   u   __name__u
   __module__u   test_encodeu   test_decodeu   test_truncatedinputu   test_missingbegin(   u
   __locals__(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   UUTest2   s   
	
			u   UUTestc             B   s2   |  Ee  Z d    Z d   Z d   Z d   Z d S(   c             C   s   t  j |  _ t  j |  _ d  S(   N(   u   sysu   stdinu   stdout(   u   self(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   setUp`   s    c             C   s   |  j  t _  |  j t _ d  S(   N(   u   stdinu   sysu   stdout(   u   self(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   tearDownd   s    c             C   si   t  t j d   t _ t    t _ t j d d d d  |  j t j j	   t
 d d  j d   d  S(   Nu   asciiu   -u   t1iΆ  (   u   FakeIOu	   plaintextu   decodeu   sysu   stdinu   stdoutu   uuu   encodeu   assertEqualu   getvalueu   encodedtextwrapped(   u   self(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   test_encodeh   s
    c             C   s   t  t d d  j d   t _ t    t _ t j d d  t j } |  j t _ |  j t _ |  j | j   t	 j d   d  S(   NiΆ  u   t1u   asciiu   -(
   u   FakeIOu   encodedtextwrappedu   decodeu   sysu   stdinu   stdoutu   uuu   assertEqualu   getvalueu	   plaintext(   u   selfu   stdout(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   test_decodeo   s    !	N(   u   __name__u
   __module__u   setUpu   tearDownu   test_encodeu   test_decode(   u
   __locals__(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   UUStdIOTest^   s   
			u   UUStdIOTestc             B   sD   |  Ee  Z d    Z d   Z d   Z d   Z d   Z d   Z d S(   c             C   s   | d  k o d  Sy | j   Wn$ t t f k
 o   Yn	 Yn Xy t j | j  Wn$ t t f k
 o   Yn	 Yn Xd  S(   N(   u   Noneu   closeu
   SystemExitu   KeyboardInterruptu   osu   unlinku   name(   u   selfu   f(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   _killz   s    c             C   s$   t  j d |  _ t  j d |  _ d  S(   Nu   iu   o(   u   supportu   TESTFNu   tmpinu   tmpout(   u   self(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   setUp   s    c             C   s   |  `  |  ` d  S(   N(   u   tmpinu   tmpout(   u   self(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   tearDown   s    c             C   sg  d  } } z;t j |  j  t |  j d  } | j t  | j   t |  j d  } t |  j d  } t	 j
 | | |  j d d | j   | j   t |  j d  } | j   } | j   |  j | t d |  j   t	 j
 |  j |  j |  j d d t |  j d  } | j   } | j   |  j | t d |  j   Wd  |  j |  |  j |  Xd  S(   Nu   wbu   rbu   modei€  (   u   Noneu   supportu   unlinku   tmpinu   openu   writeu	   plaintextu   closeu   tmpoutu   uuu   encodeu   readu   assertEqualu   encodedtextwrappedu   _kill(   u   selfu   finu   foutu   s(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   test_encode   s,    




"
 c          
   C   sΕ   d  } zͺ t j |  j  t |  j d  } | j t d |  j   | j   t |  j d  } t	 j
 |  | j   t |  j d  } | j   } | j   |  j | t  Wd  |  j |  Xd  S(   Nu   wbi€  u   rb(   u   Noneu   supportu   unlinku   tmpinu   openu   writeu   encodedtextwrappedu   tmpoutu   closeu   uuu   decodeu   readu   assertEqualu	   plaintextu   _kill(   u   selfu   fu   s(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   test_decode±   s    


c          
   C   s   d  } z} t j t d |  j   } t |  j d  } t j |  | j	   t |  j d  } |  j
 t j t j |  | j	   Wd  |  j |  Xd  S(   Ni€  u   rb(   u   Noneu   iou   BytesIOu   encodedtextwrappedu   tmpoutu   openu   tmpinu   uuu   decodeu   closeu   assertRaisesu   Erroru   _kill(   u   selfu   f(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   test_decodetwiceΕ   s    
N(   u   __name__u
   __module__u   _killu   setUpu   tearDownu   test_encodeu   test_decodeu   test_decodetwice(   u
   __locals__(    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu
   UUFileTestx   s   
					u
   UUFileTestc               C   s   t  j t t t  d  S(   N(   u   supportu   run_unittestu   UUTestu   UUStdIOTestu
   UUFileTest(    (    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu	   test_mainΥ   s    	u   __main__(   u   __doc__u   unittestu   testu   supportu   sysu   osu   uuu   iou   BytesIOu	   plaintextu   encodedtextu   TextIOWrapperu   FakeIOu   encodedtextwrappedu   TestCaseu   UUTestu   UUStdIOTestu
   UUFileTestu	   test_mainu   __name__(    (    (    u)   /mit/python/lib/python3.0/test/test_uu.pyu   <module>   s    	,]	