B
    18\                 @   sJ   d Z ddlZddlZddlZddlZG dd dejZedkrFe	  dS )z'Unit tests for code in urllib.response.    Nc               @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )TestResponsec             C   s0   t  t jt j| _| jd| _ddd| _d S )Nrbzwww.python.orgclose)ZHost
Connection)socketAF_INETSOCK_STREAMsockmakefilefptest_headers)self r   ]/oak/stanford/groups/akundaje/marinovg/programs/Python-3.7.3/Lib/test/test_urllib_response.pysetUp
   s    zTestResponse.setUpc                sZ   t j| j |  tj  fdd}| | jj |  | 	| jj | 
t| d S )Nc           	      s    } W d Q R X d S )Nr   )Zspam)addbaser   r   f   s    z!TestResponse.test_with.<locals>.f)urllibresponser   r   assertIsInstancetempfile_TemporaryFileWrapperassertFalseclosed
assertTrueassertRaises
ValueError)r   r   r   )r   r   	test_with   s    zTestResponse.test_withc                sD   d  fdd}t j| j|}|  | | jj |   d S )NFc                  s   d d S )NTr   r   )closehook_calledr   r   	closehook    s    z1TestResponse.test_addclosehook.<locals>.closehook)r   r   addclosehookr   r   r   r   )r   r   r   )r   r   test_addclosehook   s    zTestResponse.test_addclosehookc             C   s(   t j| j| j}| | | j d S )N)r   r   addinfor   r   assertEqualinfo)r   r$   r   r   r   test_addinfo*   s    zTestResponse.test_addinfoc             C   sT   d}d}t j| j| j||}| | | j | | | | | | d S )Nzhttp://www.python.org   )	r   r   
addinfourlr   r   r#   r$   geturlgetcode)r   urlcodeZinfourlr   r   r   test_addinfourl.   s    zTestResponse.test_addinfourlc             C   s   | j   d S )N)r	   r   )r   r   r   r   tearDown7   s    zTestResponse.tearDownN)	__name__
__module____qualname__r   r   r!   r%   r,   r-   r   r   r   r   r      s   	r   __main__)
__doc__r   r   urllib.responser   unittestTestCaser   r.   mainr   r   r   r   <module>   s   2