B
    @\"                 @   s   d dl mZmZmZmZ d dlZe d dlmZmZm	Z	 d dl
mZ d dlmZ G dd deZdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zd dlT d dlT dd ZdS )    )absolute_importdivisionprint_functionunicode_literalsN)IntStringList)CustomJS)Modelc               @   s,   e Zd ZedZedZeedddgZdS )	SomeModel   Zhello         N)	__name__
__module____qualname__r   ar   br   c r   r   5lib/python3.7/site-packages/bokeh/tests/test_model.pyr   &   s   r   c           	   C   s*   t  } tt | d W d Q R X d S )Nfoo)r   pytestraises
ValueErrorjs_on_change)mr   r   r   2test_model_js_on_change_exception_for_no_callbacks+   s    r   c           
   C   sH   t  } x<ddd dgi dgD ]&}tt | d| W d Q R X qW d S )N
   Zbarr   gffffff$@r   )r   r   r   r   r   )r   valr   r   r   3test_model_js_on_change_exception_for_bad_callbacks0   s    r!   c              C   sP   t dd} t }x:| D ].}t }|||  |jd| | gikstqW d S )N )codez	change:%s)r	   r   Z
propertiesr   js_property_callbacksAssertionError)cbZm0namer   r   r   r   %test_model_js_on_change_with_propname6   s    
r(   c              C   sZ   t dd} t }|d|  |jd| giks0tt }|d|  |jd| giksVtd S )Nr"   )r#   r   zchange:b)r	   r   r   r$   r%   )r&   Zm1Zm2r   r   r   )test_model_js_on_change_with_non_propname>   s    
r)   c              C   sB   t dd} t dd}t }|d| | |jd| |giks>td S )Nr"   )r#   r   )r	   r   r   r$   r%   )cb1cb2r   r   r   r   .test_model_js_on_change_with_multple_callbacksH   s
    

r,   c              C   s`   t dd} t dd}t }|d|  |jd| giks:t|d| |jd| |giks\td S )Nr"   )r#   r   )r	   r   r   r$   r%   )r*   r+   r   r   r   r   9test_model_js_on_change_with_multple_callbacks_separatelyO   s    

r-   c              C   s6   t dd} t }|d| |  |jd| giks2td S )Nr"   )r#   r   )r	   r   r   r$   r%   )r&   r   r   r   r   .test_model_js_on_change_ignores_dupe_callbacksX   s    
r.   )*c              C   sP   g } xFt jj D ]6\}}y
|  W n   | | Y nX | g kstqW d S )N)r
   	__class__Zmodel_class_reverse_mapitemsappendr%   )Zbadr'   clsr   r   r   -test_all_builtin_models_default_constructible`   s    
r4   )Z
__future__r   r   r   r   r   Zbokeh.core.propertiesr   r   r   Zbokeh.models.callbacksr	   Zbokeh.modelr
   r   r   r!   r(   r)   r,   r-   r.   Zbokeh.modelsZbokeh.plottingr4   r   r   r   r   <module>   s     

	