File: //usr/local/lib/python3.10/test/__pycache__/multibytecodec_support.cpython-310.opt-1.pyc
o
�i�8 � @ sx d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl m
Z
G dd� d�ZG dd� dej�Z
d d
� ZdS )� N)�
HTTPException)�support)�BytesIOc @ s� e Zd ZdZdZdZdZdZdZdZ dZ
dd� Zdd � Zd
d� Z
dd
� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� ZdS ),�TestBase� N� r u �c C sX | j d u rt�| j�| _ | j j| _| j j| _| j j| _| j j| _ | j j
| _
| j j| _d S �N)�codec�codecs�lookup�encoding�encode�decode�streamreader�reader�streamwriter�writer�incrementalencoder�incrementaldecoder��self� r �8/usr/local/lib/python3.10/test/multibytecodec_support.py�setUp s
zTestBase.setUpc C s� g }| j D ]}|�d�}|�� }dd� |D �}|�|� qt|� D ]"\}}| �|�d }| �||�d�� | jrC| �|| �|�d � q!d S )N�
c S s g | ]}|d �qS )r r )�.0�liner r r �
<listcomp>* s z-TestBase.test_chunkcoding.<locals>.<listcomp>r �utf-8) �tstring�split�pop�append�zipr �assertEqual�
roundtriptestr
)r Z
tstring_lines�b�linesZlastZnative�utf8�ur r r �test_chunkcoding$ s
��zTestBase.test_chunkcodingc C s� | j D ]_\}}}t|t�r| j}n| j}|rZ|||�d }|| ju r>| �t|�tu t|�� | �||d|| j |||f � q| �t|�tu t|�� | �||d|| j |||f � q| �
t|||� qd S )Nr �%a.decode(%r, %r)=%a != %a�%a.encode(%r, %r)=%a != %a)�
codectests�
isinstance�bytesr r
�
assertTrue�type�strr$ r �assertRaises�UnicodeError�r �source�schemeZexpected�func�resultr r r �test_errorhandle2 s2
���
����zTestBase.test_errorhandlec C s0 | j r| �d� d}| �| �|d�d d� d S )N�$encoding contains full ISO 10646 mapu ଓଣୠ nd eggs�xmlcharrefreplacer s ଓଣୠ nd eggs)�has_iso10646�skipTestr$ r
)r �sr r r �test_xmlcharrefreplaceI s
�zTestBase.test_xmlcharrefreplacec sj | j r| �d� ddlm� � fdd�}t�d|� | jr#| j\}}nd}d}| �| �|d�d |� d S ) Nr; r ��codepoint2namec sx t | t�std| ��g }| j| j| j� D ]}t|�� v r*|�d� t|� � q|�dt|� � qd�|�| jfS )Nzdon't know how to handle %rz&%s;z&#%d;r ) r. �UnicodeEncodeError� TypeError�object�start�end�ordr"