ó
c’?[c           @   s¹   d  Z  d d l Z d d l Z d d l Z d d l Z d d l m Z d d l m Z d d l	 m
 Z
 d d l m Z e j d „  ƒ Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d S(   s'   Tests for two-process terminal frontendiÿÿÿÿN(   t   check_output(   t   SkipTest(   t   check_help_all_output(   t
   decoratorsc          C   so   t  ƒ  \ }  } } |  j d ƒ |  j d | j g d | ƒ} |  j d | j g d | ƒ} t |  | | ƒ d S(   s-   test that `jupyter console` starts a terminalt   5s   Out\[\d+\]: 5t   timeouts
   In \[\d+\]N(   t   start_consolet   sendlinet   expectt   EOFt   stop_console(   t   pt   pexpectt   tt   idx(    (    sA   lib/python2.7/site-packages/jupyter_console/tests/test_console.pyt   test_console_starts   s
    c           C   s   t  d ƒ d S(   s    jupyter console --help-all workst   jupyter_consoleN(   R   (    (    (    sA   lib/python2.7/site-packages/jupyter_console/tests/test_console.pyt   test_help_output   s    c          C   sy   t  ƒ  \ }  } } |  j d ƒ |  j d d | ƒ|  j d ƒ |  j d d | ƒ|  j d d | ƒt |  | | ƒ d S(   s3   Ensure display protocol plain/text key is supporteds   x = %lsmagics
   In \[\d+\]R   s0   from IPython.display import display; display(x);s   Available line magics:N(   R   R   R   R
   (   R   R   R   (    (    sA   lib/python2.7/site-packages/jupyter_console/tests/test_console.pyt   test_display_text   s    c         C   sP   |  j  ƒ  |  j  ƒ  |  j | j | j g d | ƒ|  j ƒ  rL |  j ƒ  n  d S(   s4   Stop a running `jupyter console` running via pexpectR   N(   t   sendeofR   R	   t   TIMEOUTt   isalivet	   terminate(   R   R   R   (    (    sA   lib/python2.7/site-packages/jupyter_console/tests/test_console.pyR
   ,   s
    

c          C   s¨   d d l  }  d d d g } t j } t j j ƒ  } d | d <y |  j | d | d	 | ƒ} Wn! t k
 r t d
 | ƒ ‚ n Xd } | j	 d d | ƒ} | |  | f S(   s%   Start `jupyter console` using pexpectiÿÿÿÿNs   -mR   s   --colors=NoColort   1t   JUPYTER_CONSOLE_TESTt   argst   envs   Couldn't find command %si<   s
   In \[\d+\]R   (
   R   t   syst
   executablet   ost   environt   copyt   spawnt   IOErrorR   R   (   R   R   t   cmdR   R   R   R   (    (    sA   lib/python2.7/site-packages/jupyter_console/tests/test_console.pyR   6   s    	
c          C   sr   t  j ƒ  }  zQ t t j d d d g d i |  d 6ƒt j j t j j |  d ƒ ƒ s\ t	 ‚ Wd t
 j |  ƒ Xd S(   s'   jupyter console --generate-config workss   -mR   s   --generate-configR   t   JUPYTER_CONFIG_DIRs   jupyter_console_config.pyN(   t   tempfilet   mkdtempR    R   R   R   t   patht   isfilet   joint   AssertionErrort   shutilt   rmtree(   t   td(    (    sA   lib/python2.7/site-packages/jupyter_console/tests/test_console.pyt   test_generate_configJ   s    +(   t   __doc__R   R*   R   R$   t
   subprocessR    t   noseR   t   traitlets.tests.utilsR   t   ipython_genutils.testingR   t   dect
   skip_win32R   R   R   R
   R   R-   (    (    (    sA   lib/python2.7/site-packages/jupyter_console/tests/test_console.pyt   <module>   s   				
	