Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.10/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.10/test/__pycache__/test_plistlib.cpython-310.pyc
o

�9jf��@s&ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZddl
mZddlmZddlmZejejfZeje	�d�eje	�d�de	�d	�iZd
Zgd�ZGdd
�d
ej�ZGdd�dej�ZGdd�dej�ZGdd�dej�Zedkr�e��dSdS)�N)�support)�	os_helper)�BytesIO)�UIDs�

        PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NU
        WVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VO
        IiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4w
        LmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+YUJp
        Z0ludDwva2V5PgoJPGludGVnZXI+OTIyMzM3MjAzNjg1NDc3NTc2NDwvaW50
        ZWdlcj4KCTxrZXk+YUJpZ0ludDI8L2tleT4KCTxpbnRlZ2VyPjkyMjMzNzIw
        MzY4NTQ3NzU4NTI8L2ludGVnZXI+Cgk8a2V5PmFEYXRlPC9rZXk+Cgk8ZGF0
        ZT4yMDA0LTEwLTI2VDEwOjMzOjMzWjwvZGF0ZT4KCTxrZXk+YURpY3Q8L2tl
        eT4KCTxkaWN0PgoJCTxrZXk+YUZhbHNlVmFsdWU8L2tleT4KCQk8ZmFsc2Uv
        PgoJCTxrZXk+YVRydWVWYWx1ZTwva2V5PgoJCTx0cnVlLz4KCQk8a2V5PmFV
        bmljb2RlVmFsdWU8L2tleT4KCQk8c3RyaW5nPk3DpHNzaWcsIE1hw588L3N0
        cmluZz4KCQk8a2V5PmFub3RoZXJTdHJpbmc8L2tleT4KCQk8c3RyaW5nPiZs
        dDtoZWxsbyAmYW1wOyAnaGknIHRoZXJlISZndDs8L3N0cmluZz4KCQk8a2V5
        PmRlZXBlckRpY3Q8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5hPC9rZXk+CgkJ
        CTxpbnRlZ2VyPjE3PC9pbnRlZ2VyPgoJCQk8a2V5PmI8L2tleT4KCQkJPHJl
        YWw+MzIuNTwvcmVhbD4KCQkJPGtleT5jPC9rZXk+CgkJCTxhcnJheT4KCQkJ
        CTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8aW50ZWdlcj4yPC9pbnRlZ2Vy
        PgoJCQkJPHN0cmluZz50ZXh0PC9zdHJpbmc+CgkJCTwvYXJyYXk+CgkJPC9k
        aWN0PgoJPC9kaWN0PgoJPGtleT5hRmxvYXQ8L2tleT4KCTxyZWFsPjAuNTwv
        cmVhbD4KCTxrZXk+YUxpc3Q8L2tleT4KCTxhcnJheT4KCQk8c3RyaW5nPkE8
        L3N0cmluZz4KCQk8c3RyaW5nPkI8L3N0cmluZz4KCQk8aW50ZWdlcj4xMjwv
        aW50ZWdlcj4KCQk8cmVhbD4zMi41PC9yZWFsPgoJCTxhcnJheT4KCQkJPGlu
        dGVnZXI+MTwvaW50ZWdlcj4KCQkJPGludGVnZXI+MjwvaW50ZWdlcj4KCQkJ
        PGludGVnZXI+MzwvaW50ZWdlcj4KCQk8L2FycmF5PgoJPC9hcnJheT4KCTxr
        ZXk+YU5lZ2F0aXZlQmlnSW50PC9rZXk+Cgk8aW50ZWdlcj4tODAwMDAwMDAw
        MDA8L2ludGVnZXI+Cgk8a2V5PmFOZWdhdGl2ZUludDwva2V5PgoJPGludGVn
        ZXI+LTU8L2ludGVnZXI+Cgk8a2V5PmFTdHJpbmc8L2tleT4KCTxzdHJpbmc+
        RG9vZGFoPC9zdHJpbmc+Cgk8a2V5PmFuRW1wdHlEaWN0PC9rZXk+Cgk8ZGlj
        dC8+Cgk8a2V5PmFuRW1wdHlMaXN0PC9rZXk+Cgk8YXJyYXkvPgoJPGtleT5h
        bkludDwva2V5PgoJPGludGVnZXI+NzI4PC9pbnRlZ2VyPgoJPGtleT5uZXN0
        ZWREYXRhPC9rZXk+Cgk8YXJyYXk+CgkJPGRhdGE+CgkJUEd4dmRITWdiMlln
        WW1sdVlYSjVJR2QxYm1zK0FBRUNBenhzYjNSeklHOW1JR0pwYm1GeWVTQm5k
        VzVyCgkJUGdBQkFnTThiRzkwY3lCdlppQmlhVzVoY25rZ1ozVnVhejRBQVFJ
        RFBHeHZkSE1nYjJZZ1ltbHVZWEo1CgkJSUdkMWJtcytBQUVDQXp4c2IzUnpJ
        RzltSUdKcGJtRnllU0JuZFc1clBnQUJBZ004Ykc5MGN5QnZaaUJpCgkJYVc1
        aGNua2daM1Z1YXo0QUFRSURQR3h2ZEhNZ2IyWWdZbWx1WVhKNUlHZDFibXMr
        QUFFQ0F6eHNiM1J6CgkJSUc5bUlHSnBibUZ5ZVNCbmRXNXJQZ0FCQWdNOGJH
        OTBjeUJ2WmlCaWFXNWhjbmtnWjNWdWF6NEFBUUlECgkJUEd4dmRITWdiMlln
        WW1sdVlYSjVJR2QxYm1zK0FBRUNBdz09CgkJPC9kYXRhPgoJPC9hcnJheT4K
        CTxrZXk+c29tZURhdGE8L2tleT4KCTxkYXRhPgoJUEdKcGJtRnllU0JuZFc1
        clBnPT0KCTwvZGF0YT4KCTxrZXk+c29tZU1vcmVEYXRhPC9rZXk+Cgk8ZGF0
        YT4KCVBHeHZkSE1nYjJZZ1ltbHVZWEo1SUdkMWJtcytBQUVDQXp4c2IzUnpJ
        RzltSUdKcGJtRnllU0JuZFc1clBnQUJBZ004CgliRzkwY3lCdlppQmlhVzVo
        Y25rZ1ozVnVhejRBQVFJRFBHeHZkSE1nYjJZZ1ltbHVZWEo1SUdkMWJtcytB
        QUVDQXp4cwoJYjNSeklHOW1JR0pwYm1GeWVTQm5kVzVyUGdBQkFnTThiRzkw
        Y3lCdlppQmlhVzVoY25rZ1ozVnVhejRBQVFJRFBHeHYKCWRITWdiMllnWW1s
        dVlYSjVJR2QxYm1zK0FBRUNBenhzYjNSeklHOW1JR0pwYm1GeWVTQm5kVzVy
        UGdBQkFnTThiRzkwCgljeUJ2WmlCaWFXNWhjbmtnWjNWdWF6NEFBUUlEUEd4
        dmRITWdiMllnWW1sdVlYSjVJR2QxYm1zK0FBRUNBdz09Cgk8L2RhdGE+Cgk8
        a2V5PsOFYmVucmFhPC9rZXk+Cgk8c3RyaW5nPlRoYXQgd2FzIGEgdW5pY29k
        ZSBrZXkuPC9zdHJpbmc+CjwvZGljdD4KPC9wbGlzdD4Ks\
        YnBsaXN0MDDfEBABAgMEBQYHCAkKCwwNDg8QERITFCgpLzAxMjM0NTc2OFdh
        QmlnSW50WGFCaWdJbnQyVWFEYXRlVWFEaWN0VmFGbG9hdFVhTGlzdF8QD2FO
        ZWdhdGl2ZUJpZ0ludFxhTmVnYXRpdmVJbnRXYVN0cmluZ1thbkVtcHR5RGlj
        dFthbkVtcHR5TGlzdFVhbkludFpuZXN0ZWREYXRhWHNvbWVEYXRhXHNvbWVN
        b3JlRGF0YWcAxQBiAGUAbgByAGEAYRN/////////1BQAAAAAAAAAAIAAAAAA
        AAAsM0GcuX30AAAA1RUWFxgZGhscHR5bYUZhbHNlVmFsdWVaYVRydWVWYWx1
        ZV1hVW5pY29kZVZhbHVlXWFub3RoZXJTdHJpbmdaZGVlcGVyRGljdAgJawBN
        AOQAcwBzAGkAZwAsACAATQBhAN9fEBU8aGVsbG8gJiAnaGknIHRoZXJlIT7T
        HyAhIiMkUWFRYlFjEBEjQEBAAAAAAACjJSYnEAEQAlR0ZXh0Iz/gAAAAAAAA
        pSorLCMtUUFRQhAMoyUmLhADE////+1foOAAE//////////7VkRvb2RhaNCg
        EQLYoTZPEPo8bG90cyBvZiBiaW5hcnkgZ3Vuaz4AAQIDPGxvdHMgb2YgYmlu
        YXJ5IGd1bms+AAECAzxsb3RzIG9mIGJpbmFyeSBndW5rPgABAgM8bG90cyBv
        ZiBiaW5hcnkgZ3Vuaz4AAQIDPGxvdHMgb2YgYmluYXJ5IGd1bms+AAECAzxs
        b3RzIG9mIGJpbmFyeSBndW5rPgABAgM8bG90cyBvZiBiaW5hcnkgZ3Vuaz4A
        AQIDPGxvdHMgb2YgYmluYXJ5IGd1bms+AAECAzxsb3RzIG9mIGJpbmFyeSBn
        dW5rPgABAgM8bG90cyBvZiBiaW5hcnkgZ3Vuaz4AAQIDTTxiaW5hcnkgZ3Vu
        az5fEBdUaGF0IHdhcyBhIHVuaWNvZGUga2V5LgAIACsAMwA8AEIASABPAFUA
        ZwB0AHwAiACUAJoApQCuALsAygDTAOQA7QD4AQQBDwEdASsBNgE3ATgBTwFn
        AW4BcAFyAXQBdgF/AYMBhQGHAYwBlQGbAZ0BnwGhAaUBpwGwAbkBwAHBAcIB
        xQHHAsQC0gAAAAAAAAIBAAAAAAAAADkAAAAAAAAAAAAAAAAAAALs�
KEYED_ARCHIVEs~
        YnBsaXN0MDDUAQIDBAUGHB1YJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVy
        VCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVnB5dHlwZVYkY2xhc3NZTlMu
        c3RyaW5nEAGAAl8QE0tleUFyY2hpdmUgVUlEIFRlc3TTEBESExQZWiRjbGFz
        c25hbWVYJGNsYXNzZXNbJGNsYXNzaGludHNfEBdPQ19CdWlsdGluUHl0aG9u
        VW5pY29kZaQVFhcYXxAXT0NfQnVpbHRpblB5dGhvblVuaWNvZGVfEBBPQ19Q
        eXRob25Vbmljb2RlWE5TU3RyaW5nWE5TT2JqZWN0ohobXxAPT0NfUHl0aG9u
        U3RyaW5nWE5TU3RyaW5nXxAPTlNLZXllZEFyY2hpdmVy0R4fVHJvb3SAAQAI
        ABEAGgAjAC0AMgA3ADsAQQBIAE8AVgBgAGIAZAB6AIEAjACVAKEAuwDAANoA
        7QD2AP8BAgEUAR0BLwEyATcAAAAAAAACAQAAAAAAAAAgAAAAAAAAAAAAAAAA
        AAABOQ==s<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd" [
   <!ENTITY entity "replacement text">
  ]>
<plist version="1.0">
  <dict>
    <key>A</key>
    <string>&entity;</string>
  </dict>
</plist>
)()ztoo short data�)z1too large offset_table_offset and offset_size = 1s"*)z9too large offset_table_offset and nonstandard offset_sizes$,)z'integer overflow in offset_table_offsets"��������)ztoo large top_objects"	)zinteger overflow in top_objects"��������	)z)too large num_objects and offset_size = 1s"�	)z1too large num_objects and nonstandard offset_sizes$�	)z%extremally large num_objects (32 bit)s"���	)z%extremally large num_objects (64 bit)s"�����	)zinteger overflow in num_objectss"��������	)zoffset_size = 0s"	)zref_size = 0s%�
)ztoo large offsets"*	)zinteger overflow in offsets)��������	)ztoo large array sizes'��
)z$extremally large array size (32-bit)s*����)z$extremally large array size (64-bit)s.������)zinteger overflow in array sizes.���������)ztoo large reference indexs%�
)z#integer overflow in reference indexs,���������)ztoo large bytes sizes%O#A)z$extremally large bytes size (32-bit)s(O���A)z$extremally large bytes size (64-bit)s,O�����A)zinteger overflow in bytes sizes,O��������A)ztoo large ASCII sizes%_#A)z$extremally large ASCII size (32-bit)s(_���A)z$extremally large ASCII size (64-bit)s,_�����A)zinteger overflow in ASCII sizes,_��������A)z
invalid ASCIIs#Q�
)ztoo large UTF-16 sizes'o �)z%extremally large UTF-16 size (32-bit)s*oO��� �)z%extremally large UTF-16 size (64-bit)s.o����� �)zinteger overflow in UTF-16 sizes.o�������� �)zinvalid UTF-16s$a�)znon-hashable keys&��)z&too large datetime (datetime overflow)s*3BP)z'too large datetime (timedelta overflow)s*3B�)zinvalid datetime (Infinity)s*3�)zinvalid datetime (NaN)s*3�c@sveZdZdd�Zd\dd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Zd<d=�Z d>d?�Z!d@dA�Z"dBdC�Z#dDdE�Z$dFdG�Z%dHdI�Z&dJdK�Z'dLdM�Z(dNdO�Z)dPdQ�Z*dRdS�Z+dTdU�Z,dVdW�Z-dXdY�Z.dZd[�Z/dS)]�TestPlistlibcCs z	t�tj�WdSYdS�N)�os�unlinkr�TESTFN��self�r�)/usr/lib/python3.10/test/test_plistlib.py�tearDown�szTestPlistlib.tearDownNcCsrtdddddgd�gddd	d
ddtd
dddtddgd�d�d�dddgt�dddddd�t�t�d�}d|d<|S)N�Doodah�A�B�g@@@)���g�?i�l����l,���l���� �@Jz<hello & 'hi' there!>u
Mässig, MaßTF�)rr�text��a�b�c)�
anotherString�
aUnicodeValue�
aTrueValue�aFalseValue�
deeperDict�
<binary gunk>�<lots of binary gunk><lots of binary gunk><lots of binary gunk><lots of binary gunk><lots of binary gunk><lots of binary gunk><lots of binary gunk><lots of binary gunk><lots of binary gunk><lots of binary gunk>���
��!)�aString�aList�aFloat�anInt�aBigInt�aBigInt2�aNegativeInt�aNegativeBigInt�aDict�someData�someMoreData�
nestedData�aDate�anEmptyDict�anEmptyListzThat was a unicode key.uÅbenraa)�dict�datetime�list)r�fmt�plrrr�_create�s2��zTestPlistlib._createcCs0|��}|�|dd�|�|ddd�dS)Nr+rr3r#F)r?�assertEqual)rr>rrr�test_create�szTestPlistlib.test_createcCs�|��}ttjd��}t�||�Wd�n1swYttjd��
}t�|�}Wd�n1s6wY|�t|�t|��|�	t
tj|d�|�	t
tjd�dS)N�wb�rb�filename)r?�openrr�plistlib�dump�loadr@r:�assertRaises�AttributeError)rr>�fp�pl2rrr�test_io�s��zTestPlistlib.test_ioc	CsVt�g}tD]"}|j|d��|jttj||d�Wd�n1s#wYqdS�N�r=)�object�ALL_FORMATS�subTestrI�	TypeErrorrF�dumps)rr>r=rrr�test_invalid_type�s���zTestPlistlib.test_invalid_typecCs�|�t��td�Wd�n1swY|�t��td�Wd�n1s-wY|�t��
td�Wd�dS1sGwYdS)Nz
not an int�i��)rIrSr�
ValueErrorr
rrr�test_invalid_uid�s
�
�
"�zTestPlistlib.test_invalid_uidc
Cs�dD]C}tD]>}|j||d��-tj||d�}t�|�}|�|t�|�||�tj||d�}|�||�Wd�n1s?wYqqtD]3}dddddddfD]#}|j||d��|jt	tj||d�Wd�n1suwYqWqHdS)	N)r��i���l���l����l����rl�����r>r=rOlr�rl����)
rQrRrFrT�loads�assertIsInstance�intr@rI�
OverflowError�rr>r=�datarL�data2rrr�test_int�s,
���	
�����zTestPlistlib.test_intc
Cs�dD]E}tD]@}|j||d��/tjt|�|d�}t�|�}|�|t�|�||�tj||d�}|�||�Wd�n1sAwYqqdS)N)r%r&r]rO)	rQrRrFrT�	bytearrayr_r`�bytesr@rcrrr�test_bytearray�s
����zTestPlistlib.test_bytearraycCsJ|��}t�|�}t�|�}|�t|�t|��t�|�}|�||�dSr	)r?rFrTr_r@r:)rr>rdrLrerrr�
test_bytes�s


zTestPlistlib.test_bytescCs4ddigggggggg}|�t�t�|��|�dS)N�test�aaaaaa�r@rFr_rT�rrdrrr�test_indentation_array�sz#TestPlistlib.test_indentation_arrayc
CsDddddddddd	d
iiiiiiiii}|�t�t�|��|�dS)N�1�2�3�4�5�6�7�8�9rlrmrnrrr�test_indentation_dicts(z"TestPlistlib.test_indentation_dictcCs<dddddigggggigii}|�t�t�|��|�dS)Nrprqrrrkrlrmrnrrr�test_indentation_dict_mixs z&TestPlistlib.test_indentation_dict_mixcCsrtd�}|�t�tj|tjd��|�td�td�td�td�td�td�d	�}|�t�tj|tjd��|�dS)
NrrOrrrZr[r\l)�uid0�uid2�uid8�uid16�uid32�uid63)rr@rFr_rT�
FMT_BINARY)rrd�	dict_datarrr�test_uids�"zTestPlistlib.test_uidcCstd�}|�|jd�dS�Nr)rr@rd)r�uidrrr�
test_uid_dataszTestPlistlib.test_uid_datacCs<|�td�td��|�td�td��|�td�d�dS)Nrrznot uid)r@r�assertNotEqualr
rrr�test_uid_eqszTestPlistlib.test_uid_eqcCs |�ttd��ttd���dSr�)r@�hashrr
rrr�
test_uid_hashs zTestPlistlib.test_uid_hashcCs|�ttd��d�dS)NrzUID(1))r@�reprrr
rrr�
test_uid_repr!szTestPlistlib.test_uid_reprcCs|�t�td��d�dSr�)r@�operator�indexrr
rrr�test_uid_index$szTestPlistlib.test_uid_indexc	Cs<ttjd�D]}|�t�tjtd�|d��td��qdS)Nr�)�protocol)�range�pickle�HIGHEST_PROTOCOLr@r_rTr)r�protorrr�test_uid_pickle's&�zTestPlistlib.test_uid_picklecCs8|�t�td��td��|�t�td��td��dSr�)r@�copyr�deepcopyr
rrr�
test_uid_copy+szTestPlistlib.test_uid_copyc	CshtD]/}|j|d��t�t|�}tj||d�}|�|t|d�Wd�n1s,wYqdS�NrOz2generated data was not identical to Apple's output)rQrRrFr_�TESTDATArTr@)rr=r>rdrrr�test_appleformatting/s����z!TestPlistlib.test_appleformattingc	Cs�d|_tD]D}|j|d��4|j|d�}tjt||d�}|�t|�t|�d�t�t|�}|�t|�t|�d�Wd�n1sDwYqdSr�)	�maxDiffrQrRr?rFr_r�r@r:)rr=r>rLrrr�test_appleformattingfromliteral8s�����z,TestPlistlib.test_appleformattingfromliteralc	Cs�tD]Q}|j|d��At�}|j|d�}tj|||d�tjt|���|d�}|�t	|�t	|��t�t|����}|�t	|�t	|��Wd�n1sNwYqdSrN)
rQrRrr?rFrGrH�getvaluer@r:)rr=rr>rLrrr�test_bytesioDs���zTestPlistlib.test_bytesioc
Cs�t��}d|d<d|d<d|d<tD][}dD]V}|j||d��Et�}tj||||d�tjt|���tjd	�}|�	t
|�t
|��|rQ|�	t|���gd
��n|�	t|���gd��Wd�n1sgwYqqdS�Nrrrrrr)FT)r=�	sort_keys)�	dict_typer)rrr)
�collections�OrderedDictrQrRrrFrGrHr�r@r:r<�keys)rr>r=r�rrLrrr�test_keysort_bytesioOs*������z!TestPlistlib.test_keysort_bytesioc
Cs�t��}d|d<d|d<d|d<tD]S}dD]N}|j||d��=tj|||d�}tj|tjd	�}|�t|�t|��|rI|�t	|�
��gd
��n|�t	|�
��gd��Wd�n1s_wYqqdSr�)r�r�rQrRrFrTr_r@r:r<r�)rr>r=r�rdrLrrr�test_keysortds$�����zTestPlistlib.test_keysortc	Csrddi}tD]0}|j|d�� |jttj||d�t�}|jttj|||d�Wd�n1s1wYqdS)N�*�aNumberrO)rQrRrIrSrFrTrrG)rr>r=rrrr�test_keys_no_stringvs���z TestPlistlib.test_keys_no_stringc	Cs�ddd�}tD]N}|j|d��>tj||ddd�}t�|�}|�|ddi�t�}tj|||ddd�|��}t�|���}|�|ddi�Wd�n1sPwYqdS)	Nr��aWord)r��snakerOTF)r=�skipkeysr�r�)	rQrRrFrTr_r@rrGr�)rr>r=rdrLrKrrr�
test_skipkeys�s(��

����zTestPlistlib.test_skipkeysc	Cs�dddd�}tD]C}|j|d��3tj||d�}t�|�}|�|ddgddgddgd��|tjkr<|�|d	|d
�Wd�n1sFwYqdS)N)rr)r���first�second�thirdrOrrrr�r�r�)rQrRrFrTr_r@r��assertIsNot�rr>r=rdrLrrr�test_tuple_members�s&�
�
����zTestPlistlib.test_tuple_membersc	Cs�ddgddgddgd�}tD]>}|j|d��.tj||d�}t�|�}|�|ddgddgddgd��|�|d|d�Wd�n1sGwYqdS)	Nrrrr�r�rOr�r��rQrRrFrTr_r@r�r�rrr�test_list_members��"�
����zTestPlistlib.test_list_membersc	Cs�ddiddiddid�}tD]>}|j|d��.tj||d�}t�|�}|�|ddiddiddid��|�|d|d�Wd�n1sGwYqdS)	Nrrrrr�rOr�r�r�r�rrr�test_dict_members�r�zTestPlistlib.test_dict_membersc	Cs�td�D]M}t|�}d|}|dks|dvr,tj|tjd�}|dkr+|�t�|�|�n|�t��tj|tjd�Wd�n1sDwYtj|tj	d�qdS)N�zstring containing %s� z
	rO�
)
r��chrrFrT�FMT_XMLr@r_rIrWr�)r�ir�
testStringrdrrr�test_controlcharacters�s���z#TestPlistlib.test_controlcharactersc	Csbddi}tD](}|j|d��tj||d�}|�t�|�|�Wd�n1s)wYqdS)N�pythonu🐍rO)rQrRrFrTr@r_)rr>r=rdrrr�test_non_bmp_characters�s���z$TestPlistlib.test_non_bmp_charactersc
Cs�tD]P}|j|d��@|�t��tjd|d�Wd�n1s"wY|�t��tjd|d�Wd�n1s>wYWd�n1sMwYqdS)NrOu�u�)rQrRrI�UnicodeEncodeErrorrFrT)rr=rrr�test_lone_surrogates�s������z!TestPlistlib.test_lone_surrogatesc	Cs�tD]>}|j|d��.d}gd�}t�tj||d��}t�tj||d��}|�||�|�||�Wd�n1s;wYqdS)NrO�abc)rrrr�)rQrRrFr_rTr@)rr=�test1�test2�result1�result2rrr�test_nondictroot�s���zTestPlistlib.test_nondictrootcCs&dD]}|�ttjd|���qdS)N)z<key>key inside an array</key>z-<key>key inside an array2</key><real>3</real>z&<true/><key>key inside an array3</key>z <plist><array>%s</array></plist>�rIrWrFr_�encode�rr�rrr�test_invalidarray�s


��zTestPlistlib.test_invalidarraycCs>dD]}|�ttjd|���|�ttjd|���qdS)N)z0<key><true/>k</key><string>compound key</string>z<key>single key</key>z<string>missing key</string>ze<key>k1</key><string>v1</string><real>5.3</real><key>k1</key><key>k2</key><string>double key</string>z<plist><dict>%s</dict></plist>z-<plist><array><dict>%s</dict></array></plist>r�r�rrr�test_invaliddict�s

�

��zTestPlistlib.test_invaliddictcC�|�ttjd�dS)Ns-<plist><integer>not integer</integer></plist>�rIrWrFr_r
rrr�test_invalidinteger�
�z TestPlistlib.test_invalidintegercCr�)Ns*<plist><integer>not real</integer></plist>r�r
rrr�test_invalidreal	r�zTestPlistlib.test_invalidrealcCsRd}t�|�}|�|d�d}t�|�}|�|d�d}t�|�}|�|d�dS)Ns%<plist><integer>456</integer></plist>i�s%<plist><integer>0xa</integer></plist>r(s&<plist><integer>0123</integer></plist>�{)rFr_r@)rr>�valuerrr�test_integer_notations
s


z#TestPlistlib.test_integer_notationsc	Cs�ttj}ddtjfddtjfddtjffD]A\}}}|jtjd�}|j|d��'|�	d|�}||�
d��|�}t�|�}|�
t|�t|��Wd�n1sRwYqdS)	Nsutf-8zutf-8sutf-16z	utf-16-lez	utf-16-berO)�encodingsUTF-8)r�rFr��codecs�BOM_UTF8�BOM_UTF16_LE�BOM_UTF16_BEr?rR�replace�decoder�r_r@r:)r�base�xml_encodingr��bomr>rdrLrrr�test_xml_encodingss



�	
���zTestPlistlib.test_xml_encodingscCs>|�t��tjidd�Wd�dS1swYdS)N�blahrO)rIrWrFrTr
rrr�test_dump_invalid_format-s"�z%TestPlistlib.test_dump_invalid_formatcCs<|�tj��t�d�Wd�dS1swYdS)Ns!these are not plist file contents)rIrF�InvalidFileExceptionr_r
rrr�test_load_invalid_file1s"�z#TestPlistlib.test_load_invalid_filecC�Ntd�}d|_|�t��tj|tjd�Wd�dS1s wYdS)Nr���rO)rrdrIrWrFrTr�)r�neg_uidrrr�test_modified_uid_negative5�
"�z'TestPlistlib.test_modified_uid_negativecCr�)NrrVrO)rrdrIrbrFrTr�)r�huge_uidrrr�test_modified_uid_huge;r�z#TestPlistlib.test_modified_uid_hugecCsD|�tjd��tjttjd�Wd�dS1swYdS)Nz)XML entity declarations are not supportedrO)�assertRaisesRegexrFr�r_�XML_PLIST_WITH_ENTITYr�r
rrr�test_xml_plist_with_entity_declAs
�"�z,TestPlistlib.test_xml_plist_with_entity_declr	)0�__name__�
__module__�__qualname__rr?rArMrUrXrfrirjroryrzr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr�s\


	


rc@s�eZdZddd�dd�Zddd�dd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�TestBinaryPlistlibr��offset_size�ref_sizec	Gsvdg}d}g}|D]}|�|�|d��|�|�|t|�7}q	t�d||t|�d|�}|�|�|�|�d�|�S)N�bplist00��big�>6xBBQQQrr)�append�to_bytes�len�struct�pack�extend�join)	rr�r��objectsrd�offset�offsets�x�tailrrr�buildIs


�


zTestBinaryPlistlib.buildcGs"|j|||d��}tj|tjd�S)Nr�rO)rrFr_r�)rr�r�rrdrrrr�WszTestBinaryPlistlib.decodecCsd}|�t�|�ddi�dS)Ns<bplist00�QaQbrr)r@rFr_rnrrr�test_nonstandard_refs_size[sz-TestBinaryPlistlib.test_nonstandard_refs_sizecCs�ddddddddt�dd	d
d	dd�td�dd
gddd
if
D].}|j|d��tj|gdtjd�}|�t|�dt|��Wd�n1sFwYqdS)NFT�90�������^@�abcdeu
абвгд�abcder'r(r)r*r�Y�rr�12�r	i�rOiL)	r;rgrRrFrTr��
assertLessrr�)rr	rdrrr�test_dump_duplicatesgs����z'TestBinaryPlistlib.test_dump_duplicatescCs�dddddddt�ddd	dd
d
�td�ddgd
ddifD]E}|j|d��5tj|gdtjd�}t�|�\}}t|t�r@t	|�}|�
||�|�
||�|�||�Wd�n1s\wYqdS)NFTr
rrrr'r(r)r*rrrrrrrO)r;rgrRrFrTr�r_�
isinstance�tupler<r@�assertIs)rr	rdrrrrr�
test_identityps�
���z TestBinaryPlistlib.test_identitycCs�g}|�|�t�tj|tjd��}|�|d|�gf}|d�|�t�tj|tjd��}|�|dd|�i}||d<t�tj|tjd��}|�|d|�dS)NrOrr	)r�rFr_rTr�r)rrrrrr�test_cycles}s
zTestBinaryPlistlib.test_cyclesc	Cs�dD]D}dd�t|�D�}z|jg|�d�Rddd��}Wn	ty&Yqwt|�D]}|�|t�|�t|�d�|d}q+|�|d	�qdS)
N)i,順cSs g|]}d|d�dd��qS)��rr�r�)r)�.0r�rrr�
<listcomp>�s z8TestBinaryPlistlib.test_deep_nesting.<locals>.<listcomp>sTseedr�r�rr�seed)r�r��RecursionErrorr`r<r@r)r�N�chunks�resultr�rrr�test_deep_nesting�s �
�z$TestBinaryPlistlib.test_deep_nestingc	CstdD]5}|j|d��%tj�d�tj|d�}tj|tjd�}|�t�|�|�Wd�n1s2wYqdS)N)l����l)�tsr)�secondsrO)	rRr;�utcfromtimestamp�	timedeltarFrTr�r@r_)rr&�drdrrr�test_large_timestamp�s

����z'TestBinaryPlistlib.test_large_timestampcCsL|�|�d�d�|�|�d�d�|�|�d�d�|�|�d�d�dS)N��F�	T�r)rr�r@r
rrr�test_load_singletons�sz'TestBinaryPlistlib.test_load_singletonscCsp|�|�d�d�|�|�d�d�|�|�d�d�|�|�d�d�|�|�d	�d
�|�|�d�d�dS)
Nsrs��s��i�s�ܺ�l�:�}s	#Eg����l�MW�	s	�ܺ�vT2l�����MW�	)r@r�r
rrr�
test_load_int�s��z TestBinaryPlistlib.test_load_intc
s�gtdd��tdd��d�d�tdd��td	d
��}dD]�|��fdd
�td�D��q|D];}|�d|d����(|�tj��|�t|g�d�Wd�n1sVwYWd�n1sewYq/dS)Nrr�r(�r�r*�$�3�4�@)�p�������c3s�|]}�|VqdSr	r)r�j�r�rr�	<genexpr>�s�z6TestBinaryPlistlib.test_unsupported.<locals>.<genexpr>�ztoken �02xs)r�rrRrIrFr�r�rh)r�unsupported�tokenrr?r�test_unsupported�s(���������z#TestBinaryPlistlib.test_unsupportedc
Cs|tD]9\}}|�|��(|�tj��tjd|tjd�Wd�n1s'wYWd�n1s6wYqdS)Nr�rO)�INVALID_BINARY_PLISTSrRrIrFr�r_r�)r�namerdrrr�test_invalid_binary�s�����z&TestBinaryPlistlib.test_invalid_binarycs���tjtj��fdd�}tdd�D]U}d|>}|��d|�dd���|��d	|�dd���|��d
|�dd���|��d|�dd���|��d|�dd���|d
t�ddd|dd��qdS)Nc	s ttjd��
}|�|�Wd�n1swYttjd��&}��tj��tj|tjd�Wd�n1s;wYWd�n1sJwYttjddd��/}��tj��tj|tjd�Wd�n1sqwYWd�dSWd�dS1s�wYdS)NrBrCrOr)�	buffering)	rErr�writerIrFr�rHr�)rd�fr
rr�check�s ������"�z;TestBinaryPlistlib.test_truncated_large_data.<locals>.check�r7rsOr�r�s_sos�s�r�r�r)	�
addCleanuprrrr�rrrr)rrL�w�srr
r�test_truncated_large_data�s�z,TestBinaryPlistlib.test_truncated_large_dataN)r�r�r�rr�rrrrr%r+r0r2rErHrQrrrrr�Gs	
	

r�c@�eZdZdd�ZdS)�TestKeyedArchivecCsRdddtd�dd�dgd�d	d
gd�gdd
td�id�}|�t�td�|�dS)Nrz$nullrrzKeyArchive UID Test)�pytypez$classz	NS.string�OC_BuiltinPythonUnicode)rU�OC_PythonUnicode�NSString�NSObject�OC_PythonStringrW)z
$classnamez$classesz$classhints�NSKeyedArchiver�root)z$versionz$objectsz	$archiverz$topr)rr@rFr_r�rnrrr�test_keyed_archive_data�s"������z(TestKeyedArchive.test_keyed_archive_dataN)r�r�r�r\rrrrrS��rSc@rR)�MiscTestCasecCsddh}tj|t|d�dS)N�PlistFormat�PLISTHEADER)�not_exported)r�check__all__rF)rrarrr�test__all__szMiscTestCase.test__all__N)r�r�r�rcrrrrr^r]r^�__main__) r�r�r�r�unittestrFr
r;r��binasciir�rkr�test.supportr�iorrr�r�rQ�
a2b_base64r�r�rF�TestCaserr�rSr^r��mainrrrr�<module>sF4
�W
7 �

Youez - 2016 - github.com/yon3zu
LinuXploit