Sindbad~EG File Manager
�
(Μgn � � � d dl Z d dlZd dlmZ ej d� ZdZ G d� de j � Ze dk( r e j � yy)� N)�
import_helper� _testcapic � � e Zd Zd� Zd� Zd� Zd� Zd� Zd� Zd� Z d� Z
d � Zd
� Zd� Z
d� Zd
� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zy)�CAPITestc �� � t j }| j |dt � d� | j |dd� d� d}d}| j ||t � |� | j ||d� |� | j ||d� |j d� � | j t ||d� | j ||dd� d � | j |t |� t � |� | j |t |� d� |� | j t |dd
� | j t ||dd
� | j t |dt � | j t |dd� | j t |g t � | j t |g d� | j t |t t � | j t |t d� y)z"Test PyUnicode_FromEncodedObject()� abc�abc�ascii�
a¡你😀�
a¡你😀�utf-8�latin1�replaceu a����������fooN)r �unicode_fromencodedobject�assertEqual�NULL�decode�assertRaises�UnicodeDecodeError� bytearray�LookupError� TypeError�SystemError)�self�fromencodedobject�b�ss �7/usr/local/lib/python3.12/test/test_capi/test_codecs.py�test_fromencodedobjectzCAPITest.test_fromencodedobject s� � �%�?�?�����*�6�4�8�%�@����*�6�7�;�U�C�4��#�����*�1�d�3�Q�7����*�1�g�6��:����*�1�h�7����(�9K�L����,�.?��G�L����*�1�g�y�A�)� +����*�9�Q�<��>��B����*�9�Q�<��A�1�E����+�'8�&�%�H����+�'8�!�W�e�L����)�%6��t�D����)�%6��w�G����)�%6��D�A����)�%6��G�D����+�'8�$��E����+�'8�$��H� c � � t j }| j |dd� d� | j |dd� d� | j |ddd� d� | j t |dd� | j |ddd� d� | j |dt
� d� | j |dt
d� d� | j t |d d
� | j t |d dd
� y)zTest PyUnicode_Decode()s [€]r
u [€]s [�]z
iso8859-15�strictr u [�]� �r N)r �unicode_decoder r r r r )r r s r �test_decodezCAPITest.test_decode5 s� � ��)�)������ 1�7�;�Z�H����� �<�8�*�E����� �<��B�J�O����,�f�i��I����� �7�I�>�
�K����� 1�4�8�*�E����� �4��;�Z�H����+�v�w��>����+�v�w���Gr! c �� � t j }| j |dt � d� | j |dd� d� d}d}| j ||t � |� | j ||d� |� | j |dd� d � | j t
|dd� | j ||dd
� d� | j t |dd� | j t ||dd� | j t |dt � | j t |dd� | j t |g t � | j t |g d� y
)z Test PyUnicode_AsEncodedString()r r r
r r r
� ¡¢r � ��r s a???r N)r �unicode_asencodedstringr r r �UnicodeEncodeErrorr r )r �asencodedstringr r s r �test_asencodedstringzCAPITest.test_asencodedstringG s2 � �#�;�;��������5�v�>�������8�&�A�#��4�������D�1�1�5������G�4�a�8������X�>��L����,�o�z�7�S������G�Y�?��I����+���u�E����+���7�E�J����)�_�f�d�C����)�_�f�g�F����)�_�b�$�?����)�_�b�'�Br! c � � t j }dD ]D }|j d� }| j ||� |� | j ||d� |� �F | j t
|d� | j t
|d� | j t
|d� | j t
|d� | j |dd� d � | j |d
d� d� | j t |dd
� y)�Test PyUnicode_DecodeUTF8()�r r( � 你好u a😀r
r# � �� �� �� a�r � a�� a�b� a�b� a�r N)r �unicode_decodeutf8�encoder r r r )r �
decodeutf8r r s r �test_decodeutf8zCAPITest.test_decodeutf8^ s� � ��1�1�
�C�A�����!�A����Z��]�A�.����Z��8�4�a�8� D�
���,�j�'�B����,�j�'�B����,�j�'�B����,�j�,�G�����L�)�<�i�H�����M�9�=�z�J����+�z�8�U�Cr! c �^ � t j }dD ]Z }|j d� }| j ||� |t |� f� | j ||d� |t |� f� �\ | j t |d� | j t |d� | j t |d� | j |d� d� | j |dd � d� | j t |d
� | j |d
d � d� | j t |dd
� y)z#Test PyUnicode_DecodeUTF8Stateful()r0 r
r# r2 r3 r4 r5 )�a� r r7 )r8 � r9 r N)r �unicode_decodeutf8statefulr; r �lenr r r )r �decodeutf8statefulr r s r �test_decodeutf8statefulz CAPITest.test_decodeutf8statefulr s � �&�A�A��C�A�����!�A����/��2�Q��A��K�@����/��8�<�q�#�a�&�k�J� D�
���,�.@�'�J����,�.@�'�J����,�.@�'�J����+�L�9�8�D����+�L�)�D�h�O����,�.@�-�P����+�M�9�E��W����+�'9�8�U�Kr! c �
� t j }dD ]) }| j ||� |j d� � �+ | j t
|d� | j t |d� | j t |g � y)zTest PyUnicode_AsUTF8String()r0 r
� �r N)r �unicode_asutf8stringr r; r r+ r )r �asutf8stringr s r �test_asutf8stringzCAPITest.test_asutf8string� sn � � �5�5��C�A����\�!�_�a�h�h�w�.?�@� D�
���,�l�H�E����)�\�6�:����)�\�2�6r! c �^ � t j }t j dk( rdnd}dD ]� }|j d� }| j |d|� ||f� |j d� }| j |d|� d|f� | j |dd|z � d|f� |j d � }| j |d|� d|f� | j |dd
|z � d|f� �� | j
t |dd� | j
t |dd� | j
t |dd� | j
t |dd
� | j
t |dd� | j
t |dd� | j
t |dd� | j |ddd� d� | j |ddd� d� | j |ddd� d� | j |ddd� d� | j |ddd� d� | j
t |dd� | j
t |dd� | j
t |dd� | j |ddd� d� | j |ddd� d� | j |ddd� d� | j |ddd� d� | j |ddd� d� | j
t |ddd� | j
t |ddd� | j
t |ddd� y)zTest PyUnicode_DecodeUTF16()�little���r@ r0 �utf-16r �utf-16le� ���utf-16be� ��� as ��as ��a� �� � � ��r �rM � ��r@ rX �r rX � �� �� ��� s =�s �=s ��s ��=�s ���=r N) r �unicode_decodeutf16�sys� byteorderr; r r r r )r �decodeutf16�naturalbyteorderr r s r �test_decodeutf16zCAPITest.test_decodeutf16� s� � ��3�3��!$���(�!:�2���C�A�����"�A����[��A�.�1A�1�0E�F�����$�A����[��Q�/�"�a��9����[��K��M�:�R��G�D�����$�A����[��A�.��A��7����[��K��M�:�Q��F�C� D�
���,�k�2�t�D����,�k�1�d�C����,�k�1�l�K����,�k�1�l�K����,�k�2�{�K����,�k�1�k�J����,�k�1�k�J�����R��i�@�.�Q�����Q��Y�?��O�����Q��Y�?��O�����Q�(;�Y�G��X�����Q�(;�Y�G��W����,�k�2�{�K����,�k�1�k�J����,�k�1�k�J�����R��i�@�.�Q�����Q��Y�?��O�����Q��Y�?��O�����Q�(;�Y�G��X�����Q�(;�Y�G��W����+�{�B��U�K����+�{�A�{�E�J����+�{�A�{�E�Jr! c �� � t j }t j dk( rdnd}dD ]� }|j d� }| j |d|� ||t
|� f� |j d� }| j |d|� d|t
|� f� | j |dd|z � d|t
|� d z f� |j d
� }| j |d|� d|t
|� f� | j |dd|z � d|t
|� d z f� �� | j |dd� d
� | j |dd� d
� | j |dd� d
� | j |dd� d� | j |dd� d� | j |dd� d� | j |dd� d� | j |dd� d� | j t |dd� | j t |dd� | j t |dd� | j |ddd� d� | j |ddd� d� | j |ddd� d� | j |ddd� d � | j |dd!d� d"� | j t |dd#� | j |dd#d� d$� | j t |dd%� | j |dd%d� d&� | j t |ddd'� | j t |ddd'� | j t |ddd'� y())z$Test PyUnicode_DecodeUTF16Stateful()rL rM r@ r0 rN r rO rP � rQ rR s a =)rM r? rd s a =�s a =� s a�)r@ r? rd s a�=s a�=�s ��a =� �rM r? rA s �� a�=ީr@ r? rA rT rU rV r )rM rX rd )r@ rX rd )r rX rd r[ �rM rX rA r\ �r@ rX rA s =�a )rM � �arA s �= a)r@ ri rA r N)
r �unicode_decodeutf16statefulr^ r_ r; r rC r r r )r �decodeutf16statefulra r r s r �test_decodeutf16statefulz!CAPITest.test_decodeutf16stateful� sX � �'�C�C��!$���(�!:�2���C�A�����"�A����0��A�6�9I�1�c�RS�f�8U�V�����$�A����0��Q�7�"�a��Q���I����0��K��M�B�R��C�PQ�F�ST�H�DU�V�����$�A����0��A�6��A�s�1�v��G����0��K��M�B�Q��3�q�6�RS�8�DT�U� D�
���,�R��A�<�P����,�R�1D�E�|�T����,�R�1H�I�<�X����,�Q��@�+�N����,�Q�0C�D�k�R����,�Q�0G�H�+�V����,�Q�0O�P�R^�_����,�Q�0O�P�R]�^����,�.A�2�{�S����,�.A�1�k�R����,�.A�1�k�R����,�R��i�H�J[�\����,�Q��Y�G�IY�Z����,�Q��Y�G�IY�Z����,�Q�0C�Y�O�Qb�c����,�Q�0C�Y�O�Qa�b����,�.A�2�GZ�[����,�R�1D�i�P�Rd�e����,�.A�1�FY�Z����,�Q�0C�Y�O�Qb�c����+�':�B��U�S����+�':�A�{�E�R����+�':�A�{�E�Rr! c �
� t j }dD ]) }| j ||� |j d� � �+ | j t
|d� | j t |d� | j t |g � y)zTest PyUnicode_AsUTF16String()r0 rN rG r N)r �unicode_asutf16stringr r; r r+ r )r �
asutf16stringr s r �test_asutf16stringzCAPITest.test_asutf16string� �o � �!�7�7�
�C�A����]�1�-�q�x�x��/A�B� D�
���,�m�X�F����)�]�F�;����)�]�B�7r! c � � t j }t j dk( rdnd}dD ]� }|j d� }| j |d|� ||f� |j d� }| j |d|� d|f� | j |dd|z � d|f� |j d � }| j |d|� d|f� | j |dd
|z � d|f� �� | j
t |dd� | j
t |dd� | j
t |dd
� | j
t |dd� | j
t |dd� | j
t |dd� | j
t |dd� | j |ddd� d� | j |ddd� d� | j |ddd� d� | j |ddd� d� | j |ddd� d� | j
t |dd� | j |ddd� d� | j
t |dd� | j |ddd� d� | j
t |ddd� | j
t |ddd� | j
t |ddd� y)r/ rL rM r@ r0 �utf-32r �utf-32le� �� �utf-32be� ��� a � a s �� a s �� a � ����r rW rY rZ � �� ����� ������� =� � �=r N) r �unicode_decodeutf32r^ r_ r; r r r r )r �decodeutf32ra r r s r �test_decodeutf32zCAPITest.test_decodeutf32� s� � ��3�3��!$���(�!:�2���C�A�����"�A����[��A�.�1A�1�0E�F�����$�A����[��Q�/�"�a��9����[��,?��,A�B�R��G�L�����$�A����[��A�.��A��7����[��,?��,A�B�Q��F�K� D�
���,�k�2�?V�W����,�k�1�>U�V����,�k�1�>e�f����,�k�1�>e�f����,�k�2�?R�S����,�k�1�>Q�R����,�k�1�>Q�R�����R�)<�i�H�.�Y�����Q�(;�Y�G��W�����Q�(;�Y�G��W�����Q�(K�Y�W�Yg�h�����Q�(K�Y�W�Yf�g����,�k�2�?R�S�����R�)<�i�H�.�Y����,�k�1�>Q�R�����Q�(;�Y�G��W����+�{�B�8K�U�S����+�{�A�7J�E�R����+�{�A�7J�E�Rr! c �� � t j }t j dk( rdnd}dD ]� }|j d� }| j |d|� ||t
|� f� |j d� }| j |d|� d|t
|� f� | j |dd|z � d|t
|� d z f� |j d
� }| j |d|� d|t
|� f� | j |dd|z � d|t
|� d z f� �� | j |dd� d
� | j |dd� d
� | j |dd� d
� | j |dd� d� | j |dd� d� | j |dd� d� | j |dd� d� | j |dd� d� dD ]� }| j |d|� d� | j |d|� d� | j |d|� d� | j |dd|z � d� | j |dd|z � d� �� | j t |dd� | j t |dd� | j t |dd� | j |ddd� d � | j |ddd� d!� | j |ddd� d"� | j |dd#d� d$� | j |dd%d� d&� | j t |dd'� | j |dd'd� d � | j t |dd(� | j |dd(d� d!� | j t |ddd)� | j t |ddd)� | j t |ddd)� y*)+z$Test PyUnicode_DecodeUTF32Stateful()rL rM r@ r0 rs r rt ru rA rv rw rx re s a �s a �ry rf s a s a �s �� a �)rM r? � s �� a �)r@ r? r� )r4 s ��s ���)rM � r )r@ r� r )r r� r )rM r� rA )r@ r� rA rz r rg rh )r rX rA r{ )rM rX r� r| )r@ rX r� r} r~ r N)
r �unicode_decodeutf32statefulr^ r_ r; r rC r r r )r �decodeutf32statefulra r r s r �test_decodeutf32statefulz!CAPITest.test_decodeutf32stateful# s � �'�C�C��!$���(�!:�2���C�A�����"�A����0��A�6�9I�1�c�RS�f�8U�V�����$�A����0��Q�7�"�a��Q���I����0��4G��4I�J�R�QR�TW�XY�TZ�[\�T\�L]�^�����$�A����0��A�6��A�s�1�v��G����0��4G��4I�J�Q�PQ�SV�WX�SY�Z[�S[�L\�]� D�
���,�R�1H�I�<�X����,�R�1L�M�|�\����,�R�1P�Q�S_�`����,�Q�0G�H�+�V����,�Q�0K�L�k�Z����,�Q�0O�P�R]�^����,�Q�0_�`�bn�o����,�Q�0_�`�bm�n�6�A����0��Q�7��E����0��A�6�
�C����0��A�6�
�C����0��4G��4I�J�K�X����0��4G��4I�J�J�W� 7�
���,�.A�2�GZ�[����,�.A�1�FY�Z����,�.A�1�FY�Z����,�R�1D�i�P�Rc�d����,�Q�0C�Y�O�Qa�b����,�Q�0C�Y�O�Qa�b����,�Q�0S�U^�_�ar�s����,�Q�0S�U^�_�aq�r����,�.A�2�GZ�[����,�R�1D�i�P�Rc�d����,�.A�1�FY�Z����,�Q�0C�Y�O�Qa�b����+�':�B�@S�UZ�[����+�':�A�?R�TY�Z����+�':�A�?R�TY�Zr! c �
� t j }dD ]) }| j ||� |j d� � �+ | j t
|d� | j t |d� | j t |g � y)zTest PyUnicode_AsUTF32String()r0 rs rG r N)r �unicode_asutf32stringr r; r r+ r )r �
asutf32stringr s r �test_asutf32stringzCAPITest.test_asutf32stringW rq r! c �� � t j }| j |d� d� | j |dd� d� | j |d� d� | j |dd� d� y)zTest PyUnicode_DecodeLatin1()r r r# r) r( N)r �unicode_decodelatin1r )r �decodelatin1s r �test_decodelatin1zCAPITest.test_decodelatin1c se � � �5�5������f�-�u�5�����f�h�7��?�����k�2�J�?�����k�8�<�j�Ir! c � � t j }| j |d� d� | j |d� d� | j t |d� | j t
|d� | j t
|g � y)zTest PyUnicode_AsLatin1String()r r r( r) � 你N)r �unicode_aslatin1stringr r r+ r )r �aslatin1strings r �test_aslatin1stringzCAPITest.test_aslatin1stringn sn � �"�9�9�������.��7�����
�3�[�A����,�n�h�G����)�^�V�<����)�^�R�8r! c �H � t j }| j |d� d� | j |dd� d� | j t |d� | j |dd� d� | j |dd� d � | j t
|dd
� y)zTest PyUnicode_DecodeASCII()r r r# r4 s a�r r6 s a�br8 r N)r �unicode_decodeasciir r r r )r �decodeasciis r �test_decodeasciizCAPITest.test_decodeasciiz s� � ��3�3������V�,�e�4�����V�X�6��>����,�k�7�C�����X�y�9�9�E�����Y� �:�J�G����+�{�H�e�Dr! c �� � t j }| j |d� d� | j t |d� | j t
|d� | j t
|g � y)zTest PyUnicode_AsASCIIString()r r � N)r �unicode_asasciistringr r r+ r )r �
asasciistrings r �test_asasciistringzCAPITest.test_asasciistring� sY � �!�7�7�
�����u�-�v�6����,�m�V�D����)�]�F�;����)�]�B�7r! c �� � t j }| j |ddddd�� d� | j |dg d�� d� | j |dd � d� | j |dg d
�� d� | j |dg d�� d
� | j |dg d�� d� | j |dg d�� d� | j |dg d�� d� | j t |di � | j t |dddi� | j |dg d�d� d� | j |dt
� d� | j t |dd� y)zTest PyUnicode_DecodeCharmap()� r? r �c)r � � �bacs )r? r r� r )� ¡� ¢� £u ¢¡£)r� u 好u 世u 好你世)� 😀u 😁u 😂u 😁😀😂��a �b �c )r� r �cd�bcd� r N)Nr r� r u b�cs �u ÿ�* )r �unicode_decodecharmapr r r r r )r �
decodecharmaps r �test_decodecharmapzCAPITest.test_decodecharmap� sH � �!�7�7�
�����y�c�c�c�2J�K�U�S�����y�/�B�E�J�����y�%�8�%�@�����y�2J�K�^�\�����y�2P�Q�Sg�h�����y�2\�]�_� A�����y�,�?��G�����y�/�B�E�J����,�m�U�B�G����,�m�U�Q��I�N�����y�2B�I�N�PZ�[�����}�d�;�\�J����)�]�E�2�>r! c �B � t j }| j |ddddd�� d� | j |ddddd�� d� | j |d dddd
�� d� | j |ddddd�� d� | j |ddd
dd�� d� | j t |di � | j t |dddi� | j t
|di � | j t
|g i � | j t
|dt � y)z Test PyUnicode_AsCharmapString()r r� r r� r� r� u ¡¢£)� � � u 你好世)i`O i}Y iN u 😀😁😂)i � i� i� r! s spams spamr? r� NrS )r �unicode_ascharmapstringr r r+ r r )r �ascharmapstrings r �test_ascharmapstringzCAPITest.test_ascharmapstring� s � �#�;�;�������Q�A�1�0E�F� �R��������RS�9T�U�W`�a�����)=��ST�^_�?`�a�cl�m�����)I�UV�ab�mn�Ko�p�r{�|������Q�C�W�0M�N�PY�Z����,�o�s�B�G����,�o�s�R��J�O����)�_�d�B�?����)�_�b�"�=����)�_�c�4�@r! c � � t j }| j |d� d� | j |d� d� | j |d� d� | j |d� d� | j |d � d� | j |d
� d� | j |d� d
� | j t � 5 | j |d� d� ddd� dD ]1 }| j t ||� | j t ||d� �3 | j |dd� d� | j |dd� d� | j t |dd� y# 1 sw Y ��xY w)z$Test PyUnicode_DecodeUnicodeEscape()r r � \t\n\r\x0b\x0c\x00\\�
\s
z
� \xa1\xa2r( r) � \u4f60\u597dr1 �
\U0001f600r� � \z�\zN)� \s \xa� \u4f6� \U0001f60r# �
x\U0001f60r � x�� x\U0001f60y� x�yr� r )r �unicode_decodeunicodeescaper �assertWarns�DeprecationWarningr r r )r �decodeunicodeescaper s r �test_decodeunicodeescapez!CAPITest.test_decodeunicodeescape� s\ � �'�C�C�����,�V�4�e�<����,�-E�F�HX�Y����,�-B�C�^�T����,�\�:�J�G����,�[�9�:�F����,�-=�>��O����,�^�<�l�K�
�
�
�0�
1����0��8�%�@� 2� :�A����0�2E�q�I����0�2E�q�(�S� :�
���,�^�Y�G��S����,�_�i�H�*�U����+�':�E�5�I� 2�
1�s �E0�0E9c �p � t j }| j |d� d� | j |d� d� | j |d� d� | j |d� d� | j |d � d
� | j t |d� | j t |g � y)z&Test PyUnicode_AsUnicodeEscapeString()r r r� r� r( r� r1 r� r� r� N)r �unicode_asunicodeescapestringr r r )r �asunicodeescapestrings r �test_asunicodeescapestringz#CAPITest.test_asunicodeescapestring� s� � � )� G� G�����.�u�5�v�>����.�/?�@�BZ�[����.�z�:�L�I����.�~�>�@P�Q����.�|�<�n�M����)�%:�F�C����)�%:�B�?r! c �t � t j }| j |d� d� | j |d� d� | j |d� d� | j |d� d� | j |d � d
� | j |d� d� | j |d
� d� dD ]1 }| j t ||� | j t ||d� �3 | j |dd� d� | j |dd� d� | j t
|dd� y)z'Test PyUnicode_DecodeRawUnicodeEscape()r r �
\r� r) r( r� r1 r� r� r� z\xa1\xa2r� r� )r� r� r# r� r r� r� r� r� r N)r �unicode_decoderawunicodeescaper r r r )r �decoderawunicodeescaper s r �test_decoderawunicodeescapez$CAPITest.test_decoderawunicodeescape� s& � �!*�!I�!I�����/��7��?����/�0A�B�DT�U����/��<�j�I����/�0@�A�>�R����/��?��N����/��=�{�K����/��7��?�)�A����0�2H�!�L����0�2H�!�X�V� *�
���/�� �J�I�V����/���K�Z�X����+�'=�}�e�Tr! c �p � t j }| j |d� d� | j |d� d� | j |d� d� | j |d� d� | j |d � d
� | j t |d� | j t |g � y)z)Test PyUnicode_AsRawUnicodeEscapeString()r r r� r� r( r) r1 r� r� r� N)r � unicode_asrawunicodeescapestringr r r )r �asrawunicodeescapestrings r �test_asrawunicodeescapestringz&CAPITest.test_asrawunicodeescapestring� s� � �#,�#M�#M� ����1�%�8�&�A����1�2B�C�EV�W����1�*�=�{�K����1�.�A�CS�T����1�,�?��P����)�%=�v�F����)�%=�r�Br! N)�__name__�
__module__�__qualname__r r&