ó
mÜJ]c           @` sƒ   d  d l  m Z m Z m Z m Z d  d l Z e d  d l m Z d  d l m	 Z	 d  d l
 j j Z d „  Z d „  Z d „  Z d S(   i    (   t   absolute_importt   divisiont   print_functiont   unicode_literalsN(   t   Document(   t   curdocc          ` s¯   t  j t ƒ  ƒ }  t ƒ  |  k	 s' t ‚ g  ‰  ‡  f d †  } |  j | ƒ } | j ƒ  t ˆ  ƒ d k sm t ‚ ˆ  d |  j k s† t ‚ d „  } |  j | ƒ } |  j	 | ƒ d  S(   Nc           ` s   ˆ  j  t ƒ  ƒ d  S(   N(   t   appendR   (    (   t   curdoc_from_cb(    s@   lib/python2.7/site-packages/bokeh/document/tests/test_locking.pyt   cb)   s    i   i    c           S` s   d  S(   N(    (    (    (    s@   lib/python2.7/site-packages/bokeh/document/tests/test_locking.pyt   cb2/   t    (
   t   lockingt   UnlockedDocumentProxyR   R   t   AssertionErrort   add_next_tick_callbackt   callbackt   lent   _doct   remove_next_tick_callback(   t   dR   t   callback_objR	   (    (   R   s@   lib/python2.7/site-packages/bokeh/document/tests/test_locking.pyt   test_next_tick_callback_works%   s    
	c          C` s¦   t  j t ƒ  ƒ }  t ƒ  |  k	 s' t ‚ xx t t |  j ƒ ƒ t t |  ƒ ƒ d h BD]J } t j	 t
 ƒ  } t |  | ƒ Wd  QX| j j d t  j k sT t ‚ qT Wd  S(   Nu   fooi    (   R   R   R   R   R   t   sett   dirR   t   pytestt   raisest   RuntimeErrort   getattrt   valuet   argst   UNSAFE_DOC_ATTR_USAGE_MSG(   R   t   attrt   e(    (    s@   lib/python2.7/site-packages/bokeh/document/tests/test_locking.pyt   test_other_attrs_raise3   s    3c          ` s¾   t  ƒ  }  t ƒ  |  k	 s t ‚ g  ‰  t j ‡  f d †  ƒ } |  j | ƒ } | j ƒ  | j j t k sm t ‚ t	 ˆ  ƒ d k s… t ‚ ˆ  d j
 |  k sž t ‚ t ˆ  d t j ƒ sº t ‚ d  S(   Nc           ` s   ˆ  j  t ƒ  ƒ d  S(   N(   R   R   (    (   R   (    s@   lib/python2.7/site-packages/bokeh/document/tests/test_locking.pyR   ?   s    i   i    (   R   R   R   R   t   without_document_lockR   R   t   nolockt   TrueR   R   t
   isinstanceR   (   R   R   R   (    (   R   s@   lib/python2.7/site-packages/bokeh/document/tests/test_locking.pyt   test_without_document_lock;   s    	
(   t
   __future__R    R   R   R   R   t   bokeh.document.documentR   t   bokeh.ioR   t   bokeh.document.lockingt   documentR   R   R!   R&   (    (    (    s@   lib/python2.7/site-packages/bokeh/document/tests/test_locking.pyt   <module>   s   " 

		