Sindbad~EG File Manager
�
&Μg�8 � � � d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl m
Z
G d� d� Z G d� dej � Z
d � Zy)
� N)�
HTTPException)�support)�BytesIOc � � e Zd ZdZdZdZdZdZdZdZ dZ
d� Zd� Zd� Z
d � Zd
� Zd� Zd� Zd
� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zy)�TestBase� N� r u �c � � | j �$t j | j � | _ | j j | _ | j j
| _ | j j | _ | j j | _ | j j | _
| j j | _ y �N)�codec�codecs�lookup�encoding�encode�decode�streamreader�reader�streamwriter�writer�incrementalencoder�incrementaldecoder��selfs �8/usr/local/lib/python3.12/test/multibytecodec_support.py�setUpzTestBase.setUp s� � ��:�:�����t�}�}�5�D�J��j�j�'�'����j�j�'�'����j�j�-�-����j�j�-�-���"&�*�*�"?�"?���"&�*�*�"?�"?��� c � � g }| j D ]M }|j d� }|j � }|dk( sJ �|D �cg c] }|dz �� }}|j |� �O t |� D ]k \ }}| j |� d }| j
||j d� � | j s�H| j
|| j |� d � �m y c c}w )N�
r r �utf-8) �tstring�split�pop�append�zipr �assertEqual�
roundtriptestr ) r �
tstring_lines�b�lines�last�line�native�utf8�us r �test_chunkcodingzTestBase.test_chunkcoding$ s� � ��
����A��G�G�E�N�E��9�9�;�D��3�;��;�.3�4�e�d�T�E�\�e�E�4�� � ��'� � ��/�L�F�D����F�#�A�&�A����Q����G� 4�5��!�!�� � �����Q���):�;� 0�� 5s �Cc �D � | j D �] \ }}}t |t � r
| j }n| j }|r� |||� d }|| j u rV| j t
|� t u t
|� � | j |||�d| j �d|�d|�d|�� � ��| j t
|� t u t
|� � | j |||�d| j �d|�d|�d|�� � ��| j t |||� �� y )Nr �.decode(�, �)=� != �.encode()�
codectests�
isinstance�bytesr r �
assertTrue�type�strr% r �assertRaises�UnicodeError�r �source�scheme�expected�func�results r �test_errorhandlezTestBase.test_errorhandle2 s� � �(,���$�F�F�H��&�%�(��{�{���{�{����f�f�-�a�0���4�;�;�&��O�O�D��L�C�$7��f��F��$�$�V�X�(.��
�
�v�v�(0�&2�3�
�O�O�D��L�E�$9�4��<�H��$�$�V�X�(.��
�
�v�v�(0�&2�3�
�!�!�,��f�f�E�) )8r c � � | j r| j d� d}| j | j |d� d d� y )N�$encoding contains full ISO 10646 mapu ଓଣୠ nd eggs�xmlcharrefreplacer s ଓଣୠ nd eggs)�has_iso10646�skipTestr% r )r �ss r �test_xmlcharrefreplacezTestBase.test_xmlcharrefreplaceI sB � �����M�M�@�A�(������K�K��.�/��2�,�
r c � �� | j r| j d� ddlm� �fd�}t j
d|� | j r| j \ }}nd}d}| j | j |d� d |� y )NrF r )�codepoint2namec �d �� t | t � st d| z � �g }| j | j | j
D ]M }t
|� �v r!|j d�t
|� z � �1|j dt
|� z � �O dj |� | j
fS )Nzdon't know how to handle %rz&%s;z&#%d;r ) r7 �UnicodeEncodeError� TypeError�object�start�end�ordr# �join)�exc�l�crM s �r �xmlcharnamereplacez>TestBase.test_customreplace_encode.<locals>.xmlcharnamereplaceY s� �� ��c�#5�6�� =�� C�D�D��A��Z�Z�� � �#�'�'�2���q�6�^�+��H�H�V�n�S��V�&<�<�=��H�H�W�s�1�v�-�.� 3�
�G�G�A�J����(�(r ztest.xmlcharnamereplaceu «ℜ» = 〈ሴ〉s* «ℜ» = ⟨ሴ⟩) rH rI �
html.entitiesrM r
�register_error�xmlcharnametestr% r )r rY �sin�soutrM s @r �test_customreplace_encodez"TestBase.test_customreplace_encodeS s� �� �����M�M�@�A�0� )� ���7�9K�L�����,�,�I�C��7�C�@�D�������S�$=�?�?@�B�CG� Ir c � � d� }t j d|� | j d| j z dz d� d }| j |d� y )Nc � � d| j fS )Ns 1234�rS �rV s r � myreplacez7TestBase.test_callback_returns_bytes.<locals>.myreplaceo s � ��S�W�W�%�%r �test.cjktest�abc�defr s
abc1234def)r
r[ r �unmappedunicoder% )r rd �encs r �test_callback_returns_bytesz$TestBase.test_callback_returns_bytesn sM � � &����n�i�8��k�k�%�$�"6�"6�6��>��O�PQ�R������m�,r c � �� �fd�}t j d|� g d�g d t � fD ]. �| j t | j
| j d� �0 y )Nc � �� �| j fS r rb )rV �rets �r rd z7TestBase.test_callback_wrong_objects.<locals>.myreplacev s �� �����>�!r re )r � � )r
r[ rQ r<