o
    $x`@                     @   sF   d Z ddlZG dd dejZG dd dejZG dd dejZdS )	zDocumentation tests.
    Nc                   @   l   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd ZdS )Test_asStructuredTextc                 C      ddl m} ||S )Nr   )asStructuredText)zope.interface.documentr   )selfifacer    r	   D/usr/lib/python3/dist-packages/zope/interface/tests/test_document.py_callFUT      zTest_asStructuredText._callFUTc                 C   @   ddl m} dg d}G dd d|}| | || d S )Nr   	Interface

)INoDocstring Attributes:	 Methods: c                   @      e Zd ZdS )zNTest_asStructuredText.test_asStructuredText_no_docstring.<locals>.INoDocstringN__name__
__module____qualname__r	   r	   r	   r
   r   !       r   zope.interfacer   joinassertEqualr   r   r   EXPECTEDr   r	   r	   r
   "test_asStructuredText_no_docstring      z8Test_asStructuredText.test_asStructuredText_no_docstringc                 C   r   )Nr   r   r   )IEmpty This is an empty interface.r   r   r   c                   @      e Zd ZdZdS )zPTest_asStructuredText.test_asStructuredText_empty_with_docstring.<locals>.IEmpty) This is an empty interface.
            Nr   r   r   __doc__r	   r	   r	   r
   r#   .       r#   r   r   r   r    r#   r	   r	   r
   *test_asStructuredText_empty_with_docstring%      z@Test_asStructuredText.test_asStructuredText_empty_with_docstringc                 C   r   )Nr   r   
)r#   r   r$    P             It can be used to annotate any class or object, because it promises             nothing.r   r   r   r   r   r   c                   @   r%   )zZTest_asStructuredText.test_asStructuredText_empty_with_multiline_docstring.<locals>.IEmpty This is an empty interface.

            It can be used to annotate any class or object, because it promises
            nothing.
            Nr'   r	   r	   r	   r
   r#   D   r)   r#   r   r*   r	   r	   r
   4test_asStructuredText_empty_with_multiline_docstring3      zJTest_asStructuredText.test_asStructuredText_empty_with_multiline_docstringc                    P   ddl m  ddl m} dg d}G  fddd|}| | || d S )Nr   	Attributer   r   )IHasAttribute! This interface has an attribute.r   z"  an_attribute -- no documentationr   r   c                          e Zd ZdZ dZdS )z^Test_asStructuredText.test_asStructuredText_with_attribute_no_docstring.<locals>.IHasAttribute. This interface has an attribute.
            an_attributeNr   r   r   r(   r;   r	   r5   r	   r
   r7   W       r7   r   r6   r   r   r   r   r   r   r    r7   r	   r5   r
   1test_asStructuredText_with_attribute_no_docstringL   
   zGTest_asStructuredText.test_asStructuredText_with_attribute_no_docstringc                    r4   )Nr   r5   r   r   )r7   r8   r   z/  an_attribute -- This attribute is documented.r   r   c                          e Zd ZdZ ddZdS )z`Test_asStructuredText.test_asStructuredText_with_attribute_with_docstring.<locals>.IHasAttributer:   r;   This attribute is documented.Nr<   r	   r5   r	   r
   r7   i   
    r7   r>   r?   r	   r5   r
   3test_asStructuredText_with_attribute_with_docstring^   
   zITest_asStructuredText.test_asStructuredText_with_attribute_with_docstringc                 C   r   )Nr   r   r   )
IHasMethod This interface has a method.r   r   z  aMethod() -- no documentationr   c                   @      e Zd ZdZdd ZdS )z`Test_asStructuredText.test_asStructuredText_with_method_no_args_no_docstring.<locals>.IHasMethod* This interface has a method.
            c                   S      d S Nr	   r	   r	   r	   r
   aMethod~      zhTest_asStructuredText.test_asStructuredText_with_method_no_args_no_docstring.<locals>.IHasMethod.aMethodNr   r   r   r(   rM   r	   r	   r	   r
   rG   {   r=   rG   r   r   r   r    rG   r	   r	   r
   6test_asStructuredText_with_method_no_args_no_docstringq      zLTest_asStructuredText.test_asStructuredText_with_method_no_args_no_docstringc                 C   r   )Nr   r   r   )rG   rH   r   r   z,  aMethod(first, second) -- no documentationr   c                   @   rI   )zhTest_asStructuredText.test_asStructuredText_with_method_positional_args_no_docstring.<locals>.IHasMethodrJ   c                 S   rK   rL   r	   firstsecondr	   r	   r
   rM      rN   zpTest_asStructuredText.test_asStructuredText_with_method_positional_args_no_docstring.<locals>.IHasMethod.aMethodNrO   r	   r	   r	   r
   rG      r=   rG   r   rP   r	   r	   r
   >test_asStructuredText_with_method_positional_args_no_docstring   rR   zTTest_asStructuredText.test_asStructuredText_with_method_positional_args_no_docstringc                 C   r   )Nr   r   r   )rG   rH   r   r   z3  aMethod(first, second, *rest) -- no documentationr   c                   @   rI   )zaTest_asStructuredText.test_asStructuredText_with_method_starargs_no_docstring.<locals>.IHasMethodrJ   c                 W   rK   rL   r	   rT   rU   restr	   r	   r
   rM      rN   ziTest_asStructuredText.test_asStructuredText_with_method_starargs_no_docstring.<locals>.IHasMethod.aMethodNrO   r	   r	   r	   r
   rG      r=   rG   r   rP   r	   r	   r
   7test_asStructuredText_with_method_starargs_no_docstring   rR   zMTest_asStructuredText.test_asStructuredText_with_method_starargs_no_docstringc                 C   r   )Nr   r   r   )rG   rH   r   r   z2  aMethod(first, second, **kw) -- no documentationr   c                   @   rI   )z_Test_asStructuredText.test_asStructuredText_with_method_kwargs_no_docstring.<locals>.IHasMethodrJ   c                 [   rK   rL   r	   rT   rU   kwr	   r	   r
   rM      rN   zgTest_asStructuredText.test_asStructuredText_with_method_kwargs_no_docstring.<locals>.IHasMethod.aMethodNrO   r	   r	   r	   r
   rG      r=   rG   r   rP   r	   r	   r
   5test_asStructuredText_with_method_kwargs_no_docstring   rR   zKTest_asStructuredText.test_asStructuredText_with_method_kwargs_no_docstringc                 C   r   )Nr   r   r   )rG   rH   r   r   z)  aMethod() -- This method is documented.r   c                   @   rI   )zZTest_asStructuredText.test_asStructuredText_with_method_with_docstring.<locals>.IHasMethodrJ   c                   S      dS z+This method is documented.
                Nr	   r	   r	   r	   r
   rM          zbTest_asStructuredText.test_asStructuredText_with_method_with_docstring.<locals>.IHasMethod.aMethodNrO   r	   r	   r	   r
   rG      r=   rG   r   rP   r	   r	   r
   0test_asStructuredText_with_method_with_docstring      zFTest_asStructuredText.test_asStructuredText_with_method_with_docstringc                    `   ddl m  ddl m} dg d}G dd d|}G  fdd	d	|}| | || d S )
Nr   r5   r   r   )IDerived IDerived doc This interface extends:z	  o IBaser   z  attr1 -- no documentationz  attr2 -- attr2 docr   z  method3() -- method3 docz  method4() -- no documentationz  method5() -- method5 docr   c                   @      e Zd Zdd Zdd ZdS )zOTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IBasec                   S   rK   rL   r	   r	   r	   r	   r
   method1   rN   zWTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IBase.method1c                   S   rK   rL   r	   r	   r	   r	   r
   method2   rN   zWTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IBase.method2Nr   r   r   rg   rh   r	   r	   r	   r
   IBase       rj   c                       :   e Zd ZdZ dZ ddZdd Zdd Zd	d
 ZdS )zRTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IDerivedIDerived docattr1attr2	attr2 docc                   S   r]   zmethod3 docNr	   r	   r	   r	   r
   method3   r_   zZTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IDerived.method3c                   S   rK   rL   r	   r	   r	   r	   r
   method4   rN   zZTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IDerived.method4c                   S   r]   zmethod5 docNr	   r	   r	   r	   r
   method5   r_   zZTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IDerived.method5N	r   r   r   r(   rn   ro   rr   rs   ru   r	   r5   r	   r
   rc          
rc   r>   r   r   r    rj   rc   r	   r5   r
   *test_asStructuredText_derived_ignores_base      z@Test_asStructuredText.test_asStructuredText_derived_ignores_baseN)r   r   r   r   r!   r+   r2   r@   rE   rQ   rV   rY   r\   r`   ry   r	   r	   r	   r
   r          r   c                   @   r   )Test_asReStructuredTextc                 C   r   )Nr   )asReStructuredText)r   r}   )r   r   r}   r	   r	   r
   r      r   z Test_asReStructuredText._callFUTc                 C   r   )Nr   r   r   )z``INoDocstring``r   r   r   c                   @   r   )zRTest_asReStructuredText.test_asReStructuredText_no_docstring.<locals>.INoDocstringNr   r	   r	   r	   r
   r     r   r   r   r   r	   r	   r
   $test_asReStructuredText_no_docstring   r"   z<Test_asReStructuredText.test_asReStructuredText_no_docstringc                 C   r   )Nr   r   r   )
``IEmpty``r$   r   r   r   c                   @   r%   )zTTest_asReStructuredText.test_asReStructuredText_empty_with_docstring.<locals>.IEmptyr&   Nr'   r	   r	   r	   r
   r#     r)   r#   r   r*   r	   r	   r
   ,test_asReStructuredText_empty_with_docstring  r,   zDTest_asReStructuredText.test_asReStructuredText_empty_with_docstringc                 C   r   )Nr   r   r-   )r   r   r$   r.   r/   r0   r   r   r   r   r   r   c                   @   r%   )z^Test_asReStructuredText.test_asReStructuredText_empty_with_multiline_docstring.<locals>.IEmptyr1   Nr'   r	   r	   r	   r
   r#   $  r)   r#   r   r*   r	   r	   r
   6test_asReStructuredText_empty_with_multiline_docstring  r3   zNTest_asReStructuredText.test_asReStructuredText_empty_with_multiline_docstringc                    r4   )Nr   r5   r   r   )``IHasAttribute``r8   r   z&  ``an_attribute`` -- no documentationr   r   c                       r9   )zbTest_asReStructuredText.test_asReStructuredText_with_attribute_no_docstring.<locals>.IHasAttributer:   r;   Nr<   r	   r5   r	   r
   r7   7  r=   r7   r>   r?   r	   r5   r
   3test_asReStructuredText_with_attribute_no_docstring,  rA   zKTest_asReStructuredText.test_asReStructuredText_with_attribute_no_docstringc                    r4   )Nr   r5   r   r   )r   r8   r   z3  ``an_attribute`` -- This attribute is documented.r   r   c                       rB   )zdTest_asReStructuredText.test_asReStructuredText_with_attribute_with_docstring.<locals>.IHasAttributer:   r;   rC   Nr<   r	   r5   r	   r
   r7   I  rD   r7   r>   r?   r	   r5   r
   5test_asReStructuredText_with_attribute_with_docstring>  rF   zMTest_asReStructuredText.test_asReStructuredText_with_attribute_with_docstringc                 C   r   )Nr   r   r   )``IHasMethod``rH   r   r   z#  ``aMethod()`` -- no documentationr   c                   @   rI   )zdTest_asReStructuredText.test_asReStructuredText_with_method_no_args_no_docstring.<locals>.IHasMethodrJ   c                   S   rK   rL   r	   r	   r	   r	   r
   rM   ^  rN   zlTest_asReStructuredText.test_asReStructuredText_with_method_no_args_no_docstring.<locals>.IHasMethod.aMethodNrO   r	   r	   r	   r
   rG   [  r=   rG   r   rP   r	   r	   r
   8test_asReStructuredText_with_method_no_args_no_docstringQ  rR   zPTest_asReStructuredText.test_asReStructuredText_with_method_no_args_no_docstringc                 C   r   )Nr   r   r   )r   rH   r   r   z0  ``aMethod(first, second)`` -- no documentationr   c                   @   rI   )zlTest_asReStructuredText.test_asReStructuredText_with_method_positional_args_no_docstring.<locals>.IHasMethodrJ   c                 S   rK   rL   r	   rS   r	   r	   r
   rM   p  rN   ztTest_asReStructuredText.test_asReStructuredText_with_method_positional_args_no_docstring.<locals>.IHasMethod.aMethodNrO   r	   r	   r	   r
   rG   m  r=   rG   r   rP   r	   r	   r
   @test_asReStructuredText_with_method_positional_args_no_docstringc  rR   zXTest_asReStructuredText.test_asReStructuredText_with_method_positional_args_no_docstringc                 C   r   )Nr   r   r   )r   rH   r   r   z7  ``aMethod(first, second, *rest)`` -- no documentationr   c                   @   rI   )zeTest_asReStructuredText.test_asReStructuredText_with_method_starargs_no_docstring.<locals>.IHasMethodrJ   c                 W   rK   rL   r	   rW   r	   r	   r
   rM     rN   zmTest_asReStructuredText.test_asReStructuredText_with_method_starargs_no_docstring.<locals>.IHasMethod.aMethodNrO   r	   r	   r	   r
   rG     r=   rG   r   rP   r	   r	   r
   9test_asReStructuredText_with_method_starargs_no_docstringu  rR   zQTest_asReStructuredText.test_asReStructuredText_with_method_starargs_no_docstringc                 C   r   )Nr   r   r   )r   rH   r   r   z6  ``aMethod(first, second, **kw)`` -- no documentationr   c                   @   rI   )zcTest_asReStructuredText.test_asReStructuredText_with_method_kwargs_no_docstring.<locals>.IHasMethodrJ   c                 [   rK   rL   r	   rZ   r	   r	   r
   rM     rN   zkTest_asReStructuredText.test_asReStructuredText_with_method_kwargs_no_docstring.<locals>.IHasMethod.aMethodNrO   r	   r	   r	   r
   rG     r=   rG   r   rP   r	   r	   r
   7test_asReStructuredText_with_method_kwargs_no_docstring  rR   zOTest_asReStructuredText.test_asReStructuredText_with_method_kwargs_no_docstringc                 C   r   )Nr   r   r   )r   rH   r   r   z-  ``aMethod()`` -- This method is documented.r   c                   @   rI   )z^Test_asReStructuredText.test_asReStructuredText_with_method_with_docstring.<locals>.IHasMethodrJ   c                   S   r]   r^   r	   r	   r	   r	   r
   rM     r_   zfTest_asReStructuredText.test_asReStructuredText_with_method_with_docstring.<locals>.IHasMethod.aMethodNrO   r	   r	   r	   r
   rG     r=   rG   r   rP   r	   r	   r
   2test_asReStructuredText_with_method_with_docstring  ra   zJTest_asReStructuredText.test_asReStructuredText_with_method_with_docstringc                    rb   )
Nr   r5   r   r   )z``IDerived``rd   re   z  o ``IBase``r   z  ``attr1`` -- no documentationz  ``attr2`` -- attr2 docr   z  ``method3()`` -- method3 docz#  ``method4()`` -- no documentationz  ``method5()`` -- method5 docr   c                   @   rf   )zSTest_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IBasec                   S   rK   rL   r	   r	   r	   r	   r
   rg     rN   z[Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IBase.method1c                   S   rK   rL   r	   r	   r	   r	   r
   rh     rN   z[Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IBase.method2Nri   r	   r	   r	   r
   rj     rk   rj   c                       rl   )zVTest_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IDerivedrm   rn   ro   rp   c                   S   r]   rq   r	   r	   r	   r	   r
   rr     r_   z^Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IDerived.method3c                   S   rK   rL   r	   r	   r	   r	   r
   rs     rN   z^Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IDerived.method4c                   S   r]   rt   r	   r	   r	   r	   r
   ru     r_   z^Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IDerived.method5Nrv   r	   r5   r	   r
   rc     rw   rc   r>   rx   r	   r5   r
   ,test_asReStructuredText_derived_ignores_base  rz   zDTest_asReStructuredText.test_asReStructuredText_derived_ignores_baseN)r   r   r   r   r~   r   r   r   r   r   r   r   r   r   r   r	   r	   r	   r
   r|      r{   r|   c                   @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )Test__justify_and_indentc                 K   s   ddl m} |||fi |S )Nr   )_justify_and_indent)r   r   )r   textlevelr[   r   r	   r	   r
   r     s   z!Test__justify_and_indent._callFUTc                 C   s*   ddg}d |}| | |d| d S )NThree blind miceSee how they runr-   r   r   r   r   r   LINESr   r	   r	   r
   test_simple_level_0  s   
z,Test__justify_and_indent.test_simple_level_0c                 C   :   ddg}d |}| | |dd dd |D  d S )Nr   r   r-      c                 S      g | ]}d | qS r.   r	   .0liner	   r	   r
   
<listcomp>      z@Test__justify_and_indent.test_simple_level_1.<locals>.<listcomp>r   r   r	   r	   r
   test_simple_level_1  
   
z,Test__justify_and_indent.test_simple_level_1c                 C   r   )Nr   r   r-   r   c                 S   r   r   r	   r   r	   r	   r
   r     r   z@Test__justify_and_indent.test_simple_level_2.<locals>.<listcomp>r   r   r	   r	   r
   test_simple_level_2  r   z,Test__justify_and_indent.test_simple_level_2c                 C   s:   ddg}d |}| | |dd dd |D  d S )Nr   r   z
r   r-   c                 S   r   r   r	   r   r	   r	   r
   r     r   z?Test__justify_and_indent.test_simple_w_CRLF.<locals>.<listcomp>r   r   r	   r	   r
   test_simple_w_CRLF  r   z+Test__justify_and_indent.test_simple_w_CRLFc                 C   s&   d}d}|  | j|dddd| d S )NzTThis is a piece of text longer than 15 characters, 
and split across multiple lines.z_  This is a piece
  of text longer
  than 15 characters,
  and split across
  multiple lines.
 r      )mungewidth)r   r   )r   TEXTr    r	   r	   r
   test_with_munge  s   z(Test__justify_and_indent.test_with_mungeN)	r   r   r   r   r   r   r   r   r   r	   r	   r	   r
   r     s    r   )r(   unittestTestCaser   r|   r   r	   r	   r	   r
   <module>   s    a a