File: //lib/python3/dist-packages/twisted/words/test/__pycache__/test_irc.cpython-310.pyc
o
�bċ � @ sF d Z ddlZddlZddlZddlmZmZ ddlmZ ddl m
Z
mZ ddlm
Z
ddlmZ ddlmZmZ G d d
� d
e
�ZG dd� de�ZG d
d� de�ZG dd� de�ZG dd� de�Zddjejd�djejejd�dejejd� gZG dd� de�Z G dd� dej!�Z"G dd� de�Z#G d d!� d!e�Z$G d"d#� d#ej�Z%G d$d%� d%e�Z&G d&d'� d'e%�Z'd(d)� Z(G d*d+� d+e�Z)G d,d-� d-e�Z*G d.d/� d/ej�Z+G d0d1� d1e�Z,G d2d3� d3e�Z-G d4d5� d5e�Z.G d6d7� d7ej�Z/G d8d9� d9e�Z0G d:d;� d;e�Z1G d<d=� d=e�Z2G d>d?� d?e�Z3G d@dA� dAe�Z4G dBdC� dCe�Z5dS )Dz+
Tests for L{twisted.words.protocols.irc}.
� N)�protocol�task)�FilePath)�StringIOWithoutClosing�StringTransport)�TestCase)�irc)� IRCClient�
attributesc @ s e Zd Zdd� ZdS )�IRCTestCasec C sN |}t |t�r|�d�}t |t�rt |d t�rdd� |D �}| �||� dS )a$
A buffer is always bytes, but sometimes
we need to compare it to a utf-8 unicode string
@param buf: the buffer
@type buf: L{bytes} or L{unicode} or L{list}
@param val: the value to compare
@type val: L{bytes} or L{unicode} or L{list}
�utf-8r c S s g | ]}|� d ��qS )�utf8)�decode)�.0�b� r �=/usr/lib/python3/dist-packages/twisted/words/test/test_irc.py�
<listcomp>% s z6IRCTestCase.assertEqualBufferValue.<locals>.<listcomp>N)�
isinstance�strr �list�assertEqual)�self�buf�val�bufferValuer r r �assertEqualBufferValue s
z"IRCTestCase.assertEqualBufferValueN)�__name__�
__module__�__qualname__r r r r r r s r c @ sd e Zd ZdZdZdd� Zdd� Zdd� Zd d
� Zdd� Z d
d� Z
dd� Zdd� Zdd� Z
dd� ZdS )�ModeParsingTestsz>
Tests for L{twisted.words.protocols.irc.parseModes}.
)�klbr c C s | � tjtjdg � dS )zI
Parsing an empty mode string raises L{irc.IRCBadModes}.
� N��assertRaisesr �IRCBadModes�
parseModes�r r r r �test_emptyModes0 � z ModeParsingTests.test_emptyModesc C sT | � tjtjdg � | � tjtjdg � | � tjtjdg � | � tjtjdg � dS )z�
Parsing a mode string that contains an empty sequence (either a C{+} or
C{-} followed directly by another C{+} or C{-}, or not followed by
anything at all) raises L{irc.IRCBadModes}.
z++kz-+k�+�-Nr# r'