
    w:ip                         d dl Z d dlZd dlmZmZ d dlmZmZmZ d dl	m
Z
  G d dej                  Zd Zedk    r ej        d	
           dS dS )    N)Elementtag)AttrsMarkupStream)XMLc                   ,    e Zd Zd Zd Zd Zd Zd ZdS )ElementFactoryTestCasec                     t          j        dd           d          }t          |                                          }|                     t
          j        dt          dg          fdf|d                    |                     t
          j        ddf|d                    |                     t
          j	        ddf|d	                    d S )
N#)href	accesskeyBara)r   r   Nr   r         
r   r   listgenerateassertEqualr   STARTr   TEXTENDselflinkeventss      Q/var/www/html/trac/venv/lib/python3.11/site-packages/genshi/tests/test_builder.py	test_linkz ElementFactoryTestCase.test_link   s    .su#...u55dmmoo&&&,}o 6 67(*+1!9	6 	6 	6 	&+un=vayIII&*c>:F1IFFFFF    c                     t          t          j        d                    }|                     t          j        dt          dg          fdf|d                    dS )z
        Verify that if an attribute value is given as an int (or some other
        non-string type), it is coverted to a string when the stream is
        generated.
           )idfoo)r%   3r   r   N)r   r   r&   r   r   r   r   r   r   s     r    test_nonstring_attributesz0ElementFactoryTestCase.test_nonstring_attributes!   sa     cgmmm$$&,{m0D0D(E(*+1!9	6 	6 	6 	6 	6r"   c                     t          j        dd          d          }t          |                                          }|                     t
          j        dt          dg          fdf|d                    |                     t
          j        ddf|d                    |                     t
          j	        ddf|d	                    d S )
N#1)r   href_r   r   )r   r+   r   r   r   r   r   r   s      r    test_duplicate_attributesz0ElementFactoryTestCase.test_duplicate_attributes+   s    +su$d+++E22dmmoo&&&,e^4D.E.E(F')*0)	5 	5 	5&+un=vayIII&*c>:F1IFFFFFr"   c                    t          t          j        t          d                                                              }|                     dt          |                     |                     t          j        df|d         d d                    |                     t          j        df|d         d d                    |                     t          j	        df|d         d d                    |                     t          j
        d	f|d
         d d                    |                     t          j
        df|d         d d                    d S )Nz
<b>Foo</b>   )span r   r   )br1   r   Foor2   r$   r0      )r   r   r0   r   r   r   lenr   r   r   r   r(   s     r    test_stream_as_childz+ElementFactoryTestCase.test_stream_as_child3   s   chs<0011::<<==CKK(((&,5vay!}EEE&,	2F1IbqbMBBB&+u-vay!}===&*c*F1IbqbM:::&*f-vay!}=====r"   c                     t          d          t          j        dd          z  }|                     |t          d                     d S )NzSee %sgenshizhttp://genshi.edgwall.org)r   z2See <a href="http://genshi.edgwall.org">genshi</a>)r   r   r   r   )r   ms     r    test_markup_escapez)ElementFactoryTestCase.test_markup_escape<   se    8suX*E G  G  G GF $0 1 1 	2 	2 	2 	2 	2r"   N)__name__
__module____qualname__r!   r)   r-   r6   r:   r1   r"   r    r
   r
      se        G G G6 6 6G G G> > >2 2 2 2 2r"   r
   c                      t          j                    } |                     t          j        t
          j                             |                     t           j                            t                               | S )N)
unittest	TestSuiteaddTestdoctestDocTestSuiter   r<   defaultTestLoaderloadTestsFromTestCaser
   )suites    r    rF   rF   C   sY      E	MM'&w'9::;;;	MM(,BBCYZZ[[[Lr"   __main__rF   )defaultTest)rB   r?   genshi.builderr   r   genshi.corer   r   r   genshi.inputr   TestCaser
   rF   r;   mainr1   r"   r    <module>rN      s      ' ' ' ' ' ' ' ' - - - - - - - - - -      *2 *2 *2 *2 *2X. *2 *2 *2Z   zHMg&&&&&& r"   