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