Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.10/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.10/test/__pycache__/test_csv.cpython-310.pyc
o

�9j���@s�ddlZddlZddlZddlmZddlmZddlZddlZddl	Z	ddl
mZddlm
Z
ddlmZddlmZddlmZGd	d
�d
�ZGdd�dej�ZGd
d�dej�ZGdd�dej�ZGdd�de�ZGdd�dej�ZGdd�de�ZGdd�de�ZGdd�dej�ZGdd�de�ZGdd�dej�Z Gdd �d ej�Z!Gd!d"�d"ej�Z"Gd#d$�d$ej�Z#Gd%d&�d&�Z$e�%e&ed'�d(�Gd)d*�d*ej��Z'Gd+d,�d,ej�Z(Gd-d.�d.ej�Z)Gd/d0�d0ej�Z*e+d1kr�e�,�dSdS)2�N)�StringIO)�
TemporaryFile)�support)�warnings_helper)�permutations)�dedent)�OrderedDictc@�eZdZdd�ZdS)�BadIterablecC�t��N��OSError��self�r�$/usr/lib/python3.10/test/test_csv.py�__iter__�zBadIterable.__iter__N)�__name__�
__module__�__qualname__rrrrrr
�r
c@s8eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zejejejed.�d/d0����Z d1d2�Z!d3d4�Z"d5d6�Z#d7d8�Z$d9d:�Z%d;d<�Z&d=d>�Z'd?d@�Z(dAdB�Z)dCdD�Z*dEdF�Z+dGS)H�Test_Csvz�
    Test the underlying C csv parser in ways that are not appropriate
    from the high level interface. Further tests of this nature are done
    in TestDialectRegistry.
    cCs�|�t|�|�t|d�|jt||dd�|jt||dd�|jt||dd�|�tj||d�|jt||dd�|jt||dd�|jt||dd�|jt||dd�|jt||dd�|jt||dd	�|jt||tjd
d�|jt||tjdd�dS)Nr��bad_attr��	delimiter�XX�foo�)�	quotechar)�lineterminator��quoting�)r$r!)�assertRaises�	TypeError�csv�Error�	QUOTE_ALL)r�ctor�argrrr�_test_arg_valids$
�

�zTest_Csv._test_arg_validcCs$|�tjg�|�ttjt��dSr)r-r(�readerr&rr
rrrr�test_reader_arg_valid0szTest_Csv.test_reader_arg_validcCs4|�tjt��Gdd�d�}|�ttj|��dS)Nc@seZdZedd��ZdS)z1Test_Csv.test_writer_arg_valid.<locals>.BadWritercSrrr
rrrr�write7sz7Test_Csv.test_writer_arg_valid.<locals>.BadWriter.writeN)rrr�propertyr0rrrr�	BadWriter6sr2)r-r(�writerrr&r)rr2rrr�test_writer_arg_valid4szTest_Csv.test_writer_arg_validcGs�||�}|�|jjd�|�|jjd�|�|jjd�|�|jjd�|�|jjd�|�|jjt	j
�|�|jjd�|�|jjd�|�
tt|jd�|�
tt|jdd�|�
tt|jd�|�
tt|jdd�dS)	N�,T�
�"Fr�:r$)�assertEqual�dialectr�assertIs�doublequote�
escapecharr"r!r$r(�
QUOTE_MINIMAL�skipinitialspace�strictr&�AttributeError�delattr�setattr)rr+�args�objrrr�_test_default_attrs<s�zTest_Csv._test_default_attrscC�|�tjg�dSr)rFr(r.rrrr�test_reader_attrsN�zTest_Csv.test_reader_attrscC�|�tjt��dSr)rFr(r3rrrrr�test_writer_attrsQ�zTest_Csv.test_writer_attrsc
Gs�tdddddtjddd�}||i|��}|�|jjd�|�|jjd�|�|jjd�|�|jj	d�|�|jj
d�|�|jjtj�|�|jjd�|�|jj
d�dS)Nr8F�\�
�*T)rr<r=r"r!r$r?r@)�dictr(�
QUOTE_NONEr9r:rr;r<r=r"r!r$r?r@)rr+rD�kwargsrErrr�_test_kw_attrsTs�zTest_Csv._test_kw_attrscCrGr)rSr(r.rrrr�test_reader_kw_attrsdrIzTest_Csv.test_reader_kw_attrscCrJr)rSr(r3rrrrr�test_writer_kw_attrsgrLzTest_Csv.test_writer_kw_attrscGs�Gdd�d�}||f}||�}|�|jjd�|�|jjd�|�|jjd�|�|jjd�|�|jjd�|�|jjt	j
�|�|jjd�|�|jjd�dS)	Nc@s.eZdZdZdZdZdZdZej	Z
dZdZdS)z-Test_Csv._test_dialect_attrs.<locals>.dialect�-F�^�$�#TN)
rrrrr<r=r"r!r(r*r$r?r@rrrrr:lsr:rVFrWrXrYT)
r9r:rr;r<r=r"r!r$r(r*r?r@)rr+rDr:rErrr�_test_dialect_attrsjs
	zTest_Csv._test_dialect_attrscCrGr)rZr(r.rrrr�test_reader_dialect_attrs�rIz"Test_Csv.test_reader_dialect_attrscCrJr)rZr(r3rrrrr�test_writer_dialect_attrs�rLz"Test_Csv.test_writer_dialect_attrscKsrtdddd��(}tj|fi|��}|�|�|�d�|�|��||jj�Wd�dS1s2wYdS�N�w+�utf-8r%��encoding�newliner)	rr(r3�writerow�seekr9�readr:r")r�fields�expectrR�fileobjr3rrr�_write_test�s



�"�zTest_Csv._write_testc	Ks�tdddd��9}tj|fi|��}|�|��
|�|�Wd�n1s&wY|�d�|�|��d�Wd�dS1sCwYdSr])rr(r3r&rcrdr9re)r�excrfrRrhr3rrr�_write_error_test�s�
"�zTest_Csv._write_error_testcCs�|�tjd�|�dd�|�dgd�|jtjdgtjd�|�tt��Gdd�d�}|�t|��Gdd�d�}|�t|�g�dS)	Nrr%�""r#c@�eZdZdd�Zdd�ZdS)z.Test_Csv.test_write_arg_valid.<locals>.BadListcSsdS)N�
rrrrr�__len__�rz6Test_Csv.test_write_arg_valid.<locals>.BadList.__len__cSs|dkrt�dS)N�r
)r�irrr�__getitem__�s�z:Test_Csv.test_write_arg_valid.<locals>.BadList.__getitem__N)rrrrorrrrrr�BadList�srsc@r	)z.Test_Csv.test_write_arg_valid.<locals>.BadItemcSrrr
rrrr�__str__�rz6Test_Csv.test_write_arg_valid.<locals>.BadItem.__str__N)rrrrtrrrr�BadItem�rru)rkr(r)rirQrr
)rrsrurrr�test_write_arg_valid�szTest_Csv.test_write_arg_validcCs$dd}|�||gd||f�dS)N�X�P��%s,%s)ri)r�	bigstringrrr�test_write_bigfield�s
�zTest_Csv.test_write_bigfieldcCs�|�gd�d�|jtjgd�tjd�|jgd�dtjd�|jgd�dtjd�|jgd�dtjd�|jddgdtjd�dS)	N��ar zp,q�	a,1,"p,q"r#z"a",1,"p,q"z
"a","1","p,q"�a
br z	"a
b","1")rirkr(r)rQr>�QUOTE_NONNUMERICr*rrrr�test_write_quoting�s ����
�zTest_Csv.test_write_quotingcCsJ|jgd�ddd�|jtjgd�ddd�|jgd�dddd�|jd	gd
dtjd�|jd	gddtjdd
�|jd	gddtjd�|jgd�ddtjd�|jddgddtjd�|jddgddtjd�|jddgddtjd�|jddgddtjd�|jddgddtjd�|jddgddtjd�|jgd�ddtjd�dS)Nr|r~rM�r=)r}r zp,"q"F)r=r<z
a,1,"p,\"q\""r7�"""")r=r$z\")r=r$r<za,1,p\,qr}z\\,az"\\","a"z\ z\\ ,az\,z\\\,,az,\z",\\",a)zC\�6�7zX"z
C\\,6,7,"X""")rirkr(r)r>rQr*rrrr�test_write_escape�sV���
�
�
��������
�zTest_Csv.test_write_escapecCs||�tgd��d�|�tgd��d�|�tg�d�|�tdg�d�|jtjtdg�tjd�|�tddg�d�dS)	Nr|r~)r}r Nza,1,r%rlr#r5)ri�iterrkr(r)rQrrrr�test_write_iterable�szTest_Csv.test_write_iterablecCs�Gdd�d�}t�|��}|�t|jdgg�tdddd��.}t�|�}|�t|jd�|�ddgd	d
gg�|�d�|�|�	�d�Wd�dS1sOwYdS)
Nc@r	)z+Test_Csv.test_writerows.<locals>.BrokenFilecSrrr
)r�bufrrrr0�rz1Test_Csv.test_writerows.<locals>.BrokenFile.writeN)rrrr0rrrr�
BrokenFile�rr�r}r^r_r%r`�b�c�drz
a,b
c,d
)
r(r3r&r�	writerowsrr'rdr9re)rr�r3rhrrr�test_writerows�s

"�zTest_Csv.test_writerowscCs6tdddd��%}t�|�}|�ddgddgg�|�d�|�|��d�Wd�n1s/wYtdddd��#}t�|�}|�dgdgg�|�d�|�|��d	�Wd�n1sawYtdddd��$}t�|�}|�dgdgg�|�d�|�|��d
�Wd�dS1s�wYdS)Nr^r_r%r`r}r�rza,
,d
z""
a
za
""
)rr(r3r�rdr9re�rrhr3rrr�test_writerows_with_none�s$

�

�

"�z!Test_Csv.test_writerows_with_nonecCs`tdddd��}t�|�}|�t|jd�|�t|jt��Wd�dS1s)wYdS)Nr^r_r%r`)rr(r3r&r'r�rr
r�rrr�test_writerows_errorss

"�zTest_Csv.test_writerows_errors)�categorycCsxddl}|�d�}tdddd��"}t�|�}|�|gg�|�d�|�|��d�Wd�dS1s5wYdS)Nrr}r^r_r%r`za
)	�	_testcapi�unicode_legacy_stringrr(r3r�rdr9re)rr�r�rhr3rrr�test_writerows_legacy_stringss


"�z&Test_Csv.test_writerows_legacy_stringscKs*tj|fi|��}t|�}|�||�dSr)r(r.�listr9)r�inputrgrRr.�resultrrr�
_read_testszTest_Csv._read_testcCs�|�gg�|�dggg�|jtj|jdgddd�|jtj|jdgddd�|jdgdggdd�|�tj|jd	gd�dS)
Nr%z"ab"cr �r@zabc�abcr)r<sabc�r�r&r(r)rrrr�test_read_oddinputss���zTest_Csv.test_read_oddinputscCs�|�dgddgg�|�dgddgg�|�dgddgg�|�dgddgg�|�tj|jdgg�|�tj|jdgg�|�tj|jd	gg�dS)
Nza,br}r�za,b
za,b
za,b
za,b
c,dza,b
c,dza,b
c,dr�rrrr�
test_read_eol*szTest_Csv.test_read_eolcCs�|�dgddgg�|�dgdgg�|jdgdggdd�|jtj|jdggdd	�|jtj|jdggdd	�|jtj|jdggddd
�dS)Nza,"r}r%z"arW�
r�Tr�)r=r@r�rrrr�
test_read_eof3s

�zTest_Csv.test_read_eofcCs�|jdggd�gdd�|jdgddggdd�|jdgddggdd�|jd	gddggdd�|jd
gddggdd�|jdgdd
ggdd�dS)Nza,\b,c)r}r�r�rMr�za,b\,cr}zb,cza,"b\,c"za,"b,\c"z	a,"b,c\""zb,c"za,"b,c"\zb,c\�r�rrrr�test_read_escape<szTest_Csv.test_read_escapecCs�|�dggd�g�|jdggd�gddd�|jdggd�gtjdd�|jdggd�gtjd	�|�d
gddgg�|jt|jd
gggtjd	�dS)Nz	1,",3,",5)�1z,3,�5)r�r7�3r7r�rM)r!r=�r$r=z
,3,"5",7.3, 9)r%�r�g333333@�	r#z"a
b", 7rz 7zabc,3)r�r(rQr�r&�
ValueErrorrrrr�test_read_quotingDs���

�zTest_Csv.test_read_quotingcCs|jdggd�gdd�dS)Nzno space, space,  spaces,	tab)zno space�space�spacesz	tabT)r?r�rrrr�test_read_skipinitialspaceRs
�z#Test_Csv.test_read_skipinitialspacec	Cs�t��}zXd}d|}d||f}|�|g||gg�t�|�|�|g||gg�|�t��|�t�|d�|�tj|j|gg�|�ttjd�|�ttjdd�Wt�|�dSt�|�w)Nrxrwryr )r(�field_size_limitr�r9r&r)r')r�limit�sizerz�biglinerrr�test_read_bigfieldWs
zTest_Csv.test_read_bigfieldcCs~t�gd��}|�|jd�t|�|�|jd�t|�|�|jd�t|�|�|jd�|�tt|�|�|jd�dS)N)zline,1zline,2zline,3rr rpr�)r(r.r9�line_num�nextr&�
StopIteration)r�rrrr�test_read_linenumjszTest_Csv.test_read_linenumcCs�tdddd��4}t�|�}ddgddgg}|�|�|�d	�tt�|��D]\}}|�|||�q&Wd�dS1s>wYdS)
Nr^r_r%r`rr�r��x
dr)rr(r3r�rd�	enumerater.r9�rrhr3�rowsrq�rowrrr�test_roundtrip_quoteed_newlinesvs


�"�z(Test_Csv.test_roundtrip_quoteed_newlinescCs�tdddd��<}tj|tjdd�}ddgd	d
gg}|�|�|�d�ttj|tjdd��D]\}}|�|||�q.Wd�dS1sFwYdS)Nr^r_r%r`rMr�rr�r�r�r)	rr(r3rQr�rdr�r.r9r�rrr�(test_roundtrip_escaped_unquoted_newliness

�"�z1Test_Csv.test_roundtrip_escaped_unquoted_newlinesN),rrr�__doc__r-r/r4rFrHrKrSrTrUrZr[r\rirkrvr{r�r�r�r�r�r�r�cpython_only�requires_legacy_unicode_capir�ignore_warnings�DeprecationWarningr�r�r�r�r�r�r�r�r�r�r�r�rrrrrsN

				rc@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�TestDialectRegistrycCs�|�ttjd�|�ttj�|�tjtjd�|�tjtjd�|�ttj�|�tjtjd�|�tjtjd�|�ttjd�|�ttjdd�|�ttjddd�|jttjddd�|jttjddd�|�ttjg�dS)N�nonesuchr)�badargumentr#)r&r'r(�
list_dialects�get_dialectr)�unregister_dialect�register_dialectrrrr�test_registry_badargs�s"��z)TestDialectRegistry.test_registry_badargscCsvGdd�dtj�}d}t��|g}|��t�||�|�tj|�|�t�|�j	d�t
t���}|�||�dS)Nc@�eZdZdZdS)z5TestDialectRegistry.test_registry.<locals>.myexceltsv�	N�rrrrrrrr�
myexceltsv��r�r�)r(�excelr��sortr��
addCleanupr�r9r�r�sorted)rr��name�expected_dialects�got_dialectsrrr�
test_registry�sz!TestDialectRegistry.test_registrycCsXd}tj|dd�|�tj|�|�t�|�jd�|�gd�gtt�dg|���dS)N�fedcba�;r)rw�Y�ZzX;Y;Z)	r(r�r�r�r9r�rr�r.)rr�rrr�test_register_kwargs�s
$z(TestDialectRegistry.test_register_kwargsc
Cs�Gdd�dtj�}d}tj||dddddtjd	�|�tj|�t�|�}|�|jd�|�|j	d�|�|j
d�|�|jd�|�|jd�|�|j
tj�dS)
Nc@�&eZdZdZdZdZdZdZej	Z
dS)zDTestDialectRegistry.test_register_kwargs_override.<locals>.mydialectr�r7TFr6N)rrrrr!r<r?r"r(r>r$rrrr�	mydialect��
r��test_dialectr��'FTr�)rr!r<r?r"r$)r(�Dialectr�r*r�r�r�r9rr!r<r?r"r$)rr�r�r:rrr�test_register_kwargs_override�s$�
z1TestDialectRegistry.test_register_kwargs_overridecCs$Gdd�dtj�}|�tj|�dS)Nc@r�)z?TestDialectRegistry.test_incomplete_dialect.<locals>.myexceltsvr�Nr�rrrrr��r�r�)r(r�r&r))rr�rrr�test_incomplete_dialect�sz+TestDialectRegistry.test_incomplete_dialectcCs�Gdd�dtj�}tddd��/}|�d�|�d�tj||�d�}|�t|�d	d
g�|�t|�ddg�Wd�dS1sAwYdS)
Nc@seZdZdZejZdZdS)z5TestDialectRegistry.test_space_dialect.<locals>.space� rMN)rrrrr(rQr$r=rrrrr��sr�r^r_�razabc def
c1ccccc1 benzene
r�r:r��def�c1ccccc1�benzene)r(r�rr0rdr.r9r�)rr�rhr.rrr�test_space_dialect�s

"�z&TestDialectRegistry.test_space_dialectcOsttdddd��)}tj|g|�Ri|��}|�gd��|�d�|�|��|�Wd�dS1s3wYdS)Nr^r%r_�rbra�r rpr�r)rr(r3rcrdr9re)r�expected�	writeargs�kwwriteargsrhr3rrr�compare_dialect_123�s
"�z'TestDialectRegistry.compare_dialect_123c	Cs�Gdd�dtj�}Gdd�dtj�}Gdd�dtj�}Gdd�dtj�}Gd	d
�d
�}t�d|�z?|�d�|jddd�|jd|d�|�d
|�|jd|�d�|jddd�|jd|dd�|jd|d�Wt�d�dSt�d�w)Nc@r�)z5TestDialectRegistry.test_dialect_apply.<locals>.testAr�Nr�rrrr�testA�r�r�c@r�)z5TestDialectRegistry.test_dialect_apply.<locals>.testBr8Nr�rrrr�testB�r�r�c@r�)z5TestDialectRegistry.test_dialect_apply.<locals>.testC�|Nr�rrrr�testC�r�r�c@r�)z7TestDialectRegistry.test_dialect_apply.<locals>.testUniuΛNr�rrrr�testUni�r�r�c@�eZdZdS)z;TestDialectRegistry.test_dialect_apply.<locals>.unspecifiedN�rrrrrrr�unspecified�sr�z1,2,3
r�z1	2	3
z1:2:3
z1|2|3
z1;2;3
r�)r:ru	1Λ2Λ3
)r(r�r�r�r�)rr�r�r�r�r�rrr�test_dialect_apply�s(
��z&TestDialectRegistry.test_dialect_applycCsT|jttjgdd�|jttjgdd�|jttjgdd�|jttjgdd�dS)Nrrr���r#�d)r&r'r(r.rrrr�test_bad_dialectsz$TestDialectRegistry.test_bad_dialectcCs,t��D]}t�|�}|�ttj|�qdSr)r(r�r�r&r'�copy)rr�r:rrr�	test_copy
s
�zTestDialectRegistry.test_copycCsBt��D]}t�|�}ttjd�D]}|�ttj||�qqdS)Nr )	r(r�r��range�pickle�HIGHEST_PROTOCOLr&r'�dumps)rr�r:�protorrr�test_pickles
��zTestDialectRegistry.test_pickleN)rrrr�r�r�r�r�r�r�r�r�rrrrrrr��s
	r�c@rm)�TestCsvBasecCsltdddd��%}|�|�|�d�tj||jd�}t|�}|�||�Wd�dS1s/wYdS)Nr^r_r%r`rr�)rr0rdr(r.r:r�r9)rr��expected_resultrhr.rfrrr�readerAssertEquals

"�zTestCsvBase.readerAssertEqualcCshtdddd��#}tj||jd�}|�|�|�d�|�|��|�Wd�dS1s-wYdS)Nr^r_r%r`r�r)rr(r3r:r�rdr9re)rr�r	rhr3rrr�writerAssertEquals

"�zTestCsvBase.writerAssertEqualN)rrrr
rrrrrrsrc@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4S)5�TestDialectExcelr�cC�|�ddgg�dS)Nr��r
rrrr�test_single(rLzTestDialectExcel.test_singlecC�|�dgd�g�dS)Nz	1,2,3,4,5)r��2r��4r�rrrrr�test_simple+�zTestDialectExcel.test_simplecCs|�dg�dS�Nr%rrrrr�test_blankline.�zTestDialectExcel.test_blanklinecC�|�dddgg�dS)Nr5r%rrrrr�test_empty_fields1rz"TestDialectExcel.test_empty_fieldscC�|�ddgg�dS)Nrlr%rrrrr�test_singlequoted4rLz"TestDialectExcel.test_singlequotedcCr)Nz"",r%rrrrr�test_singlequoted_left_empty7rz-TestDialectExcel.test_singlequoted_left_emptycCr)Nz,""r%rrrrr�test_singlequoted_right_empty:rz.TestDialectExcel.test_singlequoted_right_emptycCr)Nr�r7rrrrr�test_single_quoted_quote=rLz)TestDialectExcel.test_single_quoted_quotecCr)Nz""""""rlrrrrr�test_quoted_quotes@rLz#TestDialectExcel.test_quoted_quotescCr
)Nza""brrrrr�test_inline_quoteCrLz"TestDialectExcel.test_inline_quotecCr
)Nza"b"crrrrr�test_inline_quotesFrLz#TestDialectExcel.test_inline_quotescCr)Nz"a"b�abrrrrr�test_quotes_and_moreI�z%TestDialectExcel.test_quotes_and_morecCr
)Nza"brrrrr�test_lone_quoteNrLz TestDialectExcel.test_lone_quotecCr)Nz"a" "b"za "b"rrrrr�test_quote_and_quoteQr$z%TestDialectExcel.test_quote_and_quotecCr
)Nz "a"rrrrr�test_space_and_quoteVrLz%TestDialectExcel.test_space_and_quotecCr)Nz#1,2,3,"I think, therefore I am",5,6)r�rr�zI think, therefore I amr�r�rrrrr�test_quotedY��zTestDialectExcel.test_quotedcCr)NzJ1,2,3,"""I see,"" said the blind man","as he picked up his hammer and saw")r�rr�z"I see," said the blind manz"as he picked up his hammer and sawrrrrr�test_quoted_quote_r)z"TestDialectExcel.test_quoted_quotecCs d}|�|gd�gd�g�dS)NzR1,2,3,"""I see,""
said the blind man","as he picked up his
hammer and saw"
9,8,7,6)r�rr�z"I see,"
said the blind manz"as he picked up his
hammer and saw)�9�8r�r�r)rr�rrr�test_quoted_nles��zTestDialectExcel.test_quoted_nlcCr)Nz	12,12,1",)�12r.z1"r%rrrrr�test_dubious_quoteqrz#TestDialectExcel.test_dubious_quotecCs|�gd�dSr�rrrrr�	test_nulltrzTestDialectExcel.test_nullcC�|�dggd�dS)Nr�zabc
r0rrrr�test_single_writerwrLz#TestDialectExcel.test_single_writercC�|�gd�gd�dS)N)r rpr�r��z
1,2,abc,3,4
r0rrrr�test_simple_writerzrz#TestDialectExcel.test_simple_writercCr4)N)r rpza"bc"r�r5z1,2,"a""bc""",3,4
r0rrrr�test_quotes}rzTestDialectExcel.test_quotescCr2�N�abc,defz"abc,def"
r0rrrr�test_quote_fieldsep�rLz$TestDialectExcel.test_quote_fieldsepcCr4)N)r rpza
bcr�r5z1,2,"a
bc",3,4
r0rrrr�
test_newlines�rzTestDialectExcel.test_newlinesN)rrrr:rrrrrrrrrr r!r#r%r&r'r(r*r-r/r1r3r6r7r:r;rrrrr%s6rc@�eZdZejZdZdS)�EscapedExcelrMN)rrrr(rQr$r=rrrrr=��r=c@�"eZdZe�Zdd�Zdd�ZdS)�TestEscapedExcelcCr2)Nr9�
abc\,def
r0rrrr�test_escape_fieldsep�rLz%TestEscapedExcel.test_escape_fieldsepcCr)NrAr9rrrrr�test_read_escape_fieldsep�rLz*TestEscapedExcel.test_read_escape_fieldsepN)rrrr=r:rBrCrrrrr@��r@c@s eZdZdZdd�Zdd�ZdS)�TestDialectUnix�unixcCr4)N)r �abc defr��"1","abc def","abc"
r0rrrrr6�rz"TestDialectUnix.test_simple_writercCr)NrH)r�rGr�rrrrr�test_simple_reader�rz"TestDialectUnix.test_simple_readerN)rrrr:r6rIrrrrrE�srEc@r<)�QuotedEscapedExcelrMN)rrrr(r�r$r=rrrrrJ�r>rJc@r?)�TestQuotedEscapedExcelcCr2r8r0rrrr�test_write_escape_fieldsep�rLz1TestQuotedEscapedExcel.test_write_escape_fieldsepcCr)Nz"abc\,def"
r9rrrrrrC�rLz0TestQuotedEscapedExcel.test_read_escape_fieldsepN)rrrrJr:rLrCrrrrrK�rDrKc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'S)(�TestDictFieldscCsZtdddd��}tj|gd�d�}|��}|�|d�Wd�dS1s&wYdS)Nr^r_r%r`��f1�f2�f3��
fieldnamesrn)rr(�
DictWriter�writeheaderr9)rrhr3�writeheader_return_valuerrr�test_writeheader_return_value�s
"�z,TestDictFields.test_writeheader_return_valuecCs�tdddd��<}tj|gd�d�}|��|�d�|�|��d�|�d	d
d��|�d�|��|�|��d�Wd�dS1sFwYdS)
Nr^r_r%r`rNrRr�
f1,f2,f3
rnr�)rOrQz	10,,abc
)	rr(rTrUrdr9�readlinercrer�rrr�test_write_simple_dict�s

"�z%TestDictFields.test_write_simple_dictcCsbt�}tj|gd�d�}|��|�|��d�|�dddd�ddd	d�g�|�|��d
�dS)NrNrRrXr r��frp��xyzzf1,f2,f3
1,abc,f
2,5,xyz
)rr(rTrUr9�getvaluer�r�rrr�test_write_multiple_dict_rows�s
�
�z,TestDictFields.test_write_multiple_dict_rowscCst�}|�ttj|�dSr)rr&r'r(rT�rrhrrr�test_write_no_fields�sz#TestDictFields.test_write_no_fieldsc	Cs�tdddd��M}tj|gd�d�}|�t��}|�ddd	d
��Wd�n1s*wYt|j�}|�d|�|�d|�|�	d
|�|�d|�Wd�dS1sWwYdS)Nr^r_r%r`rNrRrn�spamr�)�f4rPr rSz'f4'z'f2'r�)
rr(rTr&r�rc�str�	exception�assertIn�assertNotIn)rrhr3�cxrerrr�#test_write_fields_not_in_fieldnames�s�
"�z2TestDictFields.test_write_fields_not_in_fieldnamescCs$t�}|jttj|ddgdd�dS)NrOrP�raised��extrasaction)rr&r�r(rTr`rrr�&test_typo_in_extrasaction_raises_error�s
�z5TestDictFields.test_typo_in_extrasaction_raises_errorcCs@t�}tj|ddgdd�}ddddd	�}|�ttjj||�dS)
NrOrP�raiserkrr rpr���f0rOrPrQ)rr(rTr&r�rc�rrhr3�dictrowrrr�)test_write_field_not_in_field_names_raise�sz8TestDictFields.test_write_field_not_in_field_names_raisecCsJt�}tj|ddgdd�}ddddd	�}tj�||�|�|��d
�dS)NrOrP�ignorerkrr rpr�roz1,2
)rr(rTrcr9r^rqrrr�*test_write_field_not_in_field_names_ignore�s
z9TestDictFields.test_write_field_not_in_field_names_ignorecCsptddd��(}|�d�|�d�tj|gd�d�}|�t|�dd	d
d��Wd�dS1s1wYdS)Nr^r_r�z	1,2,abc
rrNrRr�rr��rr0rdr(�
DictReaderr9r��rrhr.rrr�test_read_dict_fields�s

�"�z$TestDictFields.test_read_dict_fieldscCsztddd��-}|�d�|�d�t�|�}|�t|�dddd	��|�|jgd	��Wd�dS1s6wYdS)
Nr^r_r��f1,f2,f3
1,2,abc
rr�rr�rN)rr0rdr(rwr9r�rSrxrrr�test_read_dict_no_fieldnames�s


"�z+TestDictFields.test_read_dict_no_fieldnamescCs�tddd��4}|�d�|�d�tj|tt�|��d�}|�|jgd��|�t|�dd	d
d��Wd�dS1s=wYdS)Nr^r_r�rzrrRrNr�rr�)	rr0rdr(rwr�r.r9rSrxrrr�#test_read_dict_fieldnames_from_file�s

�"�z2TestDictFields.test_read_dict_fieldnames_from_filec	Cs�ddl}tddd��9}|�d�|�d�t�|�}t|�}|�|g|�D]}|�|j	gd��|�|ddd	d��q%Wd�dS1sFwYdS)
Nrr^r_r�rzrNr�rr�)
�	itertoolsrr0rdr(rwr��chainr9rS)rr}rhr.�firstr�rrr�test_read_dict_fieldnames_chains


�"�z.TestDictFields.test_read_dict_fieldnames_chaincCsttddd��*}|�d�|�d�tj|ddgd�}|�t|�d	d
gd�d��Wd�dS1s3wYdS)
Nr^r_r��1,2,abc,4,5,6
rrOrPrRr�r�r�rr�r�)rOrPNrvrxrrr�test_read_longs

�
�"�zTestDictFields.test_read_longcCsvtddd��+}|�d�|�d�tj|ddgdd	�}|�t|�d
dgd�d
��Wd�dS1s4wYdS)Nr^r_r�r�rrOrP�_rest)rS�restkeyr�rr��rOrPr�rvrxrrr�test_read_long_with_rests

�
�"�z'TestDictFields.test_read_long_with_restcCs�tddd��1}|�d�|�d�tj|dd�}|�|jdd	g�|�t|�d
dgd�d
��Wd�dS1s:wYdS)Nr^r_r�zf1,f2
1,2,abc,4,5,6
rr��r�rOrPr�rr�r�)rr0rdr(rwr9rSr�rxrrr�&test_read_long_with_rest_no_fieldnames!s


�"�z5TestDictFields.test_read_long_with_rest_no_fieldnamescCs�tddd��;}|�d�|�d�tj|d��dd�}|�t|�d	d
ddd
dd��|�t|�d	d
ddddd��Wd�dS1sDwYdS)Nr^r_r�z1,2,abc,4,5,6
1,2,abc
r�1 2 3 4 5 6�DEFAULT)rS�restvalr�rr�rr�r��r�rr�rr�r�)rr0rdr(rw�splitr9r�rxrrr�test_read_short*s

��
�"�zTestDictFields.test_read_shortc	Cs:gd�}tj|d��d�}|�t|�dddddd	��dS)
N)z2147483648,43.0e12,17,abc,def
z147483648,43.0e2,17,abc,def
z47483648,43.0,170,abc,def
zi1 float i2 s1 s2rR�
2147483648z43.0e12�17r�r�)�i1�float�i2�s1�s2�r(rwr�r9r�)r�sampler.rrr�test_read_multi7s��zTestDictFields.test_read_multic
CsVtjgd�d��d�}|�t|�dddddd	d
��|�t|�dddddd	d
��dS)N)r�r6r�r�rRr�rr�rr�r�r�r��rr.rrr�test_read_with_blanksFs
���z$TestDictFields.test_read_with_blanksc
Cs8tjdgd��dd�}|�t|�ddddd	d
d��dS)Nz1;2;abc;4;5;6
r�r�)rSrr�rr�rr�r�r�r�r�rrr�test_read_semi_sepOs��z!TestDictFields.test_read_semi_sepN)rrrrWrZr_rarirmrsruryr{r|r�r�r�r�r�r�r�r�rrrrrM�s(

				
	rMc@�,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestArrayWritescC�ddl}dd�td�D�}|�d|�}tdddd	��.}tj|d
d�}|�|�d�d
d�|D��d}|�d�|�|�	�|�Wd�dS1sKwYdS)NrcSsg|]}d|�qS)�r��.0rqrrr�
<listcomp>Y�z2TestArrayWrites.test_int_write.<locals>.<listcomp>r�rqr^r_r%r`r�r�r5cS�g|]}t|��qSr�rdr�rrrr�_r�r6�
�arrayrrr(r3rc�joinrdr9re�rr��contentsr}rhr3r�rrr�test_int_writeWs

"�zTestArrayWrites.test_int_writecCr�)NrcS�g|]}d|d�qS�r�g�������?rr�rrrr�e�z5TestArrayWrites.test_double_write.<locals>.<listcomp>r�r�r^r_r%r`r�r�r5cSr�rr�r�rrrr�jr�r6r�r�rrr�test_double_writec�

"�z!TestArrayWrites.test_double_writecCr�)NrcSr�r�rr�rrrr�pr�z4TestArrayWrites.test_float_write.<locals>.<listcomp>r�r[r^r_r%r`r�r�r5cSr�rr�r�rrrr�ur�r6r�r�rrr�test_float_writenr�z TestArrayWrites.test_float_writecCs�ddl}ddl}|�d|j�}tdddd��)}tj|dd�}|�|�d	�|�d
}|�d�|�	|�
�|�Wd�dS1sBwYdS)Nr�ur^r_r%r`r�r�r5r6)r��string�
ascii_lettersrr(r3rcr�rdr9re)rr�r�r}rhr3r�rrr�test_char_writeys

"�zTestArrayWrites.test_char_writeN)rrrr�r�r�r�rrrrr�Vs
r�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestDialectValiditycCsGdd�dtj�}|�}|�|jtj�d|_|�tj|�d|_tj|_d|_	|�}|�|jtj�|�|j	d�|�
|j�d|_	|�tj��}|�Wd�n1sWwY|�t|j�d�d|_	|�tj��}|�Wd�n1s|wY|�t|j�d�dS)	Nc@r�)z3TestDialectValidity.test_quoting.<locals>.mydialectr�rMFTr6N�rrrrr=r<r?r"r(rQr$rrrrr��r�r�Tr7z''z("quotechar" must be a 1-character stringr5z+"quotechar" must be string or None, not int)
r(r�r9r$rQr&r)r<r*r!�
assertTruerdre�rr�r��cmrrr�test_quoting�s4����z TestDialectValidity.test_quotingcCs�Gdd�dtj�}|�}|�|jd�d|_|�tj��}|�Wd�n1s*wY|�t|j�d�d|_|�tj��}|�Wd�n1sOwY|�t|j�d�d|_|�tj��}|�Wd�n1stwY|�t|j�d�d	|_|�tj��}|�Wd�n1s�wY|�t|j�d
�d|_|�tj��}|�Wd�n1s�wY|�t|j�d�dS)Nc@r�)z5TestDialectValidity.test_delimiter.<locals>.mydialectr�rMFTr6Nr�rrrrr��r�r�r��:::z("delimiter" must be a 1-character stringr%�,z%"delimiter" must be string, not bytesr5z#"delimiter" must be string, not intz("delimiter" must be string, not NoneType)r(r�r9rr&r)rdrer�rrr�test_delimiter�sL����������z"TestDialectValidity.test_delimitercCs�Gdd�dtj�}|�}|�|jd�d|_|�tjd��|�Wd�n1s+wYd|_|�tjd��|�Wd�n1sHwYd|_|�tjd	��|�Wd�dS1sfwYdS)
Nc@r�)z6TestDialectValidity.test_escapechar.<locals>.mydialectr�rMFTr6Nr�rrrrr��r�r�rMz**z)"escapechar" must be a 1-character string�*z."escapechar" must be string or None, not bytesr5z,"escapechar" must be string or None, not int)r(r�r9r=�assertRaisesRegexr))rr�r�rrr�test_escapechar�s��"�z#TestDialectValidity.test_escapecharcCs�Gdd�dtj�}|�}|�|jd�d|_|�}|�|jd�d|_|�tj��}|�Wd�n1s7wY|�t|j�d�dS)Nc@r�)z:TestDialectValidity.test_lineterminator.<locals>.mydialectr�rMFTr6Nr�rrrrr��r�r�r6r�r5z!"lineterminator" must be a string)r(r�r9r"r&r)rdrer�rrr�test_lineterminator�s��z'TestDialectValidity.test_lineterminatorc	Cs�dd�}dD]<}|j|d��,|�tj||d�|�tj||d�|�tj||d�|�tj||d�Wd�n1s=wYqdS)	NcSs(Gdd�dtj�}t|||�|�}dS)Nc@r�)zQTestDialectValidity.test_invalid_chars.<locals>.create_invalid.<locals>.mydialectNr�rrrrr��sr�)r(r�rC)�
field_name�valuer�r�rrr�create_invalid�s
z>TestDialectValidity.test_invalid_chars.<locals>.create_invalid)rr=r!)r�r%r��xr\)�subTestr&r(r))rr�r�rrr�test_invalid_chars�s���z&TestDialectValidity.test_invalid_charsN)rrrr�r�r�r�r�rrrrr��s")r�c@s�eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
ed�Zed
�Zed�Zed�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd S)!�TestSnifferz�Harry's, Arlington Heights, IL, 2/1/03, Kimi Hayes
Shark City, Glendale Heights, IL, 12/28/02, Prezence
Tommy's Place, Blue Island, IL, 12/28/02, Blue Sunday/White Crow
Stonecutters Seafood and Chop House, Lemont, IL, 12/19/02, Week Back
a'Harry''s':'Arlington Heights':'IL':'2/1/03':'Kimi Hayes'
'Shark City':'Glendale Heights':'IL':'12/28/02':'Prezence'
'Tommy''s Place':'Blue Island':'IL':'12/28/02':'Blue Sunday/White Crow'
'Stonecutters ''Seafood'' and Chop House':'Lemont':'IL':'12/19/02':'Week Back'
z+"venue","city","state","date","performers"
z�05/05/03?05/05/03?05/05/03?05/05/03?05/05/03?05/05/03
05/05/03?05/05/03?05/05/03?05/05/03?05/05/03?05/05/03
05/05/03?05/05/03?05/05/03?05/05/03?05/05/03?05/05/03
zT2147483648;43.0e12;17;abc;def
147483648;43.0e2;17;abc;def
47483648;43.0;170;abc;def
zaaa	bbb
AAA	
BBB	
za|b|c
d|e|f
z'a'|'b'|'c'
'd'|e|f
z+"venue"+"city"+"state"+"date"+"performers"
z�Harry's+ Arlington Heights+ IL+ 2/1/03+ Kimi Hayes
Shark City+ Glendale Heights+ IL+ 12/28/02+ Prezence
Tommy's Place+ Blue Island+ IL+ 12/28/02+ Blue Sunday/White Crow
Stonecutters Seafood and Chop House+ Lemont+ IL+ 12/19/02+ Week Back
a'Harry''s'+ Arlington Heights'+ 'IL'+ '2/1/03'+ 'Kimi Hayes'
'Shark City'+ Glendale Heights'+' IL'+ '12/28/02'+ 'Prezence'
'Tommy''s Place'+ Blue Island'+ 'IL'+ '12/28/02'+ 'Blue Sunday/White Crow'
'Stonecutters ''Seafood'' and Chop House'+ 'Lemont'+ 'IL'+ '12/19/02'+ 'Week Back'
z|
                        abc,def
                        ghijkl,mno
                        ghi,jkl
                        z~
                        abc,def
                        ghijkl,mnop
                        ghi,jkl
                         z�"time","forces"
                        1,1.5
                        0.5,5+0j
                        0,0
                        1+1j,6
                        z|"time","forces"
                        0,0
                        1,2
                        a,b
                        cCs0t��}|�|�|j��|�|�|j��dSr)r(�Snifferr��
has_header�sample12�assertFalse�sample13�r�snifferrrr�test_issue43625VszTestSniffer.test_issue43625cCs0t��}|�|�|j��|�|�|j��dS)zDMore to document existing (unexpected?) behavior than anything else.N)r(r�r�r��sample10�sample11r�rrr�test_has_header_strings[sz#TestSniffer.test_has_header_stringscC�:t��}|�|�|j�d�|�|�|j|j�d�dS�NFT)r(r�r;r��sample1�header1r�rrr�test_has_headera�zTestSniffer.test_has_headercCr�r�)r(r�r;r��sample8�header2r�rrr�'test_has_header_regex_special_delimiterfr�z3TestSniffer.test_has_header_regex_special_delimiterc	Cs�t��}dD]9}|�|��*|�|d�}|�|jd�|�|jd�|�|jd�|�|j	d�Wd�n1s:wYqdS)N)z	;'123;4';z'123;4';z;'123;4'z'123;4'z,;r�r�F)
r(r�r��sniffr9rr!r;r<r?)rr��headerr:rrr�test_guess_quote_and_delimiterks���z*TestSniffer.test_guess_quote_and_delimitercCsxt��}|�|j�}|�|jd�|�|jd�|�|jd�|�|j	�}|�|jd�|�|jd�|�|jd�dS)Nr5r7Tr8r�F)
r(r�r�r�r9rr!r;r?�sample2�rr�r:rrr�
test_sniffuszTestSniffer.test_sniffcCst��}|�|j�}|�|j|j�|j|jdd�}|�|jd�|j|jdd�}|�|jd�|�|j�}|�|jd�|�|j�}|�|jd�|�|j	�}|�|jd�|�|j
�}|�|jd�|�|jd	�|�|j�}|�|jd
�|�|j
�}|�|jd
�|�|jd	�dS)Nz?,)�
delimiters�?z/,�/r�r�r�r��+)r(r�r��sample3rfrr9�sample4�sample5�sample6�sample7r!r��sample9r�rrr�test_delimiters�s*zTestSniffer.test_delimiterscCs�t��}|�|j�}|�|j�|�|j�}|�|j�|�|j�}|�|j�|�|j	�}|�|j�|�|j
�}|�|j�dSr)r(r�r�r�r�r<r�r�r�r�r�r�rrr�test_doublequote�szTestSniffer.test_doublequoteN)rrrr�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rrrrr�s0
r�c@seZdZdd�ZeZdS)�NULcGsdSrr)�srDrrrr0�rz	NUL.writeN)rrrr0�
writelinesrrrrr��sr��gettotalrefcountzrequires sys.gettotalrefcount()c@r�)
�	TestLeakscCsxd}t��}td�D])}t��|�tjg�t��}t�dg�t�dg�t�dg�||}|}q
|�	|d�dS)Nrr��a,b,c
r��
�sysr�r�gc�collectr9�garbager(r.�
assertLess)r�delta�lastrcrq�rcrrr�test_create_read�szTestLeaks.test_create_readcCsxd}t��}t�}td�D]&}t��|�tjg�t��}t�	|�t�	|�t�	|�||}|}q
|�
|d�dS)Nrr�r�)r�r�r�rr�r�r9r�r(r3r�)rr�r�r�rqr�rrr�test_create_write�s


zTestLeaks.test_create_writecCsrd}dgd}t��}td�D]!}t��|�tjg�t��}t�|�}|D]}q'||}|}q|�	|d�dS)Nrr�r\r�r�)rr�r�r�rqr��rdrr�rrr�	test_read�s

zTestLeaks.test_readc	Cs�d}gd�gd}t�}t��}td�D]&}t��|�tjg�t��}t�	|�}|D]}|�
|�q,||}|}q|�|d�dS)Nrr�r\r�)r�r�r�rr�r�r9r�r(r3rcr�)	rr�r�r�r�rqr�r3r�rrr�
test_write�s
zTestLeaks.test_writeN)rrrrrrrrrrrr��s
r�c@s$eZdZgd�Zdd�Zdd�ZdS)�TestUnicode)uMartin von LöwisuMarc André LemburgzGuido van RossumuFrançois PinardcCsrtdddd��(}|�d�|j�d�|�d�t�|�}|�t|�|jg�Wd�dS1s2wYdS�Nr^r%r_r�r5r6r)	rr0r��namesrdr(r.r9r�rxrrr�test_unicode_read�s

"�zTestUnicode.test_unicode_readcCsttdddd��)}t�|�}|�|j�d�|j�d}|�d�|�|��|�Wd�dS1s3wYdSr)	rr(r3rcrr�rdr9re)rrhr3r�rrr�test_unicode_write�s

"�zTestUnicode.test_unicode_writeN)rrrrrr	rrrrr�src@rm)�KeyOrderingTestc	Cs�t�}td�D]=}tdddd��,}t�||�}|��|�d�t�|�}t|j	�}|�
||�|�|�Wd�n1s?wYq|�
t|�dd�dS)	N�abcder^r%r_r�r�xz@Key ordering: some key permutations not collected (expected 120))
�setrrr(rTrUrdrw�tuplerSr9�add�len)r�	resultset�keys�
fileobject�dw�dr�ktrrr�,test_ordering_for_the_dict_reader_and_writer	s


��	z<KeyOrderingTest.test_ordering_for_the_dict_reader_and_writerc
Cs�td���}|�tt�|��tddg�tdddddgfg�tdd	g�td
dg�g�|�ttj|dd
��tddg�tdddddgfg�tdd	g�td
dg�g�|d=|�ttj|ddgd��tddg�tdddddgfg�tddg�tddg�g�dS)Nz�            FirstName,LastName
            Eric,Idle
            Graham,Chapman,Over1,Over2

            Under1
            John,Cleese
        )�	FirstName�Eric)�LastName�Idle)r�Graham)r�Chapman�Over1�Over2)r�Under1)rN)r�John)r�Cleese�	OtherInfor�r�fname�lnamerR)r$r)r%r)r$r)r%r)r$r )r%N)r$r!)r%r")r�
splitlinesr9r�r(rwr)r�datarrr�test_ordered_dict_readers>�	

�

��

�

��

�

��z(KeyOrderingTest.test_ordered_dict_readerN)rrrrr(rrrrr
sr
c@rm)�MiscTestCasecCsddh}tj|td|d�dS)Nr��__version__)r(�_csv)�extra)r�check__all__r()rr,rrr�test__all__<szMiscTestCase.test__all__cCsGdd�dtj�}dS)Nc@r�)z+MiscTestCase.test_subclassable.<locals>.FooNr�rrrr�FooBsr/)r(r))rr/rrr�test_subclassable@szMiscTestCase.test_subclassableN)rrrr.r0rrrrr);sr)�__main__)-rr��unittest�ior�tempfilerr(r�r�testr�test.supportrr}r�textwrapr�collectionsrr
�TestCaserr�rrr�r=r@rErJrKrMr�r�r�r��
skipUnless�hasattrr�rr
r)r�mainrrrr�<module>sXra			..�A4	�

Youez - 2016 - github.com/yon3zu
LinuXploit