B
    ]”t\Q  ã               @   st   d dl Z d dlZd dlZd dlmZ d dlmZ dd„ Zdd„ Zejdd	d
d„ ƒZ	ejdd„ ƒZ
ejdd„ ƒZdS )é    N)Úcbook)ÚMatplotlibDeprecationWarningc             C   s    t jddd dt _t  ¡  d S )NZaggT)Zforce)Ú
matplotlibÚuseÚ_called_from_pytestZ_init_tests)Úconfig© r   ú:lib/python3.7/site-packages/matplotlib/testing/conftest.pyÚpytest_configure
   s    r
   c             C   s
   dt _d S )NF)r   r   )r   r   r   r	   Úpytest_unconfigure   s    r   T)Zautousec       	      c   s`  ddl m} |ƒ B d }| j d¡}|d k	rVt|jƒdksDtdƒ‚|jd }t ¡ }d}| j d¡}|d k	rŽt|jƒdks„tdƒ‚|jd }tj	 
¡  |d k	rdd lm} y| |¡ W nF tk
r } z&d	| ¡ krðt d
 ||¡¡ n‚ W d d }~X Y nX t ¡  t dt¡ tj |¡ W d Q R X z
d V  W d |d k	rP| |¡ X W d Q R X d S )Nr   )Ú_cleanup_cmÚbackendé   z(Marker 'backend' must specify 1 backend.Z_classic_testÚstylez$Marker 'style' must specify 1 style.Zcairoz$Failed to switch to backend {} ({}).Úignore)Zmatplotlib.testing.decoratorsr   ÚkeywordsÚgetÚlenÚargsÚAssertionErrorr   Zget_backendZtestingZsetupZmatplotlib.pyplotZpyplotZswitch_backendÚImportErrorÚlowerÚpytestÚskipÚformatÚwarningsÚcatch_warningsÚsimplefilterr   r   r   )	Úrequestr   r   Zbackend_markerZprev_backendr   Zstyle_markerZpltÚexcr   r   r	   Úmpl_test_settings   s@    







r    c          	   c   sR   | j d jd }|d kr"|  d¡}| j}tj|j||fd d V  W d Q R X d S )NÚbaseline_imagesr   )Z
parameters)r   r   ZgetfixturevalueZfunctionr   Z_setattr_cmÚ__wrapped__)r   Ú	extensionr!   Úfuncr   r   r	   Úmpl_image_comparison_parametersB   s    

r%   c              c   s€   t  d¡} yddlm} W n  tk
r:   ddlm} Y nX |ƒ  z
| V  W dyddlm} W n tk
rr   Y nX |ƒ  X dS )z'Fixture to import and configure pandas.Zpandasr   )Úregister_matplotlib_converters)ÚregisterN)Ú deregister_matplotlib_converters)r   ZimportorskipZpandas.plottingr&   r   Zpandas.tseries.converterr'   r(   )Úpdr'   Z
deregisterr   r   r	   r)   X   s    

r)   )r   r   r   r   Zmatplotlib.cbookr   r
   r   Zfixturer    r%   r)   r   r   r   r	   Ú<module>   s   .