
    |h                        d dl mZ d dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZmZ dZ ej                  d	      d
        Zed        Zd Zej&                  j)                  e d      d        Zej&                  j)                  e d      d        Zej&                  j)                  e d      d        Zej&                  j1                  dej2                  dgfej4                  d ed      gfej6                  dgfej8                   e       fej<                   e       fej>                   e       fe edgfg      d        Z!y)    )contextmanagerN)has_mpl)io)manage_plugins)fetchassert_stacklevelpilT)autousec               #   f   K   t        j                  d       d  t        j                          y w)Nr	   )r   
use_pluginreset_plugins     [/var/www/html/test/engine/venv/lib/python3.12/site-packages/skimage/io/tests/test_plugin.py_use_pil_pluginr      s!     MM%	s   /1c               #      K   t         j                  j                         } 	 d | t         _        y# | t         _        w xY ww)zDContexts where `preferred_plugins` can be modified w/o side-effects.N)r   preferred_pluginscopy)r   s    r   protect_preferred_pluginsr      s6      '88==?=+<(+<(s   A2 A?Ac                      t        j                  t              5  t        j                  d       d d d        y # 1 sw Y   y xY w)Nasd)pytestraises
ValueErrorr   r   r   r   r   test_failed_user      s1    	z	" )!!%() ) )s	   9Azmatplotlib not installed)reasonc                  L   t        j                  t               t         j                  d   d   \  } }t        j
                  j                  | t               t        j                  d       t         j                  d   d   \  } }t        j
                  j                  | d       y )Nimreadr   
matplotlib)r   r   priority_pluginplugin_storenptestingassert_equal)plugfuncs     r   test_use_priorityr'   $   sx    o.,,X6q9JD$JJD/2l+,,X6q9JD$JJD,/r   c                  R   ddl m} m} t               5  dgdgdt        _        t	        j                          dD ],  }t        j                  |   d   \  }}|t        | |      k(  r,J  t        j                  d   d   \  }}|t        |d      k(  sJ 	 d d d        y # 1 sw Y   y xY w)Nr   
pil_pluginmatplotlib_pluginr	   r   )allimshow)r   imsaver-   )	skimage.io._pluginsr*   r+   r   r   r   r   r!   getattr)r*   r+   plugin_typer%   r&   s        r   test_load_preferred_plugins_allr2   /   s    A	"	$ <497|n+U($$&/ 	<K'44[A!DJD$7:{;;;;	< $00:1=
dw0(;;;;< < <s   AB&-BB&c                  j   ddl m} m} t               5  dgt        j
                  d<   t	        j                          t        j                  d   d   \  }}|| j                  k(  sJ t        j                  d   d   \  }}||j                  k(  sJ |j                         	 d d d        y # 1 sw Y   y xY w)Nr   r)   r	   r   r-   )r/   r*   r+   r   r   r   r   r!   r   r-   
__module__)r*   r+   r%   r&   s       r   "test_load_preferred_plugins_imreadr5   >   s    A	"	$ A6;W((2$$&#00:1=
dz(((((#00:1=
d(///@@/A A As   BB))B2)r&   argsimageior   zdata/camera.pngavailable_pluginsc                     d}t        j                  t        |      5 } | |  d d d        t              dk(  sJ t	        |d       y # 1 sw Y   'xY w)Nz0.*use `imageio` or other I/O packages directly.*)match   )offset)r   warnsFutureWarninglenr   )r&   r6   regexrecords       r   )test_deprecation_warnings_on_plugin_funcsrC   L   sQ     ?E	m5	1 Vdv;!fR( s   A

A)"
contextlibr   numpyr"   r   "skimage._shared._dependency_checksr   skimager   
skimage.ior   skimage._shared.testingr   r   r    fixturer   r   r   markskipifr'   r2   r5   parametrizer   call_pluginplugin_infoplugin_ordertupler   find_available_pluginsr0   rC   r   r   r   <module>rS      sy   %   6  % <    = =)
 K(BC0 D0 K(BC< D< K(BC
A D
A 	$	(E*;$<=>	)%	%'"			57#		"	"EG,	2*+,))r   