
    9i                         S SK r S SKrS SKrS SKrS SKrS SKJr  S SKrS SKr	S r
S rS rS rS rS rS	rS
 rS rS rS rS rg)    N)mockc                     [         R                  " S5      n [         R                  " S5      nU R                  U R                  5      [        R
                  " SS5      :X  d   e UR                    [        5       e! [         a     Of = f[        U[         R                  5      (       d   e UR                    [        5       e! [         a     g f = f)Nmathanything_not_realr   ư>)
lazyloadsinpipytestapproxAssertionErrorModuleNotFoundError
isinstanceDelayedImportErrorModule)r   r   s     b/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/lazy_loader/tests/test_lazy_loader.pytest_lazy_import_basicsr      s    99VD		"56 88DGGa 6666 ')F)FGGGG s$   $A: :
BB,C 
CCc                     [         R                  " [        5         [        R                  " S5      n S S S 5        S[
        R                  ;   d   e[        [
        R                  S   5      [        [         5      :X  d   e[        W [        R                  R                  5      (       d   eS[
        R                  ;   d   e[
        R                  S   U :X  d   eg ! , (       d  f       N= f)Nzhtml.parserhtml)r   warnsRuntimeWarningr   r	   sysmodulestyper   	importlibutil_LazyModule)hps    r   test_lazy_import_subpackagesr   "   s    	n	%YY}% 
&S[[   F#$V444b)..445555CKK''';;}%+++ 
&	%s   C
C(c                     [         R                  " S5      n [         R                  " S5      n[        U [        R                  5      (       d   eS[
        R                  ;   d   e[        U[         R                  5      (       d   eS[
        R                  ;  d   e[        R                  " S5        [         R                  " S5      n[        U[        R                  5      (       d   eS[
        R                  ;   d   eUR                    [        U[        R                  5      (       d   eS[
        R                  ;   d   eg )Nr   r   numpy)r   r	   r   types
ModuleTyper   r   r   r   importorskipr   )r   r   nps      r   &test_lazy_import_impact_on_sys_modulesr&   ,   s    99VD		"56dE,,----S[[   ')F)FGGGGckk111  	7	Bb%**++++ckk!!!EEb%**++++ckk!!!    c                     [         R                  " S5      n [         R                  " S5      n[        U [         R                  5      (       d6  U R	                  U R
                  5      [        R                  " SS5      :X  d   e[        U[         R                  5      (       a   UR
                    [        5       eg ! [         a     g f = f)Nr!   scipyr   r   )
r   r	   r   r   r
   r   r   r   r   r   )r%   sps     r   test_lazy_import_nonbuiltinsr+   A   s    	7	B	7	Bb$7788vvbee}a 6666"d3344	EE "" 5 # 		s   "B9 9
CCc                  *   Sn SS/nSS/0n[         R                  U UUS.nSn[        U0 U5        [         R                  U UUS S S S.nUR                  5       UR                  5       :X  d   eUR	                  5        H  u  pgUc  M
  X6   U:X  a  M   e   g )	Nmymodmysubmoduleanothersubmodulenot_real_submodsome_var_or_func)attachnamesubmodsmyallzA__getattr__, __lazy_dir__, __all__ = attach(name, submods, myall))r2   r3   r4   r5   __getattr____lazy_dir____all__)r   r2   execkeysitems)r3   r4   r5   loclssexpectedkvs           r   test_lazy_attachrA   N   s    D01G!3 45E ++	E 	LAB++H ::<8==?*** =8q= = !r'   c                  
   SSK Jn   [        U R                  [        R
                  5      (       d   e[        U R                  [        R
                  5      (       d   eSSKJn  [        U[        R
                  5      (       d   eg )Nr   fake_pkg)	some_func)lazy_loader.testsrD   r   rE   r"   FunctionType$lazy_loader.tests.fake_pkg.some_func)rD   rE   s     r   %test_attach_same_module_and_attr_namerI   k   sc    * h((%*<*<====h((%*<*<==== ?i!3!34444r'   zg
from . import rank
from ._gaussian import gaussian
from .edges import sobel, scharr, prewitt, roberts
c                     U S-  nUR                  [        5        [        R                  " S[	        U5      5      u  p#n1 Skn[        U" 5       5      [        U5      s=:X  a  U:X  d   e   eg )Nstub.pyi	my_module>   ranksobelscharrprewittrobertsgaussian)
write_text	FAKE_STUBr   attach_stubstrset)tmp_pathstub_get_dir_allexpects         r   test_stub_loadingr^      s[    j DOOI''SY?DJFtv;#d)-v-----r'   c                      SSK Jn   [        R                  " U R                  U R
                  5      nUu  p#nX@R                  :X  d   eU" 5       U R                  5       :X  d   eU" S5      U R                  :X  d   eg )Nr   rC   rE   )	rF   rD   r   rU   __name____file__r8   r7   rE   )rD   	from_stubstub_getterstub_dirstub_alls        r   test_stub_loading_parityrf      sq    *  !2!2H4E4EFI&/#K8''''':..0000{#x'9'9999r'   c                 <   U S-  nUR                  S5        [        R                  " [        SS9   [        R
                  " S[        U5      5        S S S 5        [        R                  " [        SS9   [        R
                  " SS5        S S S 5        U S-  nUR                  S	5        [        R                  " [        S
S9   [        R
                  " S[        U5      5        S S S 5        g ! , (       d  f       N= f! , (       d  f       Nx= f! , (       d  f       g = f)NrK   zfrom ..mod import func
z(Only within-module imports are supported)matchr3   z*Cannot load imports from non-existent stubz
not a filez	stub2.pyizfrom .mod import *
z.*does not support star import)rS   r   raises
ValueErrorr   rU   rV   )rX   rY   stub2s      r   test_stub_loading_errorsrl      s    j DOO./	z)S	TT+ 
U 
z)U	V. 
W {"E	+,	z)I	JU, 
K	J 
U	T 
W	V
 
K	Js#   !C+2C<!D+
C9<
D

Dc                     [         R                  R                  S5      S Ln U (       a  SOSn[        R                  " SU S35       nSUl        [        R                  " SSS	9n[        U[        R                  5      (       d   e[        R                  " SS
S	9nUR                  UR                  5      [        R                  " SS5      :X  d   e[        R                  " SSS	9n[        U[        R                  5      (       d   e S S S 5        [        R                  " [        5         [        R                  " SS
S	9  S S S 5        g ! , (       d  f       NG= f! , (       d  f       g = f)Nzimportlib.metadata._r   zmetadata.versionz1.0.0r   zsomepkg >= 2.0)requirezsomepkg >= 1.0r   r   )r   r   	find_specr   patchreturn_valuer   r	   r   r   r
   r   r   r   ri   rj   )have_importlib_metadatadotversionr   s       r   test_require_kwargrw      s   'nn667KLTXX(#cC	iu$45	6'&yy)9:$ = =>>>>yy)9:xx FMM!T$:::: yy)9:$ = =>>>> 
7 
z	"		&"23 
#	" 
7	6 
#	"s   B?E)E
E
E'c                      [         R                  " S5        [        R                  " [        R
                  [        R                  R                  [        R                  R                  [        5      S5      /5        g )Nr!   zimport_np_parallel.py)r   r$   
subprocessrunr   
executableospathjoindirnamera    r'   r   test_parallel_loadr      sH    
 NNNNGGLL24KL	
r'   )r   r|   ry   r   r"   unittestr   r   lazy_loaderr   r   r   r&   r+   rA   rI   rT   r^   rf   rl   rw   r   r   r'   r   <module>r      s[     	  
    *,"*
!:5	.:- 4,r'   