ó
¨-¬[c           @   s³  d  Z  d d l Z d d l Z d d l m Z y d d l m Z Wn! e k
 re d d l	 m Z n Xd d l
 j Z d d l m Z d d l m Z m Z m Z m Z m Z m Z m Z m Z d d l m Z m Z d d	 l m Z m Z m Z m Z d a! d
 „  Z" d e f d „  ƒ  YZ# d e f d „  ƒ  YZ$ d e# f d „  ƒ  YZ% d e# f d „  ƒ  YZ& e j' d ƒ Z( d e# f d „  ƒ  YZ) d e# f d „  ƒ  YZ* d e* f d „  ƒ  YZ+ d e* f d „  ƒ  YZ, d e* f d „  ƒ  YZ- d e* e) f d „  ƒ  YZ. d  e# f d! „  ƒ  YZ/ d" e# f d# „  ƒ  YZ0 d$ e* f d% „  ƒ  YZ1 d& e# f d' „  ƒ  YZ2 d( e* f d) „  ƒ  YZ3 d* e# f d+ „  ƒ  YZ4 d, e* f d- „  ƒ  YZ5 d. e# f d/ „  ƒ  YZ6 d0 e# f d1 „  ƒ  YZ7 d2 e# f d3 „  ƒ  YZ8 d4 e- f d5 „  ƒ  YZ9 d6 e# f d7 „  ƒ  YZ: d8 e) f d9 „  ƒ  YZ; d: e) f d; „  ƒ  YZ< d< e* f d= „  ƒ  YZ= i e+ ƒ  d> 6e. ƒ  d? 6e0 ƒ  d@ 6e1 ƒ  dA 6e3 ƒ  dB 6e4 ƒ  dC 6e5 ƒ  dD 6e6 ƒ  dE 6e8 ƒ  dF 6e< ƒ  dG 6e= ƒ  dH 6e9 ƒ  dI 6e: ƒ  dJ 6e; ƒ  dK 6e& ƒ  dL 6Z> d d dM „ Z? dN „  Z@ dO „  ZA dP „  ZB dQ „  ZC dR „  ZD dS „  ZE dT „  ZF dU „  ZG dV „  ZH dW „  ZI dX „  ZJ dY „  ZK dZ „  ZL d[ „  ZM d\ „  ZN d] „  ZO d^ „  ZP d_ „  ZQ d` „  ZR da „  ZS db „  ZT dc „  ZU d S(d   s6   Test suite for our zeromq-based message specification.iÿÿÿÿN(   t   LooseVersion(   t   Empty(   t   SkipTest(   t	   HasTraitst
   TraitErrort   Boolt   Unicodet   Dictt   Integert   Listt   Enum(   t   string_typest	   iteritemsi   (   t   TIMEOUTt   start_global_kernelt   flush_channelst   executec           C   s   t  ƒ  a d  S(   N(   R   t   KC(    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   setup   s    t	   Referencec           B   s   e  Z d  Z d „  Z RS(   s.  
    Base class for message spec specification testing.

    This class is the core of the message specification test.  The
    idea is that child classes implement trait attributes for each
    message keys, so that message keys can be tested against these
    traits using :meth:`check` method.

    c         C   s‰   x‚ |  j  ƒ  D]t } | | k s% t ‚ | | d k r; q n  y t |  | | | ƒ Wq t k
 r€ } t s t t | ƒ ƒ ‚ q Xq Wd S(   s"   validate a dict against our traitsN(   t   trait_namest   AssertionErrort   Nonet   setattrR   t   Falset   str(   t   selft   dt   keyt   e(    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   check1   s    (   t   __name__t
   __module__t   __doc__R   (    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyR   %   s   
t   Versionc           B   s   e  Z d  „  Z d „  Z RS(   c         O   sT   | j  d d  ƒ |  _ | j  d d  ƒ |  _ |  j | d <t t |  ƒ j | | Ž  d  S(   Nt   mint   maxt   default_value(   t   popR   R#   R$   t   superR"   t   __init__(   R   t   argst   kwargs(    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyR(   ?   s    c         C   s„   |  j  r@ t | ƒ t |  j  ƒ k  r@ t d | |  j  f ƒ ‚ n  |  j r€ t | ƒ t |  j ƒ k r€ t d | |  j f ƒ ‚ n  d  S(   Ns   bad version: %s < %ss   bad version: %s > %s(   R#   t   VR   R$   (   R   t   objt   value(    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   validateE   s    $$(   R   R    R(   R.   (    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyR"   >   s   	t   RMessagec           B   s>   e  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z d  „  Z	 RS(   c         C   sL   t  t |  ƒ j | ƒ t ƒ  j |  j ƒ |  j rH t ƒ  j |  j ƒ n  d  S(   N(   R'   R/   R   t   RHeadert   headert   parent_header(   R   R   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyR   S   s    	(
   R   R    R   t   msg_idt   msg_typeR   R1   R2   t   contentR   (    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyR/   L   s   					R0   c           B   s;   e  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e d  d ƒ Z RS(   R#   s   5.0(	   R   R    R   R3   R4   t   sessiont   usernameR"   t   version(    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyR0   Y   s
   				s   ^[\w\-\+\.]+/[\w\-\+\.]+$t
   MimeBundlec           B   s#   e  Z e ƒ  Z e ƒ  Z d  „  Z RS(   c         C   sK   xD t  | ƒ D]6 \ } } t j | ƒ s. t ‚ t | t ƒ s t ‚ q Wd  S(   N(   R   t   mime_patt   matchR   t
   isinstanceR   (   R   t   namet   oldt   newt   kt   v(    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   _data_changede   s    (   R   R    R   t   metadatat   dataRB   (    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyR9   b   s   		t   Replyc           B   s   e  Z e d d d  ƒZ RS(   u   oku   errorR%   (   u   oku   error(   R   R    R
   t   status(    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRE   l   s   t   ExecuteReplyc           B   s   e  Z e ƒ  Z d  „  Z RS(   c         C   sZ   t  j |  | ƒ | d d k r3 t ƒ  j | ƒ n# | d d k rV t ƒ  j | ƒ n  d  S(   NRF   t   okt   error(   R   R   t   ExecuteReplyOkayt   ExecuteReplyError(   R   R   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyR   s   s
    (   R   R    R   t   execution_countR   (    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRG   p   s   	RJ   c           B   s   e  Z e d ƒ Z e ƒ  Z RS(   RH   (   RH   (   R   R    R
   RF   R   t   user_expressions(    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRJ   {   s   RK   c           B   s)   e  Z e ƒ  Z e ƒ  Z e e ƒ  ƒ Z RS(    (   R   R    R   t   enamet   evalueR	   t	   traceback(    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRK   €   s   		t   InspectReplyc           B   s   e  Z e ƒ  Z RS(    (   R   R    R   t   found(    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRQ   †   s   t   ArgSpecc           B   s2   e  Z e e ƒ  ƒ Z e ƒ  Z e ƒ  Z e ƒ  Z RS(    (   R   R    R	   R   R)   t   varargst   varkwt   defaults(    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRS   Š   s   		t   Statusc           B   s   e  Z e d d d  ƒZ RS(   u   busyu   idleu   startingR%   (   u   busyu   idleu   starting(   R   R    R
   t   execution_state(    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRW   ‘   s   t   CompleteReplyc           B   s2   e  Z e e ƒ  ƒ Z e ƒ  Z e ƒ  Z e ƒ  Z RS(    (	   R   R    R	   R   t   matchesR   t   cursor_startt
   cursor_endRF   (    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRY   •   s   		t   LanguageInfoc           B   s-   e  Z e d  ƒ Z e e j j ƒ  d ƒ Z RS(   t   pythoni    (   R   R    R   R=   t   sysR8   t   split(    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyR]   œ   s   t   KernelInfoReplyc           B   sM   e  Z e d  d ƒ Z e d ƒ Z e d  d ƒ Z e ƒ  Z e ƒ  Z	 d „  Z
 RS(   R#   s   5.0t   ipythons   2.1c         C   s(   t  j |  | ƒ t ƒ  j | d ƒ d  S(   Nt   language_info(   R   R   R]   (   R   R   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyR   ¨   s    (   R   R    R"   t   protocol_versionR   t   implementationt   implementation_versionR   Rc   t   bannerR   (    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRa   ¡   s   		t   ConnectReplyc           B   s5   e  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z RS(    (   R   R    R   t
   shell_portt   control_portt
   stdin_portt
   iopub_portt   hb_port(    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRh   ­   s
   				t   CommInfoReplyc           B   s   e  Z e ƒ  Z RS(    (   R   R    R   t   comms(    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRn   µ   s   t   IsCompleteReplyc           B   s#   e  Z e d d d  ƒZ d „  Z RS(   u   completeu
   incompleteu   invalidu   unknownR%   c         C   s7   t  j |  | ƒ | d d k r3 t ƒ  j | ƒ n  d  S(   NRF   t
   incomplete(   R   R   t   IsCompleteReplyIncomplete(   R   R   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyR   ¼   s    (   u   completeu
   incompleteu   invalidu   unknown(   R   R    R
   RF   R   (    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRp   ¹   s   Rr   c           B   s   e  Z e ƒ  Z RS(    (   R   R    R   t   indent(    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRr   Â   s   t   ExecuteInputc           B   s   e  Z e ƒ  Z e ƒ  Z RS(    (   R   R    R   t   codeR   RL   (    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRt   È   s   	t   Errorc           B   s   e  Z d  Z d Z RS(   s7   Errors are the same as ExecuteReply, but without statusN(   R   R    R!   R   RF   (    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRv   Í   s   t   Streamc           B   s#   e  Z e d d d  ƒZ e ƒ  Z RS(   u   stdoutu   stderrR%   (   u   stdoutu   stderr(   R   R    R
   R=   R   t   text(    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRw   Ò   s   t   DisplayDatac           B   s   e  Z RS(    (   R   R    (    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRy   ×   s   t   ExecuteResultc           B   s   e  Z e ƒ  Z RS(    (   R   R    R   RL   (    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyRz   Û   s   t   HistoryReplyc           B   s   e  Z e e ƒ  ƒ Z RS(    (   R   R    R	   t   history(    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyR{   ß   s   t   execute_replyt   inspect_replyRF   t   complete_replyt   kernel_info_replyt   connect_replyt   comm_info_replyt   is_complete_replyt   execute_inputt   execute_resultt   history_replyRI   t   streamt   display_dataR1   c         C   s{   t  ƒ  j |  ƒ | r/ |  d | k s/ t ‚ n  | rR |  d d | k sR t ‚ n  |  d } t |  d } | j | ƒ d S(   så   validate a message

    This is a generator, and must be iterated through to actually
    trigger each test.

    If msg_type and/or parent are given, the msg_type and/or parent msg_id
    are compared with the given values.
    R4   R2   R3   R5   N(   R/   R   R   t
   references(   t   msgR4   t   parentR5   t   ref(    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   validate_messageù   s    	
c          C   s?   t  ƒ  t j d d ƒ }  t j d t ƒ } t | d |  ƒ d  S(   NRu   s   x=1t   timeoutR}   (   R   R   R   t   get_shell_msgR   R   (   R3   t   reply(    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_execute  s    c          C   s  t  ƒ  t d d d t ƒ \ }  } t j j d t ƒ } t | d |  ƒ | d d d k sa t ‚ t	 j
 t t j j d d	 ƒ| d
 } t d d d t ƒ \ }  } t j j d t ƒ } t | d |  ƒ | d d d k sá t ‚ t	 j
 t t j j d d	 ƒ| d
 } | | k st ‚ d  S(   NRu   s   x=1t   silentRŽ   RF   R5   RX   t   idlegš™™™™™¹?RL   s   x=2(   R   R   t   TrueR   t   iopub_channelt   get_msgR   R   R   t   ntt   assert_raisesR   (   R3   R   RF   t   countt   count_2(    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_execute_silent  s    

c          C   sq   t  ƒ  t d d ƒ \ }  } | d d k s2 t ‚ | d d k sH t ‚ t j j d t ƒ } t | d |  ƒ d  S(   NRu   s   1/0RF   RI   RN   t   ZeroDivisionErrorRŽ   (   R   R   R   R   R•   R–   R   R   (   R3   R   RI   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_execute_error2  s    c          C   sf   t  ƒ  t d d ƒ \ }  } | d } t  ƒ  t d d ƒ \ }  } | d } | | d k sb t ‚ d S(   s0   execute request should increment execution_countRu   s   x=1RL   s   x=2i   N(   R   R   R   (   R3   R   R™   Rš   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_execute_inc=  s    

c          C   sì   t  ƒ  d j d d d g ƒ }  t j d |  ƒ t j d d ƒ } t j d t ƒ t j d t ƒ } | d d	 d
 k s} t ‚ t  ƒ  t j d |  d t ƒ t j d d ƒ } t j d t ƒ t j d t ƒ } | d d	 d k sè t ‚ d S(   sI   execute request should not abort execution queue with stop_on_error Falses   
s   import times   time.sleep(0.5)s   raise ValueErrorRu   s   print("Hello")RŽ   R5   RF   t   abortedt   stop_on_errorRH   N(   R   t   joinR   R   R   R   R   R   (   t   failR3   R   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_execute_stop_on_errorJ  s     c          C   sl   t  ƒ  t d d d t d d ƒ ƒ \ }  } | d } t j | i i d d 6i d d	 6d
 6i  d 6d 6ƒ d  S(   NRu   s   x=1RM   t   foos   x+1u   oku   statusu   2u
   text/plainu   datau   metadatau   foo(   R   R   t   dictR—   t   assert_equal(   R3   R   RM   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_user_expressionsc  s    $
c          C   so   t  ƒ  t d d d t d d ƒ ƒ \ }  } | d } | d } | d d k sU t ‚ | d d	 k sk t ‚ d  S(
   NRu   s   x=0RM   R¤   t
   nosuchnameRF   RI   RN   t	   NameError(   R   R   R¥   R   (   R3   R   RM   R¤   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_user_expressions_failo  s    $

c          C   s<   t  ƒ  t j d ƒ }  t j d t ƒ } t | d |  ƒ d  S(   Nt   aRŽ   R~   (   R   R   t   inspectR   R   R   (   R3   R   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt
   test_oinfoy  s    c          C   s   t  ƒ  t d d ƒ \ }  } t j d ƒ }  t j d t ƒ } t | d |  ƒ | d } | d sg t ‚ | d d	 } d
 | k s‡ t ‚ d | k s™ t ‚ d  S(   NRu   s   a=5R«   RŽ   R~   R5   RR   RD   s
   text/plains   Type:s
   Docstring:(   R   R   R   R¬   R   R   R   R   (   R3   R   R5   Rx   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_oinfo_found  s    
c          C   s©   t  ƒ  t d d ƒ \ }  } t j d d d d d ƒ}  t j d t ƒ } t | d	 |  ƒ | d
 } | d ss t ‚ | d d } d | k s“ t ‚ d | k s¥ t ‚ d  S(   NRu   s   ip=get_ipython()s   ip.object_inspectt
   cursor_posi
   t   detail_leveli   RŽ   R~   R5   RR   RD   s
   text/plains
   Signature:s   Source:(   R   R   R   R¬   R   R   R   R   (   R3   R   R5   Rx   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_oinfo_detail  s    
c          C   sW   t  ƒ  t j d ƒ }  t j d t ƒ } t | d |  ƒ | d } | d sS t ‚ d  S(   Nt   dneRŽ   R~   R5   RR   (   R   R   R¬   R   R   R   R   (   R3   R   R5   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_oinfo_not_foundŸ  s    
c          C   s…   t  ƒ  t d d ƒ \ }  } t j d d ƒ }  t j d t ƒ } t | d |  ƒ | d d } x  d D] } | | k se t ‚ qe Wd  S(   NRu   s   alpha = albert = 5t   ali   RŽ   R   R5   RZ   t   alphat   albert(   Rµ   R¶   (   R   R   R   t   completeR   R   R   R   (   R3   R   RZ   R=   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_complete©  s    c          C   s9   t  ƒ  t j ƒ  }  t j d t ƒ } t | d |  ƒ d  S(   NRŽ   R€   (   R   R   t   kernel_infoR   R   R   (   R3   R   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_kernel_info_request¶  s    c          C   sc   t  ƒ  t j j d ƒ }  t j j |  ƒ |  d d St j ƒ  } t j d t ƒ } t	 | d | ƒ (   Nt   connect_requestR1   R3   RŽ   R   (
   R   R   R6   RŠ   t   shell_channelt   sendR¹   R   R   R   (   RŠ   R3   R   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_connect_request¾  s    c          C   sT   t  ƒ  t t d ƒ s" t ƒ  ‚ n  t j ƒ  }  t j d t ƒ } t | d |  ƒ d  S(   Nt	   comm_infoRŽ   R‚   (   R   t   hasattrR   R   R¿   R   R   R   (   R3   R   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_comm_info_requestÉ  s    c          C   sk   t  ƒ  t d d ƒ \ }  } | d } g  | D] } | d d k r- | ^ q- } t | ƒ d k sg t ‚ d  S(   NRu   sJ   ip = get_ipython()
for i in range(3):
   ip.set_next_input('Hello There')
t   payloadt   sourcet   set_next_inputi   (   R   R   t   lenR   (   R3   R   RÂ   t   plt   next_input_pls(    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_single_payloadÒ  s
    
)c          C   s<   t  ƒ  t j d ƒ }  t j d t ƒ } t | d |  ƒ d  S(   Ns   a = 1RŽ   Rƒ   (   R   R   t   is_completeR   R   R   (   R3   R   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_is_completeÛ  s    c          C   s­   t  ƒ  t j d d d t ƒ }  t j d t ƒ } t j d d d t d t d	 d
 d d d d ƒ } t j d t ƒ } t | d | ƒ | d } t | d ƒ d
 k s© t	 ‚ d  S(   NRu   s   x=1t   store_historyRŽ   t   hist_access_typet   ranget   rawt   outputt   starti   t   stopi   R6   i    R†   R5   R|   (
   R   R   R   R”   R   R   R|   R   RÅ   R   (   t   msg_id_exect
   reply_execR3   R   R5   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_history_rangeâ  s    0
c          C   s§   t  ƒ  t j d d d t ƒ }  t j d t ƒ } t j d d d t d t d	 d
 d d ƒ } t j d t ƒ } t | d | ƒ | d } t | d ƒ d
 k s£ t	 ‚ d  S(   NRu   s   x=1RË   RŽ   RÌ   t   tailRÎ   RÏ   t   ni   R6   i    R†   R5   R|   (
   R   R   R   R”   R   R   R|   R   RÅ   R   (   RÒ   RÓ   R3   R   R5   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_history_tailî  s    *
c          C   s­   t  ƒ  t j d d d t ƒ }  t j d t ƒ } t j d d d t d t d	 d
 d d d d ƒ } t j d t ƒ } t | d | ƒ | d } t | d ƒ d
 k s© t	 ‚ d  S(   NRu   s   x=1RË   RŽ   RÌ   t   searchRÎ   RÏ   RÖ   i   t   patternt   *R6   i    R†   R5   R|   (
   R   R   R   R”   R   R   R|   R   RÅ   R   (   RÒ   RÓ   R3   R   R5   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_history_searchú  s    0
c          C   sb   t  ƒ  t d ƒ \ }  } t j j d t ƒ } t | d |  ƒ | d } | d d k s^ t ‚ d  S(   Ns   print('hi')RŽ   R‡   R5   Rx   u   hi
(   R   R   R   R•   R–   R   R   R   (   R3   R   t   stdoutR5   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_stream	  s    
c          C   si   t  ƒ  t d ƒ \ }  } t j j d t ƒ } t | d d |  ƒ| d d } | d d k se t ‚ d  S(	   Ns4   from IPython.core.display import display; display(1)RŽ   Rˆ   R‹   R5   RD   s
   text/plainu   1(   R   R   R   R•   R–   R   R   R   (   R3   R   t   displayRD   (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   test_display_data  s    (V   R!   t   reR_   t   distutils.versionR    R+   t   queueR   t   ImportErrort   Queuet
   nose.toolst   toolsR—   t   nose.plugins.skipR   t	   traitletsR   R   R   R   R   R   R	   R
   t   ipython_genutils.py3compatR   R   t   utilsR   R   R   R   R   R   R   R   R"   R/   R0   t   compileR:   R9   RE   RG   RJ   RK   RQ   RS   RW   RY   R]   Ra   Rh   Rn   Rp   Rr   Rt   Rv   Rw   Ry   Rz   R{   R‰   R   R‘   R›   R   Rž   R£   R§   Rª   R­   R®   R±   R³   R¸   Rº   R¾   RÁ   RÈ   RÊ   RÔ   R×   RÛ   RÝ   Rß   (    (    (    s@   lib/python2.7/site-packages/ipykernel/tests/test_message_spec.pyt   <module>   sž   :"	
	













							
				
												