ó
mÜJ]c           @` s_  d  d l  m Z m Z m Z m Z d  d l Z e d  d l Z d  d l m Z d  d l	 m
 Z
 d  d l m Z m Z m Z m Z d  d l m Z d  d l m Z d  d l m Z d  d	 l m Z d  d
 l m Z d  d l m Z d  d l j j Z 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 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# f d# „  ƒ  YZ. d$ e# f d% „  ƒ  YZ/ d& e# f d' „  ƒ  YZ0 d( e# f d) „  ƒ  YZ1 d* e# f d+ „  ƒ  YZ2 e ƒ  d S(,   i    (   t   absolute_importt   divisiont   print_functiont   unicode_literalsN(   t   patch(   t   __version__(   t   Instancet   Intt   Stringt   List(   t   Document(   t   curdoc(   t   Tap(   t   Model(   t   Theme(   t   basicConfigc          C` s9   d d l  m }  |  ƒ  } | j d d g d d g ƒ | S(   Ni    (   t   figurei   i   i   (   t   bokeh.plottingR   t   circle(   R   t	   test_plot(    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR   *   s    	t   SomeModelInTestObjectsc           B` s   e  Z e e ƒ Z RS(    (   t   __name__t
   __module__R   R   t   child(    (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR   1   s   t   _GoodPropertyCallbackc           B` s8   e  Z d  „  Z d „  Z d „  Z d „  Z d d „ Z RS(   c         C` s   d  |  _ d  |  _ d  |  _ d  S(   N(   t   Nonet	   last_namet   last_oldt   last_new(   t   self(    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   __init__7   s    		c         C` s   |  j  | | | ƒ d  S(   N(   t   method(   R   t   namet   oldt   new(    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   __call__<   s    c         C` s   | |  _  | |  _ | |  _ d  S(   N(   R   R   R   (   R   R    R!   R"   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR   ?   s    		c         C` s   d  S(   N(    (   R   R    R!   R"   t   newer(    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   partially_goodD   s    u   defaultc         C` s   d  S(   N(    (   R   R    R!   R"   t   extra(    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt	   just_fineG   s    (   R   R   R   R#   R   R%   R'   (    (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR   5   s
   				t   _GoodEventCallbackc           B` s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C` s   d  |  _ d  |  _ d  |  _ d  S(   N(   R   R   R   R   (   R   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR   L   s    		c         C` s   |  j  | ƒ d  S(   N(   R   (   R   t   event(    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR#   Q   s    c         C` s   | |  _  d  S(   N(   R)   (   R   R)   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR   T   s    c         C` s   d  S(   N(    (   R   t   argR)   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR%   W   s    (   R   R   R   R#   R   R%   (    (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR(   J   s   			t   EmbedTestUtilModelc           B` s8   e  Z e d  ƒ Z e d ƒ Z e e d d d g ƒ Z RS(   i   u   helloi   i   i   (   R   R   R   t   aR   t   bR	   t   c(    (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR+   [   s   t   Test_FromCurdocc           B` s   e  Z d  „  Z RS(   c         C` s   t  t j t ƒ s t ‚ d  S(   N(   t
   isinstancet   beut
   FromCurdoct   typet   AssertionError(   R   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt	   test_typej   s    (   R   R   R5   (    (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR/   h   s   u.   OutputDocumentFor expects a sequence of Modelst   Test_OutputDocumentFor_generalc           B` sz   e  Z d  „  Z d „  Z e j j d d d d d e g ƒ d „  ƒ Z d „  Z	 e
 d	 ƒ d
 „  ƒ Z e
 d	 ƒ d „  ƒ Z RS(   c      	   C` sM   t  j t ƒ  } t j g  ƒ  Wd  QXWd  QXt | ƒ j t ƒ sI t ‚ d  S(   N(	   t   pytestt   raisest
   ValueErrorR1   t   OutputDocumentFort   strt   endswitht   _ODFERRR4   (   R   t   e(    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_error_on_empty_listq   s    c      	   C` sƒ   t  ƒ  } t ƒ  } | j } t j t ƒ # } t j | | g ƒ  Wd  QXWd  QXt | ƒ j	 t
 ƒ sj t ‚ | j | k s t ‚ d  S(   N(   R   R
   t   themeR7   R8   R9   R1   R:   R;   R<   R=   R4   (   R   t   pt   dt
   orig_themeR>   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_error_on_mixed_listw   s    			u   vi
   i    i   u   fooc      	   C` sM   t  j t ƒ  } t j | ƒ  Wd  QXWd  QXt | ƒ j t ƒ sI t ‚ d  S(   N(	   R7   R8   R9   R1   R:   R;   R<   R=   R4   (   R   t   vR>   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_error_on_wrong_types   s    c      	   C` sÆ   t  ƒ  } t ƒ  } t d t ƒ  ƒ } | j | j ƒ | j d  k sI t ‚ | j d  k s^ t ‚ | j j | k sv t ‚ t j	 t
 ƒ ; } t j | | g ƒ  Wd  QXd t | ƒ k s¼ t ‚ Wd  QXd  S(   NR   u   already in a doc(   R
   R   R   t   add_rootR   t   documentR   R4   R7   R8   t   RuntimeErrorR1   R:   R;   (   R   t   doct   p1t   p2R>   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt#   test_with_doc_in_child_raises_errorˆ   s    		u'   bokeh.document.document.check_integrityc         C` s,   t  j | g ƒ  Wd  QX| j s( t ‚ d  S(   N(   R1   R:   t   calledR4   (   R   t   check_integrityR   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt"   test_validates_document_by_default•   s    c         C` s=   | j  d d ƒ t j | g ƒ  Wd  QX| j s9 t ‚ d  S(   Nu   BOKEH_VALIDATE_DOCu   false(   t   setenvR1   R:   RN   R4   (   R   RO   t   monkeypatchR   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt'   test_doesnt_validate_doc_due_to_env_var›   s    (   R   R   R?   RD   R7   t   markt   parametrizet   TrueRF   RM   R   RP   RS   (    (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR6   o   s   		
-	t*   Test_OutputDocumentFor_default_apply_themec           B` sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` s™   t  ƒ  } t ƒ  } | j } | j | ƒ t j | g ƒ / | j | k sP t ‚ | j | k se t ‚ Wd  QX| j | k s€ t ‚ | j | k s• t ‚ d  S(   N(   R   R
   R@   RG   R1   R:   RH   R4   (   R   RA   RB   RC   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_single_model_with_document¤   s    			c         C` se   t  ƒ  } | j d  k s t ‚ t j | g ƒ  | j d  k	 sF t ‚ Wd  QX| j d  k	 sa t ‚ d  S(   N(   R   RH   R   R4   R1   R:   (   R   RA   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt"   test_single_model_with_no_document°   s
    	c         C` sø   t  ƒ  } t  ƒ  } | j d  k s' t ‚ | j d  k s< t ‚ t j | | g ƒ \ | j d  k	 sg t ‚ | j d  k	 s| t ‚ | j | j k s” t ‚ | j } | j j } Wd  QX| j | k sÄ t ‚ | j | j k sÜ t ‚ | j j | k sô t ‚ d  S(   N(   R   RH   R   R4   R1   R:   R@   (   R   RK   RL   t   new_doct	   new_theme(    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt$   test_list_of_model_with_no_documents·   s    			c         C` sÜ   t  ƒ  } t  ƒ  } t ƒ  } | j } | j | ƒ | j | ƒ t j | | g ƒ D | j | k si t ‚ | j | k s~ t ‚ | j | k s“ t ‚ Wd  QX| j | k s® t ‚ | j | k sÃ t ‚ | j | k sØ t ‚ d  S(   N(   R   R
   R@   RG   R1   R:   RH   R4   (   R   RK   RL   RB   RC   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt    test_list_of_model_same_as_rootsÇ   s    				c         C` sý   t  ƒ  } t  ƒ  } t ƒ  } | j } | j | ƒ | j | ƒ t j | | g d t ƒ_ | j | k	 so t ‚ | j | k	 s„ t ‚ | j | j k sœ t ‚ | j j | k s´ t ‚ Wd  QX| j | k sÏ t ‚ | j | k sä t ‚ | j | k sù t ‚ d  S(   Nt
   always_new(	   R   R
   R@   RG   R1   R:   RV   RH   R4   (   R   RK   RL   RB   RC   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt0   test_list_of_model_same_as_roots_with_always_new×   s    				c         C` sô   t  ƒ  } t  ƒ  } t ƒ  } | j } | j | ƒ | j | ƒ t j | g ƒ _ | j | k	 sf t ‚ | j | k s{ t ‚ | j j | k s“ t ‚ | j j | k s« t ‚ Wd  QX| j | k sÆ t ‚ | j | k sÛ t ‚ | j | k sð t ‚ d  S(   N(   R   R
   R@   RG   R1   R:   RH   R4   (   R   RK   RL   RB   RC   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_list_of_model_subset_rootsè   s    				c         C` sA  t  ƒ  } | j } t ƒ  } t ƒ  } | j | ƒ | j d  k sF t ‚ | j d  k	 s[ t ‚ t j | | g ƒ ‰ | j d  k	 s† t ‚ | j d  k	 s› t ‚ | j | k	 s° t ‚ | j | k	 sÅ t ‚ | j | j k sÝ t ‚ | j j | k sõ t ‚ Wd  QX| j d  k st ‚ | j d  k	 s%t ‚ | j j | k s=t ‚ d  S(   N(	   R
   R@   R   RG   RH   R   R4   R1   R:   (   R   RB   RC   RK   RL   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt"   test_list_of_models_different_docsù   s"    				(	   R   R   RX   RY   R\   R]   R_   R`   Ra   (    (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyRW   ¢   s   						t)   Test_OutputDocumentFor_custom_apply_themec           B` sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` s¨   t  ƒ  } t ƒ  } | j } | j | ƒ t j | g d t d i  ƒ ƒ/ | j | k s_ t ‚ | j | k	 st t ‚ Wd  QX| j | k s t ‚ | j | k s¤ t ‚ d  S(   Nt   apply_themet   json(	   R   R
   R@   RG   R1   R:   R   RH   R4   (   R   RA   RB   RC   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyRX     s    			"c         C` s˜   t  ƒ  } | j d  k s t ‚ t j | g d t d i  ƒ ƒ& | j d  k	 sU t ‚ | j j } Wd  QX| j d  k	 s| t ‚ | j j | k	 s” t ‚ d  S(   NRc   Rd   (   R   RH   R   R4   R1   R:   R   R@   (   R   RA   R[   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyRY     s    	"c         C` s  t  ƒ  } t  ƒ  } | j d  k s' t ‚ | j d  k s< t ‚ t j | | g d t d i  ƒ ƒ\ | j d  k	 sv t ‚ | j d  k	 s‹ t ‚ | j | j k s£ t ‚ | j } | j j } Wd  QX| j | k sÓ t ‚ | j | k sè t ‚ | j | j k s t ‚ | j j | k	 st ‚ d  S(   NRc   Rd   (   R   RH   R   R4   R1   R:   R   R@   (   R   RK   RL   RZ   R[   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR\   $  s    		%	c         C` së   t  ƒ  } t  ƒ  } t ƒ  } | j } | j | ƒ | j | ƒ t j | | g d t d i  ƒ ƒD | j | k sx t ‚ | j | k s t ‚ | j | k	 s¢ t ‚ Wd  QX| j | k s½ t ‚ | j | k sÒ t ‚ | j | k sç t ‚ d  S(   NRc   Rd   (	   R   R
   R@   RG   R1   R:   R   RH   R4   (   R   RK   RL   RB   RC   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR]   6  s    				%c         C` s  t  ƒ  } t  ƒ  } t ƒ  } | j } | j | ƒ | j | ƒ t j | | g d t d t d i  ƒ ƒ_ | j | k	 s~ t	 ‚ | j | k	 s“ t	 ‚ | j | j k s« t	 ‚ | j j | k	 sÃ t	 ‚ Wd  QX| j | k sÞ t	 ‚ | j | k só t	 ‚ | j | k st	 ‚ d  S(   NR^   Rc   Rd   (
   R   R
   R@   RG   R1   R:   RV   R   RH   R4   (   R   RK   RL   RB   RC   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR_   F  s    				+c         C` s  t  ƒ  } t  ƒ  } t ƒ  } | j } | j | ƒ | j | ƒ t j | g d t d i  ƒ ƒ_ | j | k	 su t ‚ | j | k sŠ t ‚ | j j | k	 s¢ t ‚ | j j | k sº t ‚ Wd  QX| j | k sÕ t ‚ | j | k sê t ‚ | j | k sÿ t ‚ d  S(   NRc   Rd   (	   R   R
   R@   RG   R1   R:   R   RH   R4   (   R   RK   RL   RB   RC   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR`   W  s    				"c         C` sP  t  ƒ  } | j } t ƒ  } t ƒ  } | j | ƒ | j d  k sF t ‚ | j d  k	 s[ t ‚ t j | | g d t	 d i  ƒ ƒ‰ | j d  k	 s• t ‚ | j d  k	 sª t ‚ | j | k	 s¿ t ‚ | j | k	 sÔ t ‚ | j | j k sì t ‚ | j j | k	 st ‚ Wd  QX| j d  k st ‚ | j d  k	 s4t ‚ | j j | k sLt ‚ d  S(   NRc   Rd   (
   R
   R@   R   RG   RH   R   R4   R1   R:   R   (   R   RB   RC   RK   RL   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyRa   h  s"    				%(	   R   R   RX   RY   R\   R]   R_   R`   Ra   (    (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyRb     s   							t-   Test_OutputDocumentFor_FromCurdoc_apply_themec           B` sY   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   c         C` s(   t  ƒ  j |  _ t d i  ƒ t  ƒ  _ d  S(   NRd   (   R   R@   RC   R   (   R   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   setup_method~  s    c         C` s   |  j  t ƒ  _ d  S(   N(   RC   R   R@   (   R   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   teardown_method‚  s    c         C` s¨   t  ƒ  } t ƒ  } | j } | j | ƒ t j | g d t j ƒ5 | j | k sY t ‚ | j t	 ƒ  j k st t ‚ Wd  QX| j | k s t ‚ | j | k s¤ t ‚ d  S(   NRc   (
   R   R
   R@   RG   R1   R:   R2   RH   R4   R   (   R   RA   RB   RC   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyRX   …  s    			!c         C` s³   t  ƒ  } | j d  k s t ‚ t j | g d t j ƒA | j d  k	 sO t ‚ | j j t ƒ  j k sm t ‚ | j } Wd  QX| j | k s‘ t ‚ | j j t ƒ  j k	 s¯ t ‚ d  S(   NRc   (	   R   RH   R   R4   R1   R:   R2   R@   R   (   R   RA   RZ   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyRY   ‘  s    	c         C` s.  t  ƒ  } t  ƒ  } | j d  k s' t ‚ | j d  k s< t ‚ t j | | g d t j ƒn | j d  k	 sp t ‚ | j d  k	 s… t ‚ | j | j k s t ‚ | j } | j j t ƒ  j k sÄ t ‚ Wd  QX| j | k sß t ‚ | j | k sô t ‚ | j | j k st ‚ | j j t ƒ  j k	 s*t ‚ d  S(   NRc   (	   R   RH   R   R4   R1   R:   R2   R@   R   (   R   RK   RL   RZ   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR\   ›  s    			$c         C` së   t  ƒ  } t  ƒ  } t ƒ  } | j } | j | ƒ | j | ƒ t j | | g d t j ƒJ | j | k sr t ‚ | j | k s‡ t ‚ | j t	 ƒ  j k s¢ t ‚ Wd  QX| j | k s½ t ‚ | j | k sÒ t ‚ | j | k sç t ‚ d  S(   NRc   (
   R   R
   R@   RG   R1   R:   R2   RH   R4   R   (   R   RK   RL   RB   RC   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR]   ­  s    				!c         C` s  t  ƒ  } t  ƒ  } t ƒ  } | j } | j | ƒ | j | ƒ t j | | g d t d t j ƒe | j | k	 sx t	 ‚ | j | k	 s t	 ‚ | j | j k s¥ t	 ‚ | j j t
 ƒ  j k sÃ t	 ‚ Wd  QX| j | k sÞ t	 ‚ | j | k só t	 ‚ | j | k st	 ‚ d  S(   NR^   Rc   (   R   R
   R@   RG   R1   R:   RV   R2   RH   R4   R   (   R   RK   RL   RB   RC   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR_   ½  s    				%$c         C` s  t  ƒ  } t  ƒ  } t ƒ  } | j } | j | ƒ | j | ƒ t j | g d t j ƒe | j | k	 so t ‚ | j | k s„ t ‚ | j j t	 ƒ  j k s¢ t ‚ | j j | k sº t ‚ Wd  QX| j | k sÕ t ‚ | j | k sê t ‚ | j | k sÿ t ‚ d  S(   NRc   (
   R   R
   R@   RG   R1   R:   R2   RH   R4   R   (   R   RK   RL   RB   RC   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR`   Î  s    				c         C` sP  t  ƒ  } | j } t ƒ  } t ƒ  } | j | ƒ | j d  k sF t ‚ | j d  k	 s[ t ‚ t j | | g d t j	 ƒ | j d  k	 s t ‚ | j d  k	 s¤ t ‚ | j | k	 s¹ t ‚ | j | k	 sÎ t ‚ | j | j k sæ t ‚ | j j t
 ƒ  j k st ‚ Wd  QX| j d  k st ‚ | j d  k	 s4t ‚ | j j | k sLt ‚ d  S(   NRc   (   R
   R@   R   RG   RH   R   R4   R1   R:   R2   R   (   R   RB   RC   RK   RL   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyRa   ß  s"    				$(   R   R   Rf   Rg   RX   RY   R\   R]   R_   R`   Ra   (    (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyRe   |  s   				
				t*   Test_standalone_docs_json_and_render_itemsc           B` s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` s  t  ƒ  } t ƒ  } | j | ƒ t j | g ƒ \ } } t | j ƒ  ƒ d } | d d k sc t ‚ | d t k sy t ‚ t	 | d d ƒ d k s™ t ‚ t	 | d d ƒ d k s¹ t ‚ | d d i i  d	 6t
 | j ƒ d
 6d d 6g k sô t ‚ t	 | ƒ d k st ‚ d  S(   Ni    u   titleu   Bokeh Applicationu   versionu   rootsu   root_idsi   u
   referencesu
   attributesu   idu   Modelu   type(   R   R
   RG   R1   t%   standalone_docs_json_and_render_itemst   listt   valuesR4   R   t   lenR;   t   id(   R   RK   RB   t	   docs_jsont   render_itemsRJ   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_passing_modelõ  s    		  ;c         C` s  t  ƒ  } t ƒ  } | j | ƒ t j | g ƒ \ } } t | j ƒ  ƒ d } | d d k sc t ‚ | d t k sy t ‚ t	 | d d ƒ d k s™ t ‚ t	 | d d ƒ d k s¹ t ‚ | d d i i  d	 6t
 | j ƒ d
 6d d 6g k sô t ‚ t	 | ƒ d k st ‚ d  S(   Ni    u   titleu   Bokeh Applicationu   versionu   rootsu   root_idsi   u
   referencesu
   attributesu   idu   Modelu   type(   R   R
   RG   R1   Ri   Rj   Rk   R4   R   Rl   R;   Rm   (   R   RK   RB   Rn   Ro   RJ   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_passing_doc  s    		  ;c         C` sP   t  ƒ  } t j t ƒ  } t j | g ƒ Wd  QXt | j ƒ d k sL t ‚ d  S(   NuH   A Bokeh Model must be part of a Document to render as standalone content(	   R   R7   R8   R9   R1   Ri   R;   t   valueR4   (   R   RK   R>   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_exception_for_missing_doc  s    	c         C` s­   t  ƒ  } t ƒ  } t ƒ  } | j | ƒ | j d | ƒ t | j ƒ d k sS t ‚ | j t	 j
 ƒ B t j | ƒ t | j ƒ d k sŽ t ‚ | j d k s£ t ‚ Wd  QXd  S(   Nu   namei    i   u    (   R
   R+   R   RG   t	   on_changeRl   t
   _callbacksR4   t   at_levelt   loggingt   WARNR1   Ri   t   recordst   text(   R   t   caplogRB   t   m1t   c1(    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt,   test_log_warning_if_python_property_callback  s    			c         C` s­   t  ƒ  } t ƒ  } t ƒ  } | j | ƒ | j t | ƒ t | j ƒ d k sS t ‚ | j	 t
 j ƒ B t j | ƒ t | j ƒ d k sŽ t ‚ | j d k s£ t ‚ Wd  QXd  S(   Ni    i   u    (   R
   R+   R(   RG   t   on_eventR   Rl   t   _event_callbacksR4   Rv   Rw   Rx   R1   Ri   Ry   Rz   (   R   R{   RB   R|   R}   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt)   test_log_warning_if_python_event_callback#  s    			c         C` sç   t  ƒ  } t ƒ  } t ƒ  } t ƒ  } | j | ƒ | j d | ƒ t | j ƒ d k s\ t ‚ | j	 t
 | ƒ t | j ƒ d k s‡ t ‚ | j t j ƒ H t j | d t ƒt | j ƒ d k sÈ t ‚ | j d k sÝ t ‚ Wd  QXd  S(   Nu   namei    t   suppress_callback_warningu    (   R
   R+   R   R(   RG   Rt   Rl   Ru   R4   R   R   R€   Rv   Rw   Rx   R1   Ri   RV   Ry   Rz   (   R   R{   RB   R|   R}   t   c2(    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_suppress_warnings1  s    				(   R   R   Rp   Rq   Rs   R~   R   R„   (    (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyRh   ó  s   					t   Test_standalone_docs_jsonc           B` s&   e  Z e d  ƒ d „  ƒ Z d „  Z RS(   u6   bokeh.embed.util.standalone_docs_json_and_render_itemsc         C` sw   t  ƒ  } t  ƒ  } t ƒ  } | j | ƒ | j | ƒ y t j | | g ƒ Wn t k
 r_ n X| j | | g ƒ d  S(   N(   R   R
   RG   R1   t   standalone_docs_jsonR9   t   assert_called_once_with(   R   t   mock_sdjariRK   RL   RB   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_delgationE  s    			c         C` s‘   t  ƒ  } t  ƒ  } t ƒ  } | j | ƒ | j | ƒ t j | | g ƒ } t j | | g ƒ d } t | j ƒ  ƒ t | j ƒ  ƒ k s t ‚ d  S(   Ni    (	   R   R
   RG   R1   R†   Ri   Rj   Rk   R4   (   R   RK   RL   RB   t   outt   expected(    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_outputT  s    			(   R   R   R   R‰   RŒ   (    (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR…   C  s   t   Test__create_temp_docc           B` s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C` sY   t  ƒ  } t  ƒ  } t j | | g ƒ t | j t ƒ s= t ‚ t | j t ƒ sU t ‚ d  S(   N(   R   R1   t   _create_temp_docR0   RH   R
   R4   (   R   RK   RL   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_no_docsd  s
    		c         C` s¾   t  ƒ  } t ƒ  } t ƒ  } | j | ƒ | j | ƒ t j | | g ƒ t | j t  ƒ s` t ‚ | j | k	 su t ‚ t | j t  ƒ s t ‚ | j | k	 s¢ t ‚ | j | j k sº t ‚ d  S(   N(   R
   R   RG   R1   RŽ   R0   RH   R4   (   R   RB   RK   RL   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_top_level_same_dock  s    			c         C` sÇ   t  ƒ  } t  ƒ  } t ƒ  } t ƒ  } | j | ƒ | j | ƒ t j | | g ƒ t | j t  ƒ si t ‚ | j | k	 s~ t ‚ t | j t  ƒ s– t ‚ | j | k	 s« t ‚ | j | j k sÃ t ‚ d  S(   N(   R
   R   RG   R1   RŽ   R0   RH   R4   (   R   t   d1t   d2RK   RL   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_top_level_different_docy  s    				c         C` s  t  ƒ  } t ƒ  } t d t ƒ  ƒ } | j | j ƒ t j | | g ƒ t | j t  ƒ s_ t	 ‚ | j | k	 st t	 ‚ t | j t  ƒ sŒ t	 ‚ | j | k	 s¡ t	 ‚ t | j j t  ƒ s¼ t	 ‚ | j j | k	 sÔ t	 ‚ | j | j k sì t	 ‚ | j | j j k st	 ‚ d  S(   NR   (
   R
   R   R   RG   R   R1   RŽ   R0   RH   R4   (   R   RB   RK   RL   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_child_docsˆ  s    		(   R   R   R   R   R“   R”   (    (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR   b  s   			t   Test__dispose_temp_docc           B` s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C` sS   t  ƒ  } t  ƒ  } t j | | g ƒ | j d  k s: t ‚ | j d  k sO t ‚ d  S(   N(   R   R1   t   _dispose_temp_docRH   R   R4   (   R   RK   RL   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR   ›  s
    		c         C` s¶   t  ƒ  } t  ƒ  } t ƒ  } | j | ƒ t d t ƒ  ƒ } | j | j ƒ t j | | g ƒ t j | | g ƒ | j | k s… t	 ‚ | j d  k sš t	 ‚ | j j | k s² t	 ‚ d  S(   NR   (   R
   R   RG   R   R   R1   RŽ   R–   RH   R4   R   (   R   R‘   R’   RK   RL   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_with_docs¢  s    			c         C` sf   t  ƒ  } t  ƒ  } t j | | g ƒ t j | | g ƒ | j d  k sM t ‚ | j d  k sb t ‚ d  S(   N(   R   R1   RŽ   R–   RH   R   R4   (   R   RK   RL   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_with_temp_docs¯  s    		(   R   R   R   R—   R˜   (    (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR•   ™  s   		t   Test__set_temp_themec           B` s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C` sP   t  ƒ  } | j } t j | d  ƒ | j | k s7 t ‚ | j | k sL t ‚ d  S(   N(   R
   R@   R1   t   _set_temp_themeR   t
   _old_themeR4   (   R   RB   t   orig(    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_apply_None¸  s
    		c         C` s_   t  d i  ƒ } t ƒ  } | j } t j | | ƒ | j | k sF t ‚ | j | k s[ t ‚ d  S(   NRd   (   R   R
   R@   R1   Rš   R›   R4   (   R   t   tRB   Rœ   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_apply_theme¿  s    		c         C` sn   t  d i  ƒ } | t ƒ  _ t ƒ  } | j } t j | t j ƒ | j | k sU t ‚ | j | k sj t ‚ d  S(   NRd   (	   R   R   R@   R
   R1   Rš   R2   R›   R4   (   R   Rž   RB   Rœ   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_apply_from_curdocÇ  s    		(   R   R   R   RŸ   R    (    (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR™   ·  s   		t   Test__unset_temp_themec           B` s   e  Z d  „  Z d „  Z RS(   c         C` s]   t  d i  ƒ } t ƒ  } | | _ t j | ƒ | j | k sC t ‚ t | d ƒ sY t ‚ d  S(   NRd   u
   _old_theme(   R   R
   R›   R1   t   _unset_temp_themeR@   R4   t   hasattr(   R   Rž   RB   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt
   test_basicÑ  s    		c         C` sN   t  ƒ  } | j } t j | ƒ | j | k s4 t ‚ t | d ƒ sJ t ‚ d  S(   Nu
   _old_theme(   R
   R@   R1   R¢   R4   R£   (   R   RB   Rœ   (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   test_no_old_themeÙ  s
    		(   R   R   R¤   R¥   (    (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyR¡   Ð  s   	(3   t
   __future__R    R   R   R   R7   Rw   t   mockR   t   bokehR   t   bokeh.core.propertiesR   R   R   R	   t   bokeh.document.documentR
   t   bokeh.ioR   t   bokeh.eventsR   t   bokeh.modelR   t   bokeh.themesR   t   bokeh.util.logconfigR   t   bokeh.embed.utilt   embedt   utilR1   t   fixtureR   R   t   objectR   R(   R+   R/   R=   R6   RW   Rb   Re   Rh   R…   R   R•   R™   R¡   (    (    (    s:   lib/python2.7/site-packages/bokeh/embed/tests/test_util.pyt   <module>   s>   " "3kowP7