
    dafY%                     H   d dl Z d dlZd dlmZ d dlmZ d dlZd dlZ eddg      Z edddgd	
      Z	 ej                  ed       G d dej                               Z ej                  ed       G d dej                               Z ej                  ed      ej                   G d dej                                      Z ej                  ed      ej                   G d dej                                      Zd Z e        d Zedk(  r ej(                          yy)    N)support)import_fresh_modulezxml.etree.ElementTree_elementtree)freshzxml.etree.cElementTreez	xml.etreeT)r   
deprecatedzrequires _elementtreec                       e Zd Z ej                  ej
                  dz   dd      d        Zd Zd Zd Z	d	 Z
ej                  d
        Zd Zd Zd Zd Zej                  d        Zej                  d        Zy)	MiscTestsd      F)sizememusedry_runc                     d|z  }t         j                         }	 | j                  t        |j                  |       d }y # d }w xY w)N   x)cET	XMLParserassertRaisesOverflowErrorfeed)selfr   dataparsers       0/root/Python-3.12.4/Lib/test/test_xml_etree_c.pytest_length_overflowzMiscTests.test_length_overflow   s<    d{	mV[[$?D4Ds	   !? Ac                 f   t         j                  d      }d|_        | j                  t              5  |`d d d        | j                  |j                  d       | j                  t              5  |`d d d        | j                  |j                         d|_        | j                  t              5  |`d d d        | j                  |j                  d       | j                  t              5  |`d d d        | j                  |j                         d|_        | j                  t              5  |`d d d        | j                  |j                  d       | j                  t              5  |`	d d d        | j                  |j                  i        ddd|_	        | j                  t              5  |`	d d d        | j                  |j                  ddd       y # 1 sw Y   xY w# 1 sw Y   yxY w# 1 sw Y   DxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   uxY w)NtagTAGTEXTTAILBD)AC)
r   Elementr   r   AttributeErrorassertEqualtextassertIsNonetailattrib)r   elements     r   test_del_attributezMiscTests.test_del_attribute   s   ++e$~. 		e,~. 		',,'~. 		v.~. 		',,'~. 		v.~. 		,"-~. 		s)=>5	 		 		 		 		 		 		 	sS   G.G(0G5,H.H*H0H'G%(G25G?HHH$'H0c                     t         j                  d      x}}t        d      D ]  }t         j                  |d      } ~~t	        j
                          y )Nrooti@ x)r   r$   range
SubElementr   
gc_collect)r   er.   is       r   test_trashcanzMiscTests.test_trashcan<   sJ    ;;v&&Dv 	'Aq#&A	'    c                 @    d } |        t        j                          y )Nc                  h    t         j                         } 	 t        # t        $ r}|}Y d }~y d }~ww xY wN)r   r   
ValueError)r   excerrs      r   parser_ref_cyclez9MiscTests.test_parser_ref_cycle.<locals>.parser_ref_cycleJ   s-    ]]_F   s    	1,1)r   r2   )r   r=   s     r   test_parser_ref_cyclezMiscTests.test_parser_ref_cycleE   s    
	 	 	r6   c                    t         j                  d       G fdd      } |       _        j                           |       _        j                           |       _         |       _        j                           |       _         |       _        j                           |       _        j                  ddi       j                           |       _        j                  ddi       y )Nelemc                       e Zd Z fdZy)#MiscTests.test_bpo_31728.<locals>.Xc                 V    j                    j                   j                          y r9   )r'   r)   clear)r   r@   s    r   __del__z+MiscTests.test_bpo_31728.<locals>.X.__del___   s    				

r6   N)__name__
__module____qualname__rE   )r@   s   r   XrB   ^   s    r6   rI   r   *   )r   r$   r'   rD   r)   __setstate__)r   rI   r@   s     @r   test_bpo_31728zMiscTests.test_bpo_31728Y   s     {{6"	 	 C	

C	

C	C	

C	C	

C	5"+&

C	5"+&r6   c                    t         j                  j                  t         j                        }| j                  t        |j
                         | j                  t        |j                  d        G d d      }| j                  t        |j                   |              | j                  t        |j                  d        | j                  |j                         | j                  |j                         y )Nfooc                       e Zd Zd Zy)5MiscTests.test_uninitialized_parser.<locals>.MockFilec                       y)N  )argss    r   readz:MiscTests.test_uninitialized_parser.<locals>.MockFile.read   s    r6   N)rF   rG   rH   rU   rS   r6   r   MockFilerP      s    r6   rV   )r   r   __new__r   r:   closer   _parse_whole
_seteventsr(   entitytarget)r   r   rV   s      r   test_uninitialized_parserz#MiscTests.test_uninitialized_parsery   s     &&s}}5*fll3*fkk59	 	 	*f&9&98:F*f&7&7>&--(&--(r6   c           	      \   t         j                  j                  t         j                        }t        d      D ]/  }|j	                  dddit         j                  d      gddd       1 | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  t        |j                  j                               d	g       | j                  t        |      d
       | j                  |d   j                  d       y )Nr
   rN   barrJ   childztext goes herezopposite of head)r   r*   	_childrenr'   r)   )r_   rJ   r   r   )r   r$   rW   r0   rK   r&   r   r'   r)   listr*   itemslen)r   r@   r4   s      r   test_setstate_leakszMiscTests.test_setstate_leaks   s    {{""3;;/s 	<Aer{-0[[-A,B'7'9; <	< 	5)$45$67dkk//12[MBTA&ag.r6   c                     d}t         j                  t        j                  |            }t	        |       ~t        j                          y Nz<a></a></b>)r   	iterparseioStringIOnextr   r2   r   XMLr   s      r   test_iterparse_leakszMiscTests.test_iterparse_leaks   s6     r{{3/0Vr6   c                 |    d}t         j                         }|j                  |       ~t        j                          y rg   )r   XMLPullParserr   r   r2   rl   s      r   test_xmlpullparser_leaksz"MiscTests.test_xmlpullparser_leaks   s2     ""$Cr6   c                      G fdd      }t         j                  dddi      j                   |             }| j                  |       y )Nc                       e Zd Z fdZy);MiscTests.test_dict_disappearing_during_get_item.<locals>.Xc                 T    i _         t        d      D cg c]  }||i c} yc c}w )Ni     )r*   r0   )r   r4   r3   s     r   __hash__zDMiscTests.test_dict_disappearing_during_get_item.<locals>.X.__hash__   s(    !&t-A!Q- .s   %N)rF   rG   rH   rw   )r3   s   r   rI   rt      s    r6   rI   r@   r      )r   r$   getr(   )r   rI   rr3   s      @r   &test_dict_disappearing_during_get_itemz0MiscTests.test_dict_disappearing_during_get_item   s@    	 	 KKA'EE!#J!r6   c                 |   t         j                  d      }t         j                  t         j                  t         j                  t        |j                               f}|D ]C  }| j                  |      5  | j                  t        d      5  d|_
        d d d        d d d        E y # 1 sw Y   xY w# 1 sw Y   \xY w)N<a></a>)tp	immutabler   )r   
fromstringr$   TreeBuilderr   typeitersubTestassertRaisesRegex	TypeErrorrN   )r   r.   datasetr~   s       r   test_immutable_typeszMiscTests.test_immutable_types   s    ~~i(KKOOMM	
  	B$ ++I{C BF 	  s$   4B2B&B2&B/+B22B;	c                     t         j                  d      }t        |j                               }t	        j
                  | |       y )Nr}   )r   r   r   r   r   check_disallow_instantiation)r   r.   	iter_types      r   test_disallow_instantiationz%MiscTests.test_disallow_instantiation   s0    ~~i(%	,,T9=r6   N)rF   rG   rH   r   
bigmemtest_2Gr   r,   r5   r>   rL   cpython_onlyr]   re   rn   rq   r{   r   r   rS   r6   r   r	   r	      s     WW[[3.q%H I?@('@ ) )/ 
   > >r6   r	   c                       e Zd Zd Zy)TestAliasWorkingc                 f    t         j                  d      }| j                  |j                  d       y )NrN   )	cET_aliasr$   r&   r   r   r3   s     r   test_alias_workingz#TestAliasWorking.test_alias_working   s&    e$&r6   N)rF   rG   rH   r   rS   r6   r   r   r      s    'r6   r   c                       e Zd Zd Zd Zd Zy)TestAcceleratorImportedc                 X    | j                  t        j                  j                  d       y Nr   )r&   r   r1   rG   r   s    r   test_correct_import_cETz/TestAcceleratorImported.test_correct_import_cET   s    22NCr6   c                 X    | j                  t        j                  j                  d       y r   )r&   r   r1   rG   r   s    r   test_correct_import_cET_aliasz5TestAcceleratorImported.test_correct_import_cET_alias   s    --88.Ir6   c                 t    | j                  t        j                  j                  t        j
                         y r9   )assertNotIsInstancer   r$   __init__typesFunctionTyper   s    r   test_parser_comes_from_Cz0TestAcceleratorImported.test_parser_comes_from_C   s$     	  !5!5u7I7IJr6   N)rF   rG   rH   r   r   r   rS   r6   r   r   r      s    DJKr6   r   c                   <    e Zd Zd Zej
                  Zd Zd Zd Zy)
SizeofTestc                 l    t        j                  d      | _        t        j                  d      | _        y )N5PPnnP4P)r   calcobjsizeelementsizestructcalcsizeextrar   s    r   setUpzSizeofTest.setUp   s%    "..t4__X.
r6   c                 f    t         j                  d      }| j                  || j                         y )Na)r   r$   check_sizeofr   r   s     r   test_elementzSizeofTest.test_element   s&    KK!T--.r6   c                     t         j                  dd      }| j                  || j                  | j                  z          y )Nr   zabout:)href)r   r$   r   r   r   r   s     r   test_element_with_attribz#SizeofTest.test_element_with_attrib   s3    KK(K+!T--

:;r6   c                     t         j                  d      }t        d      D ]  }t         j                  |d        | j	                  || j
                  | j                  z   t        j                  d      z          y )Nr      span8P)	r   r$   r0   r1   r   r   r   r   r   )r   r3   r4   s      r   test_element_with_childrenz%SizeofTest.test_element_with_children   se    KKq 	&ANN1f%	& 	!T--

:#__T23 	4r6   N)	rF   rG   rH   r   r   r   r   r   r   rS   r6   r   r   r      s#    /
 ''L/<4r6   r   c                  (   ddl m}  t        |       j                         D ]p  \  }}t	        |t
              st        |t        j                        s2 G d d|      }|x|_	        |_
        t        |_        |t               vsJ |t               |<   r y )Nr   test_xml_etreec                       e Zd Zy)install_tests.<locals>.TempN)rF   rG   rH   rS   r6   r   Tempr     s    r6   r   )testr   varsrc   
isinstancer   
issubclassunittestTestCaserF   rH   rG   globals)r   namebaser   s       r   install_testsr     s|    #>*002 #
ddD!jx7H7H&It 044DMD-&DOwy((("GIdO#r6   c                  <    ddl m}  | j                  t               y )Nr   r   )module)r   r   setUpModuler   r   s    r   r   r     s    #c*r6   __main__)ri   r   r   r   test.support.import_helperr   r   r   r   r   
skipUnlessr   r	   r   r   r   r   r   r   rF   mainrS   r6   r   <module>r      sT   	   :  1!/ 02 8'5{&C+/1	
 S12y>!! y> 3y>x S12'x(( ' 3' S12Kh// K  3K  S124"" 4  342
# +
 zHMMO r6   