
    Cad                     h    d Z ddlmZ ddlmZ ddlmZ ddlmZ d Z	 G d dej                        Zy)	zTests for the sphinx extension
    N)	extension)	sphinxext)utilsc                     d }||_         t        j                  | dj                  | |       d      }t	        j
                  | ||d       S )Nc                       y )N r       @/usr/lib/python3/dist-packages/stevedore/tests/test_sphinxext.pyinnerz_make_ext.<locals>.inner   s    r	   z{}_module:{}group)__doc__importlib_metadata
EntryPointformatr   	Extension)name	docstringr   m1s       r
   	_make_extr      sM     EM		&	&n##D$/
B tR55r	   c                   <     e Zd Z fdZd Zd Zd Zd Zd Z xZ	S )TestSphinxExtc                     t         t        |           t        dd      t        dd      g| _        t
        j                  j                  | j                        | _        y )Ntest1One-line docstringtest2"Multi-line docstring

Another para)	superr   setUpr   extsr   ExtensionManagermake_test_instanceem)self	__class__s    r
   r   zTestSphinxExt.setUp#   sM    mT(*g34gEF
	 ,,??		Jr	   c                 |    t        t        j                  | j                              }| j	                  ddg|       y )N)z* test1 -- One-line docstringtest1_module)z* test2 -- Multi-line docstringtest2_module)listr   _simple_listr"   assertEqualr#   resultss     r
   test_simple_listzTestSphinxExt.test_simple_list+   s9    y--dgg67AC 	
r	   c                     t        dd       g}t        j                  j                  |      }t	        t        j                  |            }| j                  dg|       y )Nnodoc)z* nodoc -- nodoc_module)r   r   r    r!   r(   r   r)   r*   r#   extr"   r,   s       r
   test_simple_list_no_docstringz+TestSphinxExt.test_simple_list_no_docstring5   sW    $'(''::3?y--b12/ 		
r	   c                 |    t        t        j                  | j                              }| j	                  g d|       y )N)
r   r&   )-----r&   
r&   r   r&   r7   r   r'   )r6   r'   r8   r'   r   r'   r;   r(   r   _detailed_listr"   r*   r+   s     r
   test_detailed_listz TestSphinxExt.test_detailed_list@   s3    y//89 	
r	   c                     t        t        j                  | j                  dd            }| j	                  g d|       y )N+)overunder)+++++r&   r5   rD   r7   r9   r7   rE   r'   r:   rF   r;   r<   r;   r=   r+   s     r
   test_detailed_list_formatz'TestSphinxExt.test_detailed_list_formatR   s7    y//cMN 	
r	   c                     t        dd       g}t        j                  j                  |      }t	        t        j                  |            }| j                  g d|       y )Nr/   ))r/   r0   )r6   r0   r8   r0   )zC.. warning:: No documentation found for nodoc in nodoc_module:nodocr0   rI   )r   r   r    r!   r(   r   r>   r*   r1   s       r
   test_detailed_list_no_docstringz-TestSphinxExt.test_detailed_list_no_docstringf   sT    $'(''::3?y//34 	
r	   )
__name__
__module____qualname__r   r-   r3   r?   rG   rJ   __classcell__)r$   s   @r
   r   r   !   s"    K
	

$
(
r	   r   )r   importlib.metadatametadatar   	stevedorer   r   stevedore.testsr   r   TestCaser   r   r	   r
   <module>rT      s/    0   !6T
ENN T
r	   