Your IP : 216.73.216.85
3
� f8 � @ 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)� ZdS )*�TestBase� N� r u �c C sX | j d krtj| 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 �@/opt/alt/python36/lib64/python3.6/test/multibytecodec_support.py�setUp s
zTestBase.setUpc C s� g }xD| j D ]:}|jd�}|j� }|dks.t�dd� |D �}|j|� qW xPt|� D ]D\}}| j|�d }| j||jd�� | jrT| j|| j |�d � qTW d S )N�
� c S s g | ]}|d �qS )r r )�.0�liner r r �
<listcomp>* s z-TestBase.test_chunkcoding.<locals>.<listcomp>r zutf-8)
�tstring�split�pop�AssertionError�append�zipr
�assertEqual�
roundtriptestr )r Z
tstring_lines�b�linesZlastZnative�utf8�ur r r �test_chunkcoding$ s
zTestBase.test_chunkcodingc
C s� x�| j D ]�\}}}t|t�r$| j}n| j}|r�|||�d }|| jkr~| jt|�tkt|�� | j||d|| j |||f � q�| jt|�tkt|�� | j||d|| j |||f � q| j
t|||� qW d S )Nr z%a.decode(%r, %r)=%a != %az%a.encode(%r, %r)=%a != %a)�
codectests�
isinstance�bytesr
r �
assertTrue�type�strr# r �assertRaises�UnicodeError)r �source�scheme�expected�func�resultr r r �test_errorhandle2 s$
zTestBase.test_errorhandlec C s0 | j r| jd� d}| j| j|d�d d� d S )Nz$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| jd� ddlm� � fdd�}tjd|� | jrF| j\}}nd}d}| j| j|d�d |� d S ) Nz$encoding contains full ISO 10646 mapr )�codepoint2namec s| t | t�std| ��g }xP| j| j| j� D ]:}t|�� krV|jd� t|� � q.|jdt|� � q.W dj|�| jfS )Nzdon't know how to handle %rz&%s;z&#%d;r ) r+ �UnicodeEncodeError� TypeError�object�start�end�ordr! �join)�exc�l�c)r= r r �xmlcharnamereplaceY s
z>TestBase.test_customreplace_encode.<locals>.xmlcharnamereplaceztest.xmlcharnamereplaceu «ℜ» = 〈ሴ〉s* «ℜ» = ⟨ሴ⟩) r9 r: Z
html.entitiesr= r �register_error�xmlcharnametestr# r )r rH ZsinZsoutr )r= r �test_customreplace_encodeS s
z"TestBase.test_customreplace_encodec C s>