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                   @   s0   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
S )ÚEmptyNodeListTestCasez"Tests for the EmptyNodeList class.c                 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__Ú__doc__r   r   r   r   r   r   r   r   r      s    r   c                   @   sH   e Zd 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 )ÚNodeListTestCasezTests for the NodeList class.c                 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   Úcopyr0   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   r3   Údeepcopyr0   r   r"   r4   r5   r   r   r   Útest_nodelist_deepcopyx   s   

þz'NodeListTestCase.test_nodelist_deepcopyN)r   r   r   r    r#   r$   r(   r*   r2   r8   r:   r   r   r   r   r!   +   s    r!   Ú__main__)r3   r,   ZunittestZxml.domr   Zxml.dom.minicompatZTestCaser   r!   r   Úmainr   r   r   r   Ú<module>   s    ^ÿ