o
    IXîhº  ã                   @   sd   d dl Z d dlZd dlZd dlZd dlT G dd„ dejƒZG dd„ dejƒZe	dkr0e 
¡  dS dS )é    N)Ú*c                   @   s.   e Zd Z	 dd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚEmptyNodeListTestCasec                 C   s   t ƒ }|  | d¡¡ |  | d¡¡ |  t¡ |d  W d   ƒ n1 s'w   Y  |  t¡ |d  W d   ƒ d S 1 sAw   Y  d S )Nr   éÿÿÿÿ)ÚEmptyNodeListÚassertIsNoneÚitemÚassertRaisesÚ
IndexError©ÚselfÚ	node_list© r   úF/opt/python-3.10.19/usr/lib/python3.10/test/test_xml_dom_minicompat.pyÚtest_emptynodelist_item   s   
ÿ
"ÿz-EmptyNodeListTestCase.test_emptynodelist_itemc                 C   sN   t ƒ }|  |jd¡ |  tjj¡ d|_W d   ƒ d S 1 s w   Y  d S )Nr   éo   )r   ÚassertEqualÚlengthr   ÚxmlÚdomÚNoModificationAllowedErrr
   r   r   r   Útest_emptynodelist_length   s
   "ÿz/EmptyNodeListTestCase.test_emptynodelist_lengthc                 C   s   t ƒ tƒ  }|  |tƒ ¡ d S )N)r   ÚNodeListr   r
   r   r   r   Útest_emptynodelist___add__"   s   z0EmptyNodeListTestCase.test_emptynodelist___add__c                 C   s"   ddgt ƒ  }|  |ddg¡ d S ©Né   é   )r   r   r
   r   r   r   Útest_emptynodelist___radd__&   s   z1EmptyNodeListTestCase.test_emptynodelist___radd__N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r      s    r   c                   @   sF   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S )ÚNodeListTestCasec                 C   sä   t ƒ }|  | d¡¡ |  | d¡¡ |  t¡ |d  W d   ƒ n1 s'w   Y  |  t¡ |d  W d   ƒ n1 s@w   Y  | d¡ | d¡ |  | d¡d¡ |  | d¡¡ |  |d d¡ |  |d d¡ d S )Nr   r   r   iç  )r   r   r   r   r	   Úappendr   r
   r   r   r   Útest_nodelist_item.   s   
ÿ
ÿ

z#NodeListTestCase.test_nodelist_itemc                 C   sT   t ddgƒ}|  |jd¡ |  tjj¡ d|_W d   ƒ d S 1 s#w   Y  d S )Nr   r   r   )r   r   r   r   r   r   r   r
   r   r   r   Útest_nodelist_lengthE   s
   "ÿz%NodeListTestCase.test_nodelist_lengthc                 C   s,   t ddgƒddg }|  |t g d¢ƒ¡ d S )Né   é   r   r   )r$   r%   r   r   ©r   r   r
   r   r   r   Útest_nodelist___add__M   ó   z&NodeListTestCase.test_nodelist___add__c                 C   s,   ddgt ddgƒ }|  |t g d¢ƒ¡ d S )Nr   r   r$   r%   )r   r   r$   r%   r&   r
   r   r   r   Útest_nodelist___radd__Q   r(   z'NodeListTestCase.test_nodelist___radd__c                 C   sŽ   t tjd ƒD ]=}tƒ }t ||¡}t |¡}|  ||¡ |  ||¡ | d¡ | d¡ t ||¡}t |¡}|  ||¡ |  ||¡ qd S r   )	ÚrangeÚpickleÚHIGHEST_PROTOCOLr   ÚdumpsÚloadsÚassertIsNotr   r!   )r   Úprotor   ZpickledZ	unpickledr   r   r   Útest_nodelist_pickle_roundtripU   s   



òz/NodeListTestCase.test_nodelist_pickle_roundtripc                 C   s†   t ƒ }t |¡}|  ||¡ |  ||¡ | dg¡ | dg¡ t |¡}|  ||¡ |  ||¡ t||ƒD ]
\}}|  ||¡ q6d S r   )r   Úcopyr/   r   r!   ÚzipZassertIs©r   r   ZcopiedÚxÚyr   r   r   Útest_nodelist_copyh   s   

ÿz#NodeListTestCase.test_nodelist_copyc                 C   s’   t ƒ }t |¡}|  ||¡ |  ||¡ | dg¡ | dg¡ t |¡}|  ||¡ |  ||¡ t||ƒD ]\}}|  ||¡ |  ||¡ q6d S r   )r   r2   Údeepcopyr/   r   r!   r3   r4   r   r   r   Útest_nodelist_deepcopyx   s   

þz'NodeListTestCase.test_nodelist_deepcopyN)
r   r   r   r"   r#   r'   r)   r1   r7   r9   r   r   r   r   r    +   s    r    Ú__main__)r2   r+   ZunittestZxml.domr   Zxml.dom.minicompatZTestCaser   r    r   Úmainr   r   r   r   Ú<module>   s    ^ÿ