
    -Ph                         d dl mZ d dl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  ej        d          d             Zd	 Zd
 Zej                            ddgdfddgdfddgdff          d             ZdS )    N)__version__)version)Sphinx)docutils_namespacemodule)scopec                    |                                  dz  j        }t          j        t          j        t
                    d          }d }t          j        |||           |}|}t          j        |dd          }t          j        |dd          }ddd	}t                      5  t          ||||fd
di|}|
                    dg            d d d            n# 1 swxY w Y   |S )Nroot	tinybuildc                     dS )N)_build	generated )srcnamess     X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numpydoc/tests/test_full.pyignorezsphinx_app.<locals>.ignore   s    &&    )r   r   htmltoctreesT)warningiserror
keep_goingbuildernameF)getbasetempstrpathopjoindirname__file__shutilcopytreer   r   build)	tmpdir_factorytemp_dirsrc_dirr   conf_dirout_dirtoctrees_dirkwargsapps	            r   
sphinx_appr+      sJ   **,,v5>Hgbj**K88G' ' ' OGXf5555 GHgh&11G78Xz::L $D99F 
		  Xw
 
BH
LR
 

 			%               Js   &)CC"Cc                    | j         | j        }}t          j        |dd          }t	          |          5 }|                                }ddd           n# 1 swxY w Y   d|v sJ t          j        |dd          }t	          |          5 }|                                }ddd           n# 1 swxY w Y   d|vsJ d|vsJ d|v sJ d	|vsJ d
|vsJ d|v sJ dS )z,Test that class documentation is reasonable.r   z numpydoc_test_module.MyClass.rstNznumpydoc\_test\_module!numpydoc_test_module.MyClass.htmlz$selfz/,__init__z\*zself,zstdtypes.html#dict)srcdiroutdirr   r   openread)r+   r%   r'   	class_rstfidrst
class_htmlr   s           r   test_MyClassr7   )   s   !(**;WG.PQQI	i Chhjj              $+++++/RSSJ	j		 Sxxzz               $t $4''''''s#   AAAB,,B03B0c                     | j         }t          j        |dd          }t          |          5 }|                                }ddd           n# 1 swxY w Y   d|vsJ d|v sJ d|v sJ dS )z/Test that function documentation is reasonable.r   %numpydoc_test_module.my_function.htmlNz\*argsz*argszglossary.html#term-iterable)r0   r   r   r1   r2   )r+   r'   function_htmlr4   r   s        r   test_my_functionr;   @   s    GGE M 
m		 xxzz              D    d????(D000000s   AAA)	html_fileexpected_lengthz
index.html   r   r9   r-   c                    | j         }t          t          j        |g|R            5 }|                                }ddd           n# 1 swxY w Y   t          j        t                    t          j        d          k    rdnd}t          j	        d| d|          }t          |          |k    sJ |D ]}d|vsJ 	dS )zTest for bad referencesNz0.18zrole="doc-backlink"zclass="fn-backref"z<a z href="\#id\d+">(.*)<\/a>-)r0   r1   r   r   r2   r   parsedocutils_versionrefindalllen)	r+   r<   r=   r'   r4   r   patternreference_listrefs	            r   test_referencerI   N   s    G	bgg*	***	+	+ sxxzz               =)**gmF.C.CCC 	! 
 Z Iw I I I4PPN~/1111  #~~~~~ s   AAA)os.pathpathr   rC   r    pytestdocutilsr   rB   	packagingr   sphinx.applicationr   sphinx.util.docutilsr   fixturer+   r7   r;   markparametrizerI   r   r   r   <module>rT      s+         				   4 4 4 4 4 4       % % % % % % 3 3 3 3 3 3 h   6( ( (.1 1 1 $

>	?C
:	;Q?     r   