
 X%                 @   s   d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z y d  d l m	 Z	 WnS e
 k
 r y d  d l m	 Z	 Wn* e
 k
 r d  d l Z d d   Z	 Yn XYn XGd d   d e j  Z d S)    )with_statementN)strip_python_stderrc             C   s%   t  j d j   d j   |   j   S)Nz\[\d+ refs\]\r?\n?$ )resubencodestrip)stderr r
   W/home/ubuntu/projects/ifolica/lib/python3.4/site-packages/simplejson/tests/test_tool.pyr      s    		r   c               @   s[   e  Z d  Z d Z e j d  Z d d d d  Z d d   Z d d	   Z	 d
 d   Z
 d S)TestToolz

        [["blorpie"],[ "whoops" ] , [
                                 ],	"d-shtaeou","d-nthiouh",
        "i-vhbjkhnth", {"nifty":87}, {"morefield" :	false,"field"
            :"yes"}  ]
           a.      [
        [
            "blorpie"
        ],
        [
            "whoops"
        ],
        [],
        "d-shtaeou",
        "d-nthiouh",
        "i-vhbjkhnth",
        {
            "nifty": 87
        },
        {
            "field": "yes",
            "morefield": false
        }
    ]
    Nc             C   s   t  j d d g } | r( | j |  n  t j | d t j d t j d t j } | j |  \ } } |  j t |  d j	    |  j | j
 d  | S)Nz-mzsimplejson.toolstdinr	   stdoutr   r   )sys
executableextend
subprocessPopenPIPEcommunicateassertEqualr   r   
returncode)selfargsdataargvprocouterrr
   r
   r   runTool7   s    		zTestTool.runToolc             C   s2   |  j  |  j d |  j j    |  j j    d  S)Nr   )r   r   r   r   expect)r   r
   r
   r   test_stdin_stdoutD   s    zTestTool.test_stdin_stdoutc             C   sd   t  j   R } | j |  j j    | j   |  j |  j d | j g  |  j	 j    Wd  QXd  S)Nr   )
tempfileNamedTemporaryFilewriter   r   flushr   r   namer    )r   infiler
   r
   r   test_infile_stdoutI   s    
zTestTool.test_infile_stdoutc             C   s   t  j    } | j |  j j    | j   t  j   } zl |  j |  j d | j | j g  d j    t	 | j d  & } |  j | j
   |  j j    Wd  QXWd  | j   t j j | j  r t j | j  n  XWd  QXd  S)Nr   r   rb)r"   r#   r$   r   r   r%   r   r   r&   openreadr    closeospathexistsunlink)r   r'   outfilefr
   r
   r   test_infile_outfileQ   s    
)
zTestTool.test_infile_outfile)__name__
__module____qualname__r   textwrapdedentr    r   r!   r(   r3   r
   r
   r
   r   r      s   	r   )
__future__r   r-   r   r7   Zunittestr   r"   Ztest.supportr   ImportErrorZtest.test_supportr   ZTestCaser   r
   r
   r
   r   <module>   s   