ó
`¾Tc           @   s   d  Z  d d l Z d d l m Z d d l m Z d d l m Z m Z d e f d „  ƒ  YZ	 d e f d	 „  ƒ  YZ
 d
 „  Z d S(   s¹   
    werkzeug.testsuite.iterio
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    Tests the iterio object.

    :copyright: (c) 2014 by Armin Ronacher.
    :license: BSD, see LICENSE for more details.
iÿÿÿÿN(   t   partial(   t   WerkzeugTestCase(   t   IterIOt   greenlett   IterOTestSuitec           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s;  t  d d d d d g ƒ } |  j | j ƒ  d ƒ |  j | j d ƒ d ƒ |  j | j ƒ  d ƒ |  j | j d	 ƒ d
 ƒ |  j | j ƒ  d ƒ | j d ƒ |  j | j d ƒ d ƒ |  j | j ƒ  d ƒ |  j | j d ƒ |  j | j ƒ  d ƒ |  j | j ƒ  d ƒ | j ƒ  | j s#t ‚ t  d d g ƒ } |  j | j	 ƒ  d ƒ |  j | j d ƒ |  j | j ƒ  d ƒ |  j | j d ƒ |  j | j ƒ  d ƒ | j d ƒ |  j | j
 ƒ  d d g ƒ t  d d g ƒ } | j d d ƒ |  j | j d ƒ d ƒ |  j t | j d d ƒ | j ƒ  |  j t | j ƒ d  S(   Nt   Hellot   Worldt   1t   2t   3i    i   t   Hei   t   lloi   t   World123i   s   Hello
s   World!s   Hello
World!i   s   foo
t   bariüÿÿÿi   s   
barid   (   R   t   assert_equalt   tellt   readt   seekt   _buft   closet   closedt   AssertionErrort   readlinet	   readlinest   assert_raisest   IOErrort
   ValueError(   t   selft   io(    (    sg   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/iterio.pyt   test_basic_native   s8    

c         C   s;  t  d d d d d g ƒ } |  j | j ƒ  d ƒ |  j | j d ƒ d ƒ |  j | j ƒ  d ƒ |  j | j d	 ƒ d
 ƒ |  j | j ƒ  d ƒ | j d ƒ |  j | j d ƒ d ƒ |  j | j ƒ  d ƒ |  j | j d ƒ |  j | j ƒ  d ƒ |  j | j ƒ  d ƒ | j ƒ  | j s#t ‚ t  d d g ƒ } |  j | j	 ƒ  d ƒ |  j | j d ƒ |  j | j ƒ  d ƒ |  j | j d ƒ |  j | j ƒ  d ƒ | j d ƒ |  j | j
 ƒ  d d g ƒ t  d d g ƒ } | j d d ƒ |  j | j d ƒ d ƒ |  j t | j d d ƒ | j ƒ  |  j t | j ƒ d  S(   NR   R   R   R   R	   i    i   R
   i   R   i   R   i   s   Hello
s   World!s   Hello
World!i   s   foo
R   iüÿÿÿi   s   
barid   (   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (   R   R   (    (    sg   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/iterio.pyt   test_basic_bytes5   s8    

c         C   s;  t  d d d d d g ƒ } |  j | j ƒ  d ƒ |  j | j d ƒ d ƒ |  j | j ƒ  d ƒ |  j | j d	 ƒ d
 ƒ |  j | j ƒ  d ƒ | j d ƒ |  j | j d ƒ d ƒ |  j | j ƒ  d ƒ |  j | j d ƒ |  j | j ƒ  d ƒ |  j | j ƒ  d ƒ | j ƒ  | j s#t ‚ t  d d g ƒ } |  j | j	 ƒ  d ƒ |  j | j d ƒ |  j | j ƒ  d ƒ |  j | j d ƒ |  j | j ƒ  d ƒ | j d ƒ |  j | j
 ƒ  d d g ƒ t  d d g ƒ } | j d d ƒ |  j | j d ƒ d ƒ |  j t | j d d ƒ | j ƒ  |  j t | j ƒ d  S(   Nu   Hellou   Worldu   1u   2u   3i    i   u   Hei   u   lloi   u   World123i   u   Hello
u   World!u   Hello
World!i   u   foo
u   bariüÿÿÿi   u   
barid   (   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (   R   R   (    (    sg   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/iterio.pyt   test_basic_unicodeV   s8    

c         C   s´  t  g  ƒ } |  j | j ƒ  d ƒ t  g  d ƒ } |  j | j ƒ  d ƒ t  g  d ƒ } |  j | j ƒ  d ƒ t  g  ƒ } |  j | j ƒ  d ƒ t  d g ƒ } |  j | j ƒ  d ƒ t  d g ƒ } |  j | j ƒ  d ƒ t  g  ƒ } |  j | j ƒ  d ƒ t  g  d ƒ } |  j | j ƒ  d ƒ t  g  d ƒ } |  j | j ƒ  d ƒ t  g  ƒ } |  j | j ƒ  d ƒ t  d g ƒ } |  j | j ƒ  d ƒ t  d g ƒ } |  j | j ƒ  d ƒ d  S(   Nt    u    (   R   t   assert_strict_equalR   R   (   R   R   (    (    sg   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/iterio.pyt   test_sentinel_casesw   s0    (   t   __name__t
   __module__R   R   R   R"   (    (    (    sg   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/iterio.pyR      s   	!	!	!t   IterITestSuitec           B   s   e  Z d  „  Z d „  Z RS(   c         C   sX   d „  } t  | ƒ } |  j t | ƒ d ƒ |  j t | ƒ d ƒ |  j t t | ƒ d  S(   Nc         S   s5   |  j  d ƒ |  j  d ƒ |  j ƒ  |  j  d ƒ d  S(   Ns   1
s   2
s   3
(   t   writet   flush(   t   out(    (    sg   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/iterio.pyt   producer˜   s    
s   1
2
s   3
(   R   R   t   nextR   t   StopIteration(   R   R)   t   iterable(    (    sg   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/iterio.pyt
   test_basic—   s
    	c         C   s¡   d „  } t  | ƒ } |  j t | ƒ d ƒ d „  } t  | ƒ } |  j t t | ƒ t  | d ƒ } |  j t | ƒ d ƒ t  | d ƒ } |  j t | ƒ d ƒ d  S(   Nc         S   s   |  j  ƒ  d  S(   N(   R'   (   R(   (    (    sg   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/iterio.pyt   producer_dummy_flush£   s    R    c         S   s   d  S(   N(    (   R(   (    (    sg   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/iterio.pyt   producer_empty¨   s    u    (   R   R!   R*   R   R+   (   R   R.   R,   R/   (    (    sg   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/iterio.pyR"   ¢   s    		(   R#   R$   R-   R"   (    (    (    sg   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/iterio.pyR%   •   s   	c          C   sK   t  j ƒ  }  |  j t  j t ƒ ƒ t d  k	 rG |  j t  j t ƒ ƒ n  |  S(   N(   t   unittestt	   TestSuitet   addTestt	   makeSuiteR   R   t   NoneR%   (   t   suite(    (    sg   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/iterio.pyR5   ³   s
    (   t   __doc__R0   t	   functoolsR    t   werkzeug.testsuiteR   t   werkzeug.contrib.iterioR   R   R   R%   R5   (    (    (    sg   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/iterio.pyt   <module>
   s   ƒ