
    OfDC                         d Z ddlZddlZ G d dej                  Z G d dej                  Z G d dej                  ZdS )	zDocumentation tests.
    Nc                   V    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd ZdS )Test_asStructuredTextc                 $    ddl m}  ||          S )Nr   )asStructuredText)zope.interface.documentr   )selfifacer   s      T/var/www/html/env/lib/python3.11/site-packages/zope/interface/tests/test_document.py_callFUTzTest_asStructuredText._callFUT   s%    <<<<<<&&&    c                     ddl m} d                    g d          } G d d|          }|                     |                     |          |           d S )Nr   	Interface

)INoDocstring Attributes:	 Methods: c                       e Zd ZdS )NTest_asStructuredText.test_asStructuredText_no_docstring.<locals>.INoDocstringN__name__
__module____qualname__ r   r
   r   r   #           Dr   r   zope.interfacer   joinassertEqualr   r   r   EXPECTEDr   s       r
   "test_asStructuredText_no_docstringz8Test_asStructuredText.test_asStructuredText_no_docstring       ,,,,,,;;  
  
  
  	 	 	 	 	9 	 	 	 	|44h?????r   c                     ddl m} d                    g d          } G d d|          }|                     |                     |          |           d S )Nr   r   r   )IEmpty This is an empty interface.r   r   r   c                       e Zd ZdZdS )PTest_asStructuredText.test_asStructuredText_empty_with_docstring.<locals>.IEmpty) This is an empty interface.
            Nr   r   r   __doc__r   r   r
   r&   r)   2              r   r&   r   r   r   r"   r&   s       r
   *test_asStructuredText_empty_with_docstringz@Test_asStructuredText.test_asStructuredText_empty_with_docstring(       ,,,,,,;;  
  
  
  	 	 	 	 	Y 	 	 	 	v..99999r   c                     ddl m} t          j        dk     rdnd}d                    dddd	| d
| dddddddg          } G d d|          }|                     |                     |          |           d S )Nr   r                     r   
r&   r'    zD It can be used to annotate any class or object, because it promisesz	 nothing.r   r   c                       e Zd ZdZdS )ZTest_asStructuredText.test_asStructuredText_empty_with_multiline_docstring.<locals>.IEmptyz This is an empty interface.

            It can be used to annotate any class or object, because it promises
            nothing.
            Nr+   r   r   r
   r&   r9   N              r   r   r   sysversion_infor   r    r   r   r   indentr"   r&   s        r
   4test_asStructuredText_empty_with_multiline_docstringzJTest_asStructuredText.test_asStructuredText_empty_with_multiline_docstring8   s    ,,,,,, !-77R99* 3 3 3   
   	 	 	 	 	Y 	 	 	 	v..99999r   c                     ddl m ddl m} d                    g d          } G f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 )^Test_asStructuredText.test_asStructuredText_with_attribute_no_docstring.<locals>.IHasAttribute. This interface has an attribute.
            an_attributeNr   r   r   r,   rI   rB   s   r
   rD   rG   c   (         $9^44LLLr   rD   r   rC   r   r   r    r   r   r   r"   rD   rC   s       @r
   1test_asStructuredText_with_attribute_no_docstringzGTest_asStructuredText.test_asStructuredText_with_attribute_no_docstringW       ,,,,,,,,,,,,;;  
  
  
  	5 	5 	5 	5 	5 	5 	5I 	5 	5 	5
 	}55x@@@@@r   c                     ddl m ddl m} d                    g d          } G fdd|          }|                     |                     |          |           d S )Nr   rB   r   r   )rD   rE   r   z/  an_attribute -- This attribute is documented.r   r   c                   ,    e Zd ZdZ  dd          ZdS )`Test_asStructuredText.test_asStructuredText_with_attribute_with_docstring.<locals>.IHasAttributerH   rI   This attribute is documented.NrJ   rB   s   r
   rD   rR   v   1         $9^%DF FLLLr   rD   rL   rM   s       @r
   3test_asStructuredText_with_attribute_with_docstringzITest_asStructuredText.test_asStructuredText_with_attribute_with_docstringj       ,,,,,,,,,,,,;;  
  
  
  	F 	F 	F 	F 	F 	F 	FI 	F 	F 	F 	}55x@@@@@r   c                     ddl m} d                    g d          } G d d|          }|                     |                     |          |           d S )Nr   r   r   )
IHasMethod This interface has a method.r   r   z  aMethod() -- no documentationr   c                       e Zd ZdZd ZdS )`Test_asStructuredText.test_asStructuredText_with_method_no_args_no_docstring.<locals>.IHasMethod* This interface has a method.
            c                      d S Nr   r   r   r
   aMethodzhTest_asStructuredText.test_asStructuredText_with_method_no_args_no_docstring.<locals>.IHasMethod.aMethod       r   Nr   r   r   r,   r_   r   r   r
   rX   r[      -             r   rX   r   r   r   r"   rX   s       r
   6test_asStructuredText_with_method_no_args_no_docstringzLTest_asStructuredText.test_asStructuredText_with_method_no_args_no_docstring~       ,,,,,,;;  
  
  
  	 	 	 	 	 	 	 	 	z22H=====r   c                     ddl m} d                    g d          } G d d|          }|                     |                     |          |           d S )Nr   r   r   )rX   rY   r   r   z,  aMethod(first, second) -- no documentationr   c                       e Zd ZdZd ZdS )hTest_asStructuredText.test_asStructuredText_with_method_positional_args_no_docstring.<locals>.IHasMethodr\   c                     d S r^   r   firstseconds     r
   r_   zpTest_asStructuredText.test_asStructuredText_with_method_positional_args_no_docstring.<locals>.IHasMethod.aMethod   r`   r   Nra   r   r   r
   rX   rh      rb   r   rX   r   rc   s       r
   >test_asStructuredText_with_method_positional_args_no_docstringzTTest_asStructuredText.test_asStructuredText_with_method_positional_args_no_docstring   re   r   c                     ddl m} d                    g d          } G d d|          }|                     |                     |          |           d S )Nr   r   r   )rX   rY   r   r   z3  aMethod(first, second, *rest) -- no documentationr   c                       e Zd ZdZd ZdS )aTest_asStructuredText.test_asStructuredText_with_method_starargs_no_docstring.<locals>.IHasMethodr\   c                     d S r^   r   rk   rl   rests      r
   r_   ziTest_asStructuredText.test_asStructuredText_with_method_starargs_no_docstring.<locals>.IHasMethod.aMethod   r`   r   Nra   r   r   r
   rX   rp      rb   r   rX   r   rc   s       r
   7test_asStructuredText_with_method_starargs_no_docstringzMTest_asStructuredText.test_asStructuredText_with_method_starargs_no_docstring   re   r   c                     ddl m} d                    g d          } G d d|          }|                     |                     |          |           d S )Nr   r   r   )rX   rY   r   r   z2  aMethod(first, second, **kw) -- no documentationr   c                       e Zd ZdZd ZdS )_Test_asStructuredText.test_asStructuredText_with_method_kwargs_no_docstring.<locals>.IHasMethodr\   c                     d S r^   r   rk   rl   kws      r
   r_   zgTest_asStructuredText.test_asStructuredText_with_method_kwargs_no_docstring.<locals>.IHasMethod.aMethod   r`   r   Nra   r   r   r
   rX   rw      rb   r   rX   r   rc   s       r
   5test_asStructuredText_with_method_kwargs_no_docstringzKTest_asStructuredText.test_asStructuredText_with_method_kwargs_no_docstring   re   r   c                     ddl m} d                    g d          } G d d|          }|                     |                     |          |           d S )Nr   r   r   )rX   rY   r   r   z)  aMethod() -- This method is documented.r   c                       e Zd ZdZd ZdS )ZTest_asStructuredText.test_asStructuredText_with_method_with_docstring.<locals>.IHasMethodr\   c                      dS z+This method is documented.
                Nr   r   r   r
   r_   zbTest_asStructuredText.test_asStructuredText_with_method_with_docstring.<locals>.IHasMethod.aMethod         r   Nra   r   r   r
   rX   r~      -             r   rX   r   rc   s       r
   0test_asStructuredText_with_method_with_docstringzFTest_asStructuredText.test_asStructuredText_with_method_with_docstring       ,,,,,,;;  
  
  
  	 	 	 	 	 	 	 	 	z22H=====r   c                     ddl m ddl m} d                    g d          } G d d|          } G fdd	|          }|                     |                     |          |           d S )
Nr   rB   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 Zd ZdS )OTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IBasec                      dS 	docstringNr   r   r   r
   method1zWTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IBase.method1   r   r   c                      dS r   r   r   r   r
   method2zWTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IBase.method2   r   r   Nr   r   r   r   r   r   r   r
   IBaser      s2                      r   r   c                   T    e Zd ZdZ  d          Z  dd          Zd Zd Zd ZdS )	RTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IDerivedIDerived docattr1attr2	attr2 docc                      dS zmethod3 docNr   r   r   r
   method3zZTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IDerived.method3   r   r   c                      d S r^   r   r   r   r
   method4zZTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IDerived.method4   r`   r   c                      dS zmethod5 docNr   r   r   r
   method5zZTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IDerived.method5  r   r   N	r   r   r   r,   r   r   r   r   r   rB   s   r
   r   r      g        NIg&&EIg{33E        r   r   rL   r   r   r"   r   r   rC   s        @r
   *test_asStructuredText_derived_ignores_basez@Test_asStructuredText.test_asStructuredText_derived_ignores_base   s    ,,,,,,,,,,,,;;  
  
  
  	  	  	  	  	 I 	  	  	 	 	 	 	 	 	 	u 	 	 	 	x00(;;;;;r   N)r   r   r   r   r#   r/   r@   rN   rU   rd   rm   rt   r{   r   r   r   r   r
   r   r      s        ' ' '@ @ @: : : : : :>A A A&A A A(> > >&> > >&> > >&> > >&> > >('< '< '< '< '<r   r   c                   V    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd ZdS )Test_asReStructuredTextc                 $    ddl m}  ||          S )Nr   )asReStructuredText)r   r   )r   r	   r   s      r
   r   z Test_asReStructuredText._callFUT
  s%    >>>>>>!!%(((r   c                     ddl m} d                    g d          } G d d|          }|                     |                     |          |           d S )Nr   r   r   )z``INoDocstring``r   r   r   c                       e Zd ZdS )RTest_asReStructuredText.test_asReStructuredText_no_docstring.<locals>.INoDocstringNr   r   r   r
   r   r     r   r   r   r   r!   s       r
   $test_asReStructuredText_no_docstringz<Test_asReStructuredText.test_asReStructuredText_no_docstring  r$   r   c                     ddl m} d                    g d          } G d d|          }|                     |                     |          |           d S )Nr   r   r   )
``IEmpty``r'   r   r   r   c                       e Zd ZdZdS )TTest_asReStructuredText.test_asReStructuredText_empty_with_docstring.<locals>.IEmptyr*   Nr+   r   r   r
   r&   r   &  r-   r   r&   r   r.   s       r
   ,test_asReStructuredText_empty_with_docstringzDTest_asReStructuredText.test_asReStructuredText_empty_with_docstring  r0   r   c                     ddl m} t          j        dk     rdnd}d                    dddd	| d
| dddddddg          } G d d|          }|                     |                     |          |           d S )Nr   r   r2   r5   r   r6   r   r'   r7   z; It can be used to annotate any class or object, because itz promises nothing.r   r   c                       e Zd ZdZdS )^Test_asReStructuredText.test_asReStructuredText_empty_with_multiline_docstring.<locals>.IEmptyz 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   C  r:   r   r&   r;   r>   s        r
   6test_asReStructuredText_empty_with_multiline_docstringzNTest_asReStructuredText.test_asReStructuredText_empty_with_multiline_docstring,  s    ,,,,,, !-77R99*    )))
  "	 	 	 	 	Y 	 	 	 	v..99999r   c                     ddl m ddl m} d                    g d          } G fdd|          }|                     |                     |          |           d S )Nr   rB   r   r   )``IHasAttribute``rE   r   z&  ``an_attribute`` -- no documentationr   r   c                   *    e Zd ZdZ  d          ZdS )bTest_asReStructuredText.test_asReStructuredText_with_attribute_no_docstring.<locals>.IHasAttributerH   rI   NrJ   rB   s   r
   rD   r   X  rK   r   rD   rL   rM   s       @r
   3test_asReStructuredText_with_attribute_no_docstringzKTest_asReStructuredText.test_asReStructuredText_with_attribute_no_docstringL  rO   r   c                     ddl m ddl m} d                    g d          } G fdd|          }|                     |                     |          |           d S )Nr   rB   r   r   )r   rE   r   z3  ``an_attribute`` -- This attribute is documented.r   r   c                   ,    e Zd ZdZ  dd          ZdS )dTest_asReStructuredText.test_asReStructuredText_with_attribute_with_docstring.<locals>.IHasAttributerH   rI   rS   NrJ   rB   s   r
   rD   r   k  rT   r   rD   rL   rM   s       @r
   5test_asReStructuredText_with_attribute_with_docstringzMTest_asReStructuredText.test_asReStructuredText_with_attribute_with_docstring_  rV   r   c                     ddl m} d                    g d          } G d d|          }|                     |                     |          |           d S )Nr   r   r   )``IHasMethod``rY   r   r   z#  ``aMethod()`` -- no documentationr   c                       e Zd ZdZd ZdS )dTest_asReStructuredText.test_asReStructuredText_with_method_no_args_no_docstring.<locals>.IHasMethodr\   c                      d S r^   r   r   r   r
   r_   zlTest_asReStructuredText.test_asReStructuredText_with_method_no_args_no_docstring.<locals>.IHasMethod.aMethod  r`   r   Nra   r   r   r
   rX   r   ~  rb   r   rX   r   rc   s       r
   8test_asReStructuredText_with_method_no_args_no_docstringzPTest_asReStructuredText.test_asReStructuredText_with_method_no_args_no_docstrings  re   r   c                     ddl m} d                    g d          } G d d|          }|                     |                     |          |           d S )Nr   r   r   )r   rY   r   r   z0  ``aMethod(first, second)`` -- no documentationr   c                       e Zd ZdZd ZdS )lTest_asReStructuredText.test_asReStructuredText_with_method_positional_args_no_docstring.<locals>.IHasMethodr\   c                     d S r^   r   rj   s     r
   r_   ztTest_asReStructuredText.test_asReStructuredText_with_method_positional_args_no_docstring.<locals>.IHasMethod.aMethod  r`   r   Nra   r   r   r
   rX   r     rb   r   rX   r   rc   s       r
   @test_asReStructuredText_with_method_positional_args_no_docstringzXTest_asReStructuredText.test_asReStructuredText_with_method_positional_args_no_docstring  re   r   c                     ddl m} d                    g d          } G d d|          }|                     |                     |          |           d S )Nr   r   r   )r   rY   r   r   z7  ``aMethod(first, second, *rest)`` -- no documentationr   c                       e Zd ZdZd ZdS )eTest_asReStructuredText.test_asReStructuredText_with_method_starargs_no_docstring.<locals>.IHasMethodr\   c                     d S r^   r   rr   s      r
   r_   zmTest_asReStructuredText.test_asReStructuredText_with_method_starargs_no_docstring.<locals>.IHasMethod.aMethod  r`   r   Nra   r   r   r
   rX   r     rb   r   rX   r   rc   s       r
   9test_asReStructuredText_with_method_starargs_no_docstringzQTest_asReStructuredText.test_asReStructuredText_with_method_starargs_no_docstring  re   r   c                     ddl m} d                    g d          } G d d|          }|                     |                     |          |           d S )Nr   r   r   )r   rY   r   r   z6  ``aMethod(first, second, **kw)`` -- no documentationr   c                       e Zd ZdZd ZdS )cTest_asReStructuredText.test_asReStructuredText_with_method_kwargs_no_docstring.<locals>.IHasMethodr\   c                     d S r^   r   ry   s      r
   r_   zkTest_asReStructuredText.test_asReStructuredText_with_method_kwargs_no_docstring.<locals>.IHasMethod.aMethod  r`   r   Nra   r   r   r
   rX   r     rb   r   rX   r   rc   s       r
   7test_asReStructuredText_with_method_kwargs_no_docstringzOTest_asReStructuredText.test_asReStructuredText_with_method_kwargs_no_docstring  re   r   c                     ddl m} d                    g d          } G d d|          }|                     |                     |          |           d S )Nr   r   r   )r   rY   r   r   z-  ``aMethod()`` -- This method is documented.r   c                       e Zd ZdZd ZdS )^Test_asReStructuredText.test_asReStructuredText_with_method_with_docstring.<locals>.IHasMethodr\   c                      dS r   r   r   r   r
   r_   zfTest_asReStructuredText.test_asReStructuredText_with_method_with_docstring.<locals>.IHasMethod.aMethod  r   r   Nra   r   r   r
   rX   r     r   r   rX   r   rc   s       r
   2test_asReStructuredText_with_method_with_docstringzJTest_asReStructuredText.test_asReStructuredText_with_method_with_docstring  r   r   c                     ddl m ddl m} d                    g d          } G d d|          } G fdd	|          }|                     |                     |          |           d S )
Nr   rB   r   r   )z``IDerived``r   r   z  o ``IBase``r   z  ``attr1`` -- no documentationz  ``attr2`` -- attr2 docr   z  ``method3()`` -- method3 docz#  ``method4()`` -- no documentationz  ``method5()`` -- method5 docr   c                       e Zd Zd Zd ZdS )STest_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IBasec                      d S r^   r   r   r   r
   r   z[Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IBase.method1  r`   r   c                      d S r^   r   r   r   r
   r   z[Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IBase.method2  r`   r   Nr   r   r   r
   r   r     s2              r   r   c                   T    e Zd ZdZ  d          Z  dd          Zd Zd Zd ZdS )	VTest_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IDerivedr   r   r   r   c                      dS r   r   r   r   r
   r   z^Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IDerived.method3  r   r   c                      d S r^   r   r   r   r
   r   z^Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IDerived.method4  r`   r   c                      dS r   r   r   r   r
   r   z^Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IDerived.method5  r   r   Nr   rB   s   r
   r   r     r   r   r   rL   r   s        @r
   ,test_asReStructuredText_derived_ignores_basezDTest_asReStructuredText.test_asReStructuredText_derived_ignores_base  s    ,,,,,,,,,,,,;;  
  
  
  	 	 	 	 	I 	 	 		 	 	 	 	 	 	u 	 	 	 	x00(;;;;;r   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r   r     s        ) ) )@ @ @: : : : : :@A A A&A A A(> > >&> > >&> > >&> > >&> > >('< '< '< '< '<r   r   c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )Test__justify_and_indentc                 "    ddl m}  |||fi |S )Nr   )_justify_and_indent)r   r   )r   textlevelrz   r   s        r
   r   z!Test__justify_and_indent._callFUT  s/    ??????""455"555r   c                     ddg}d                     |          }|                     |                     |d          |           d S )NThree blind miceSee how they runr6   r   r   r    r   r   LINESr   s      r
   test_simple_level_0z,Test__justify_and_indent.test_simple_level_0  sH    #%78yytQ//66666r   c                     ddg}d                     |          }|                     |                     |d          d                     d |D                                  d S )Nr   r   r6      c                     g | ]}d |z   S r7   r   .0lines     r
   
<listcomp>z@Test__justify_and_indent.test_simple_level_1.<locals>.<listcomp>      #A#A#A4C$J#A#A#Ar   r   r   s      r
   test_simple_level_1z,Test__justify_and_indent.test_simple_level_1  s    #%78yytQ//#A#A5#A#A#ABB	D 	D 	D 	D 	Dr   c                     ddg}d                     |          }|                     |                     |d          d                     d |D                                  d S )Nr   r   r6   r   c                     g | ]}d |z   S r   r   r   s     r
   r   z@Test__justify_and_indent.test_simple_level_2.<locals>.<listcomp>  r   r   r   r   s      r
   test_simple_level_2z,Test__justify_and_indent.test_simple_level_2  r   r   c                     ddg}d                     |          }|                     |                     |d          d                     d |D                                  d S )Nr   r   z
r   r6   c                     g | ]}d |z   S r   r   r   s     r
   r   z?Test__justify_and_indent.test_simple_w_CRLF.<locals>.<listcomp>  r   r   r   r   s      r
   test_simple_w_CRLFz+Test__justify_and_indent.test_simple_w_CRLF  ss    #%78{{5!!tQ//#A#A5#A#A#ABB	D 	D 	D 	D 	Dr   c                 h    d}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"   s      r
   test_with_mungez(Test__justify_and_indent.test_with_munge  sB    3 	tQarBBHMMMMMr   N)	r   r   r   r   r   r   r   r  r  r   r   r
   r   r     s|        6 6 67 7 7
D D DD D DD D D	N 	N 	N 	N 	Nr   r   )r,   r<   unittestTestCaser   r   r   r   r   r
   <module>r
     s     



 q< q< q< q< q<H- q< q< q<hr< r< r< r< r<h/ r< r< r<j&N &N &N &N &Nx0 &N &N &N &N &Nr   