403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.216.153
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/test/__pycache__/test_csv.cpython-36.opt-1.pyc
3

�w2_=��@s�ddlZddlZddlZddlmZddlmZddlZddlZddl	Z	ddl
mZddlm
Z
ddlmZddlmZGdd	�d	ej�ZGd
d�dej�ZGdd
�d
ej�ZGdd�de�ZGdd�dej�ZGdd�de�ZGdd�de�ZGdd�dej�ZGdd�de�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGd d!�d!ej�Z Gd"d#�d#�Z!ej"e#ed$�d%�Gd&d'�d'ej��Z$Gd(d)�d)ej�Z%Gd*d+�d+ej�Z&Gd,d-�d-ej�Z'e(d.k�r�ej)�dS)/�N)�StringIO)�
TemporaryFile)�support)�permutations)�dedent)�OrderedDictc@seZdZdZdd�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+�Zejd,d-��Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Z d8d9�Z!d:d;�Z"d<d=�Z#d>d?�Z$d@dA�Z%dBS)C�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�|jt|�|jt|d�|jt||dd�|jt||dd�|jt||dd�|jtj||d�|jt||dd�|jt||dd�|jt||dd�|jt||dd�|jt||dd�|jt||dd	�|jt||tjd
d�|jt||tjdd�dS)Nr)�bad_attr)�	delimiterZXXZfoo�)�	quotechar)�lineterminator)�quoting�)rr)�assertRaises�	TypeError�csv�Error�	QUOTE_ALL)�self�ctor�arg�r�2/opt/alt/python36/lib64/python3.6/test/test_csv.py�_test_arg_valids 

zTest_Csv._test_arg_validcCs|jtjg�dS)N)rr�reader)rrrr�test_reader_arg_valid)szTest_Csv.test_reader_arg_validcCs|jtjt��dS)N)rr�writerr)rrrr�test_writer_arg_valid,szTest_Csv.test_writer_arg_validcGs�||�}|j|jjd�|j|jjd�|j|jjd�|j|jjd�|j|jjd�|j|jjtj	�|j|jj
d�|j|jjd�|jt
t|jd�|jt
t|jdd�|jt
t|jd�|jt
t|jdd�dS)	N�,Tz
�"Fr
�:r)�assertEqual�dialectr
�doublequote�
escapecharr
rrr�
QUOTE_MINIMAL�skipinitialspace�strictr�AttributeError�delattr�setattr)rr�args�objrrr�_test_default_attrs/szTest_Csv._test_default_attrscCs|jtjg�dS)N)r.rr)rrrr�test_reader_attrsAszTest_Csv.test_reader_attrscCs|jtjt��dS)N)r.rrr)rrrr�test_writer_attrsDszTest_Csv.test_writer_attrsc
Gs�tdddddtjddd�}|||�}|j|jjd�|j|jjd�|j|jjd�|j|jjd�|j|jj	d�|j|jj
tj�|j|jjd�|j|jjd�dS)Nr!F�\�
�*T)r
r$r%r
rrr'r()
�dictr�
QUOTE_NONEr"r#r
r$r%r
rrr'r()rrr,�kwargsr-rrr�_test_kw_attrsGs
zTest_Csv._test_kw_attrscCs|jtjg�dS)N)r7rr)rrrr�test_reader_kw_attrsWszTest_Csv.test_reader_kw_attrscCs|jtjt��dS)N)r7rrr)rrrr�test_writer_kw_attrsZszTest_Csv.test_writer_kw_attrscGs�Gdd�d�}||f}||�}|j|jjd�|j|jjd�|j|jjd�|j|jjd�|j|jjd�|j|jjtj	�|j|jj
d�|j|jjd�dS)	Nc@s.eZdZdZdZdZdZdZej	Z
dZdZdS)z-Test_Csv._test_dialect_attrs.<locals>.dialect�-F�^�$�#TN)
�__name__�
__module__�__qualname__r
r$r%r
rrrrr'r(rrrrr#_sr#r:Fr;r<r=T)r"r#r
r$r%r
rrrrr'r()rrr,r#r-rrr�_test_dialect_attrs]s	
zTest_Csv._test_dialect_attrscCs|jtjg�dS)N)rArr)rrrr�test_reader_dialect_attrsssz"Test_Csv.test_reader_dialect_attrscCs|jtjt��dS)N)rArrr)rrrr�test_writer_dialect_attrsvsz"Test_Csv.test_writer_dialect_attrscKsVtddd��@}tj|f|�}|j|�|jd�|j|j�||jj�WdQRXdS)Nzw+r)�newliner)	rrr�writerow�seekr"�readr#r
)r�fields�expectr6�fileobjrrrr�_write_testzs


zTest_Csv._write_testcKsdtddd��N}tj|f|�}|j|��|j|�WdQRX|jd�|j|j�d�WdQRXdS)Nzw+r)rDr)rrrrrErFr"rG)r�excrHr6rJrrrr�_write_error_test�s
zTest_Csv._write_error_testcCs||jtjd�|jfd�|jdgd�|jtjdgtjd�Gdd�d�}|jt|��Gdd�d�}|jt|�g�dS)Nrz"")rc@seZdZdd�Zdd�ZdS)z.Test_Csv.test_write_arg_valid.<locals>.BadListcSsdS)N�
r)rrrr�__len__�sz6Test_Csv.test_write_arg_valid.<locals>.BadList.__len__cSs|dkrt�dS)N�)�OSError)r�irrr�__getitem__�sz:Test_Csv.test_write_arg_valid.<locals>.BadList.__getitem__N)r>r?r@rOrSrrrr�BadList�srTc@seZdZdd�ZdS)z.Test_Csv.test_write_arg_valid.<locals>.BadItemcSst�dS)N)rQ)rrrr�__str__�sz6Test_Csv.test_write_arg_valid.<locals>.BadItem.__str__N)r>r?r@rUrrrr�BadItem�srV)rMrrrKr5rQ)rrTrVrrr�test_write_arg_valid�szTest_Csv.test_write_arg_validcCs$dd}|j||gd||f�dS)N�XiP�z%s,%s)rK)r�	bigstringrrr�test_write_bigfield�szTest_Csv.test_write_bigfieldcCs�|jdddgd�|jtjdddgtjd�|jdddgdtjd�|jdddgdtjd�|jdddgdtjd�|jddgd	tjd�dS)
N�arzp,qz	a,1,"p,q")rz"a",1,"p,q"z
"a","1","p,q"za
bz	"a
b","1")rKrMrrr5r&�QUOTE_NONNUMERICr)rrrr�test_write_quoting�s



zTest_Csv.test_write_quotingcCs�|jdddgddd�|jtjdddgddd	�|jdddgd
ddd	�|jdgddtjd
�|jdgddtjdd�|jdgddtjd
�|jdddgddtjd
�dS)Nr[rzp,qz	a,1,"p,q"r1)r%zp,"q"F)r%r$z
a,1,"p,\"q\""r z"""")r%rz\")r%rr$za,1,p\,q)rKrMrrr&r5)rrrr�test_write_escape�s




zTest_Csv.test_write_escapecCs�|jtdddg�d�|jtdddg�d�|jtg�d�|jtdg�d�|jtjtdg�tjd�|jtddg�d	�dS)
Nr[rzp,qz	a,1,"p,q"za,1,rz"")rr)rK�iterrMrrr5)rrrr�test_write_iterable�szTest_Csv.test_write_iterablecCs�Gdd�d�}tj|��}|jt|jdgg�tddd��P}tj|�}|jt|jd�|jddgdd	gg�|jd
�|j|j	�d�WdQRXdS)Nc@seZdZdd�ZdS)z+Test_Csv.test_writerows.<locals>.BrokenFilecSst�dS)N)rQ)rZbufrrr�write�sz1Test_Csv.test_writerows.<locals>.BrokenFile.writeN)r>r?r@rarrrr�
BrokenFile�srbr[zw+r)rD�b�c�drz
a,b
c,d
)
rrrrQ�	writerowsrrrFr"rG)rrbrrJrrr�test_writerows�s

zTest_Csv.test_writerowscCs�tddd��@}tj|�}|jddgddgg�|jd�|j|j�d�WdQRXtddd��<}tj|�}|jdgdgg�|jd�|j|j�d�WdQRXtddd��<}tj|�}|jdgdgg�|jd�|j|j�d	�WdQRXdS)
Nzw+r)rDr[rerza,
,d
z""
a
za
""
)rrrrfrFr"rG)rrJrrrr�test_writerows_with_none�s





z!Test_Csv.test_writerows_with_nonec
Cs`ddl}|jd�}tddd��8}tj|�}|j|gg�|jd�|j|j�d�WdQRXdS)Nrr[zw+r)rDza
)	�	_testcapiZunicode_legacy_stringrrrrfrFr"rG)rrirdrJrrrr�test_writerows_legacy_strings�s


z&Test_Csv.test_writerows_legacy_stringscKs&tj|f|�}t|�}|j||�dS)N)rr�listr")r�inputrIr6r�resultrrr�
_read_test�szTest_Csv._read_testcCs�|jgg�|jdggg�|jtj|jdgddd�|jtj|jdgddd�|jdgdggdd�|jtj|jd	gd�dS)
Nrz"ab"cr)r(zabc�abcr)r$sabc)rnrrr)rrrr�test_read_oddinputs�szTest_Csv.test_read_oddinputscCs�|jdgddgg�|jdgddgg�|jdgddgg�|jdgddgg�|jtj|jdgg�|jtj|jdgg�|jtj|jd	gg�dS)
Nza,br[rcza,b
za,b
za,b
za,b
c,dza,b
c,dza,b
c,d)rnrrr)rrrr�
test_read_eolszTest_Csv.test_read_eolcCs�|jdgddgg�|jdgdgg�|jdgdggdd�|jtj|jdggdd	�|jtj|jdggdd	�|jtj|jdggddd
�dS)Nza,"r[rz"ar;�
)r%T)r()r%r()rnrrr)rrrr�
test_read_eofszTest_Csv.test_read_eofcCs�|jdgdddggdd�|jdgddggdd�|jd	gddggdd�|jd
gddggdd�|jdgddggdd�|jd
gddggdd�dS)Nza,\b,cr[rcrdr1)r%za,b\,czb,cza,"b\,c"za,"b,\c"z	a,"b,c\""zb,c"za,"b,c"\zb,c\)rn)rrrr�test_read_escapeszTest_Csv.test_read_escapecCs�|jdgdddgg�|jdgdddddggddd�|jdgdddddggtjdd	�|jd
gdddd
dggtjd�|jdgddgg�|jt|jdgggtjd�dS)Nz	1,",3,",5�1z,3,�5r �3r1)rr%)rr%z
,3,"5",7.3, 9r�g333333@�	)rz"a
b", 7za
bz 7zabc,3)rnrr5r\r�
ValueError)rrrr�test_read_quoting!s


zTest_Csv.test_read_quotingcCs�tj�}z�d}d|}d||f}|j|g||gg�tj|�|j|g||gg�|jtj�|�tj|d�|jtj|j|gg�|jttjd�|jttjdd�Wdtj|�XdS)NiP�rXz%s,%sr)rZfield_size_limitrnr"rrr)r�limit�sizerYZbiglinerrr�test_read_bigfield/s
zTest_Csv.test_read_bigfieldcCs�tjdddg�}|j|jd�t|�|j|jd�t|�|j|jd�t|�|j|jd�|jtt|�|j|jd�dS)Nzline,1zline,2zline,3rrrPrx)rrr"Zline_num�nextr�
StopIteration)r�rrrr�test_read_linenumBszTest_Csv.test_read_linenumcCs�tddd��p}tj|�}|jt|jd�ddgddgg}|j|�|jd�x*ttj|��D]\}}|j	|||�q\WWdQRXdS)	Nzw+r)rDza
brcrdzx
dr)
rrrrrrfrF�	enumeraterr")rrJr�rowsrR�rowrrr�test_roundtrip_quoteed_newlinesNs


z(Test_Csv.test_roundtrip_quoteed_newlinesc
Cs�tddd��p}tj|tjdd�}ddgdd	gg}|j|�|jd
�x2ttj|tjdd��D]\}}|j|||�q\WWdQRXdS)Nzw+r)rDr1)rr%za
brcrdzx
dr)	rrrr5rfrFr�rr")rrJrr�rRr�rrr�(test_roundtrip_escaped_unquoted_newlinesXs

 z1Test_Csv.test_roundtrip_escaped_unquoted_newlinesN)&r>r?r@�__doc__rrrr.r/r0r7r8r9rArBrCrKrMrWrZr]r^r`rgrhrZcpython_onlyrjrnrprqrsrtr{r~r�r�r�rrrrrsB
		
rc@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�TestDialectRegistrycCs�|jttjd�|jttj�|jtjtjd�|jtjtjd�|jttj�|jtjtjd�|jtjtjd�|jttjd�|jttjdd�|jttjddd�|jttjddd�|jttjddd�|jttjg�dS)NZnonesuchr)Zbadargument)r)rrr�
list_dialects�get_dialectr�unregister_dialect�register_dialect)rrrr�test_registry_badargsbsz)TestDialectRegistry.test_registry_badargscCsvGdd�dtj�}d}tj�|g}|j�tj||�|jtj|�|jtj|�j	d�t
tj��}|j||�dS)Nc@seZdZdZdS)z5TestDialectRegistry.test_registry.<locals>.myexceltsv�	N)r>r?r@r
rrrr�
myexceltsvtsr�r�)r�excelr��sortr��
addCleanupr�r"r�r
�sorted)rr��nameZexpected_dialectsZgot_dialectsrrr�
test_registryssz!TestDialectRegistry.test_registrycCsZd}tj|dd�|jtj|�|jtj|�jd�|jdddggttjdg|���dS)NZfedcba�;)r
rX�Y�ZzX;Y;Z)	rr�r�r�r"r�r
rkr)rr�rrr�test_register_kwargss
z(TestDialectRegistry.test_register_kwargscCs$Gdd�dtj�}|jtj|�dS)Nc@seZdZdZdS)z?TestDialectRegistry.test_incomplete_dialect.<locals>.myexceltsvr�N)r>r?r@r
rrrrr��sr�)r�Dialectrr)rr�rrr�test_incomplete_dialect�sz+TestDialectRegistry.test_incomplete_dialectcCsvGdd�dtj�}td��R}|jd�|jd�tj||�d�}|jt|�ddg�|jt|�d	d
g�WdQRXdS)Nc@seZdZdZejZdZdS)z5TestDialectRegistry.test_space_dialect.<locals>.space� r1N)r>r?r@r
rr5rr%rrrr�space�sr�zw+zabc def
c1ccccc1 benzene
r)r#ro�defZc1ccccc1Zbenzene)rr�rrarFrr"r)rr�rJrrrr�test_space_dialect�s


z&TestDialectRegistry.test_space_dialectcOsZtdddd��B}tj|f|�|�}|jdddg�|jd�|j|j�|�WdQRXdS)	Nzw+rzutf-8)rD�encodingrrPrxr)rrrrErFr"rG)r�expectedZ	writeargsZkwwriteargsrJrrrr�compare_dialect_123�s

z'TestDialectRegistry.compare_dialect_123cCs�Gdd�dtj�}Gdd�dtj�}Gdd�dtj�}Gdd�dtj�}tjd|�zV|jd	�|jd
|�|jd|�d�|jd
dd�|jd|dd�|jd|d�Wdtjd�XdS)Nc@seZdZdZdS)z5TestDialectRegistry.test_dialect_apply.<locals>.testAr�N)r>r?r@r
rrrr�testA�sr�c@seZdZdZdS)z5TestDialectRegistry.test_dialect_apply.<locals>.testBr!N)r>r?r@r
rrrr�testB�sr�c@seZdZdZdS)z5TestDialectRegistry.test_dialect_apply.<locals>.testC�|N)r>r?r@r
rrrr�testC�sr�c@seZdZdZdS)z7TestDialectRegistry.test_dialect_apply.<locals>.testUniuΛN)r>r?r@r
rrrr�testUni�sr�z1,2,3
z1	2	3
z1:2:3
)r#z1|2|3
z1;2;3
r�)r#r
u	1Λ2Λ3
)rr�r�r�r�)rr�r�r�r�rrr�test_dialect_apply�s
z&TestDialectRegistry.test_dialect_applycCsT|jttjgdd�|jttjgdd�|jttjgdd�|jttjgdd�dS)Nr)r	)r
r)r�d���)rrrr)rrrr�test_bad_dialect�sz$TestDialectRegistry.test_bad_dialectcCs0x*tj�D]}tj|�}|jttj|�q
WdS)N)rr�r�rr�copy)rr�r#rrr�	test_copy�s
zTestDialectRegistry.test_copycCsJxDtj�D]8}tj|�}x(ttjd�D]}|jttj||�q(Wq
WdS)Nr)	rr�r��range�pickleZHIGHEST_PROTOCOLrr�dumps)rr�r#�protorrr�test_pickle�s
zTestDialectRegistry.test_pickleN)
r>r?r@r�r�r�r�r�r�r�r�r�r�rrrrr�as
	r�c@seZdZdd�Zdd�ZdS)�TestCsvBasecCsTtddd��>}|j|�|jd�tj||jd�}t|�}|j||�WdQRXdS)Nzw+r)rDr)r#)rrarFrrr#rkr")rrl�expected_resultrJrrHrrr�readerAssertEqual�s

zTestCsvBase.readerAssertEqualcCsPtddd��:}tj||jd�}|j|�|jd�|j|j�|�WdQRXdS)Nzw+r)rD)r#r)rrrr#rfrFr"rG)rrlr�rJrrrr�writerAssertEqual�s


zTestCsvBase.writerAssertEqualN)r>r?r@r�r�rrrrr��sr�c@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�cCs|jddgg�dS)Nro)r�)rrrr�test_single�szTestDialectExcel.test_singlecCs|jddddddgg�dS)Nz	1,2,3,4,5ru�2rw�4rv)r�)rrrr�test_simple�szTestDialectExcel.test_simplecCs|jdg�dS)Nr)r�)rrrr�test_blankline�szTestDialectExcel.test_blanklinecCs|jdddgg�dS)Nrr)r�)rrrr�test_empty_fields�sz"TestDialectExcel.test_empty_fieldscCs|jddgg�dS)Nz""r)r�)rrrr�test_singlequoted�sz"TestDialectExcel.test_singlequotedcCs|jdddgg�dS)Nz"",r)r�)rrrr�test_singlequoted_left_empty�sz-TestDialectExcel.test_singlequoted_left_emptycCs|jdddgg�dS)Nz,""r)r�)rrrr�test_singlequoted_right_empty�sz.TestDialectExcel.test_singlequoted_right_emptycCs|jddgg�dS)Nz""""r )r�)rrrr�test_single_quoted_quote�sz)TestDialectExcel.test_single_quoted_quotecCs|jddgg�dS)Nz""""""z"")r�)rrrr�test_quoted_quotes�sz#TestDialectExcel.test_quoted_quotescCs|jddgg�dS)Nza""b)r�)rrrr�test_inline_quote�sz"TestDialectExcel.test_inline_quotecCs|jddgg�dS)Nza"b"c)r�)rrrr�test_inline_quotes�sz#TestDialectExcel.test_inline_quotescCs|jddgg�dS)Nz"a"bZab)r�)rrrr�test_quotes_and_moresz%TestDialectExcel.test_quotes_and_morecCs|jddgg�dS)Nza"b)r�)rrrr�test_lone_quotesz TestDialectExcel.test_lone_quotecCs|jddgg�dS)Nz"a" "b"za "b")r�)rrrr�test_quote_and_quotesz%TestDialectExcel.test_quote_and_quotecCs|jddgg�dS)Nz "a")r�)rrrr�test_space_and_quote
sz%TestDialectExcel.test_space_and_quotecCs|jdddddddgg�dS)Nz#1,2,3,"I think, therefore I am",5,6rur�rwzI think, therefore I amrv�6)r�)rrrr�test_quotedszTestDialectExcel.test_quotedcCs|jddddddgg�dS)NzJ1,2,3,"""I see,"" said the blind man","as he picked up his hammer and saw"rur�rwz"I see," said the blind manz"as he picked up his hammer and saw)r�)rrrr�test_quoted_quotesz"TestDialectExcel.test_quoted_quotecCs*d}|j|dddddgddd	d
gg�dS)NzR1,2,3,"""I see,""
said the blind man","as he picked up his
hammer and saw"
9,8,7,6rur�rwz"I see,"
said the blind manz"as he picked up his
hammer and saw�9�8�7r�)r�)rrlrrr�test_quoted_nlszTestDialectExcel.test_quoted_nlcCs|jdddddgg�dS)Nz	12,12,1",Z12z1"r)r�)rrrr�test_dubious_quote(sz#TestDialectExcel.test_dubious_quotecCs|jgd�dS)Nr)r�)rrrr�	test_null+szTestDialectExcel.test_nullcCs|jdggd�dS)Nrozabc
)r�)rrrr�test_single_writer.sz#TestDialectExcel.test_single_writercCs|jdddddggd�dS)NrrProrx�z
1,2,abc,3,4
)r�)rrrr�test_simple_writer1sz#TestDialectExcel.test_simple_writercCs|jdddddggd�dS)NrrPza"bc"rxr�z1,2,"a""bc""",3,4
)r�)rrrr�test_quotes4szTestDialectExcel.test_quotescCs|jdggd�dS)Nzabc,defz"abc,def"
)r�)rrrr�test_quote_fieldsep7sz$TestDialectExcel.test_quote_fieldsepcCs|jdddddggd�dS)NrrPza
bcrxr�z1,2,"a
bc",3,4
)r�)rrrr�
test_newlines:szTestDialectExcel.test_newlinesN)r>r?r@r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr��s4r�c@seZdZejZdZdS)�EscapedExcelr1N)r>r?r@rr5rr%rrrrr�=sr�c@s"eZdZe�Zdd�Zdd�ZdS)�TestEscapedExcelcCs|jdggd�dS)Nzabc,defz
abc\,def
)r�)rrrr�test_escape_fieldsepDsz%TestEscapedExcel.test_escape_fieldsepcCs|jddgg�dS)Nz
abc\,def
zabc,def)r�)rrrr�test_read_escape_fieldsepGsz*TestEscapedExcel.test_read_escape_fieldsepN)r>r?r@r�r#r�r�rrrrr�Asr�c@s eZdZdZdd�Zdd�ZdS)�TestDialectUnixZunixcCs|jdddggd�dS)Nrzabc defroz"1","abc def","abc"
)r�)rrrrr�Msz"TestDialectUnix.test_simple_writercCs|jddddgg�dS)Nz"1","abc def","abc"
ruzabc defro)r�)rrrr�test_simple_readerPsz"TestDialectUnix.test_simple_readerN)r>r?r@r#r�r�rrrrr�Jsr�c@seZdZejZdZdS)�QuotedEscapedExcelr1N)r>r?r@rr\rr%rrrrr�Ssr�c@s"eZdZe�Zdd�Zdd�ZdS)�TestQuotedEscapedExcelcCs|jdggd�dS)Nzabc,defz"abc,def"
)r�)rrrr�test_write_escape_fieldsepZsz1TestQuotedEscapedExcel.test_write_escape_fieldsepcCs|jddgg�dS)Nz"abc\,def"
zabc,def)r�)rrrrr�]sz0TestQuotedEscapedExcel.test_read_escape_fieldsepN)r>r?r@r�r#r�r�rrrrr�Wsr�c@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%S)&�TestDictFieldscCs�tddd��n}tj|dddgd�}|j�|jd�|j|j�d	�|jd
dd��|jd�|j�|j|j�d
�WdQRXdS)Nzw+r)rD�f1�f2�f3)�
fieldnamesrz
f1,f2,f3
rNro)r�r�z	10,,abc
)	rr�
DictWriter�writeheaderrFr"�readlinerErG)rrJrrrr�test_write_simple_dictcs

z%TestDictFields.test_write_simple_dictcCsdt�}tj|dddgd�}|j�|j|j�d�|jdddd	�d
ddd	�g�|j|j�d
�dS)Nr�r�r�)r�z
f1,f2,f3
rro�f)r�r�r�rP�Zxyzzf1,f2,f3
1,abc,f
2,5,xyz
)rrr�r�r"�getvaluerf)rrJrrrr�test_write_multiple_dict_rowsns
z,TestDictFields.test_write_multiple_dict_rowscCst�}|jttj|�dS)N)rrrrr�)rrJrrr�test_write_no_fieldsxsz#TestDictFields.test_write_no_fieldscCs�tddd��|}tj|dddgd�}|jt��}|jdd	d
d��WdQRXt|j�}|jd|�|jd
|�|j	d|�|jd|�WdQRXdS)Nzw+r)rDr�r�r�)r�rNZspamro)Zf4r�rr�z'f4'z'f2'ru)
rrr�rrzrE�str�	exception�assertInZassertNotIn)rrJrZcxr�rrr�#test_write_fields_not_in_fieldnames|s
z2TestDictFields.test_write_fields_not_in_fieldnamescCs$t�}|jttj|ddgdd�dS)Nr�r�Zraised)�extrasaction)rrrzrr�)rrJrrr�&test_typo_in_extrasaction_raises_error�sz5TestDictFields.test_typo_in_extrasaction_raises_errorcCs@t�}tj|ddgdd�}ddddd	�}|jttjj||�dS)
Nr�r��raise)r�rrrPrx)�f0r�r�r�)rrr�rrzrE)rrJr�dictrowrrr�)test_write_field_not_in_field_names_raise�sz8TestDictFields.test_write_field_not_in_field_names_raisecCsJt�}tj|ddgdd�}ddddd	�}tjj||�|j|j�d
�dS)Nr�r��ignore)r�rrrPrx)r�r�r�r�z1,2
)rrr�rEr"r�)rrJrr�rrr�*test_write_field_not_in_field_names_ignore�s
z9TestDictFields.test_write_field_not_in_field_names_ignorec
CsXtd��F}|jd�|jd�tj|dddgd�}|jt|�dd	d
d��WdQRXdS)Nzw+z	1,2,abc
rr�r�r�)r�rur�ro)r�r�r�)rrarFr�
DictReaderr"r)rrJrrrr�test_read_dict_fields�s


z$TestDictFields.test_read_dict_fieldsc
Csbtd��P}|jd�|jd�tj|�}|jt|�dddd��|j|jdd	d
g�WdQRXdS)Nzw+zf1,f2,f3
1,2,abc
rrur�ro)r�r�r�r�r�r�)rrarFrr�r"rr�)rrJrrrr�test_read_dict_no_fieldnames�s



z+TestDictFields.test_read_dict_no_fieldnamesc
Csptd��^}|jd�|jd�tj|ttj|��d�}|j|jdddg�|jt|�dd	d
d��WdQRXdS)Nzw+zf1,f2,f3
1,2,abc
r)r�r�r�r�rur�ro)r�r�r�)	rrarFrr�rrr"r�)rrJrrrr�#test_read_dict_fieldnames_from_file�s


z2TestDictFields.test_read_dict_fieldnames_from_filecCs�ddl}td��l}|jd�|jd�tj|�}t|�}x>|j|g|�D],}|j|j	dddg�|j|ddd	d
��qHWWdQRXdS)Nrzw+zf1,f2,f3
1,2,abc
r�r�r�rur�ro)r�r�r�)
�	itertoolsrrarFrr�r�chainr"r�)rrrJr�firstr�rrr�test_read_dict_fieldnames_chain�s



z.TestDictFields.test_read_dict_fieldnames_chaincCs^td��L}|jd�|jd�tj|ddgd�}|jt|�ddd	d
ddgd
��WdQRXdS)Nzw+z1,2,abc,4,5,6
rr�r�)r�rur�ror�rvr�)r�r�N)rrarFrr�r"r)rrJrrrr�test_read_long�s


zTestDictFields.test_read_longcCs`td��N}|jd�|jd�tj|ddgdd�}|jt|�dd	d
ddd
gd��WdQRXdS)Nzw+z1,2,abc,4,5,6
rr�r��_rest)r��restkeyrur�ror�rvr�)r�r�r)rrarFrr�r"r)rrJrrrr�test_read_long_with_rest�s


z'TestDictFields.test_read_long_with_restcCsltd��Z}|jd�|jd�tj|dd�}|j|jddg�|jt|�dd	d
ddd
gd��WdQRXdS)Nzw+zf1,f2
1,2,abc,4,5,6
rr)rr�r�rur�ror�rvr�)r�r�r)rrarFrr�r"r�r)rrJrrrr�&test_read_long_with_rest_no_fieldnames�s


z5TestDictFields.test_read_long_with_rest_no_fieldnamescCs|td��j}|jd�|jd�tj|dj�dd�}|jt|�ddd	d
ddd
��|jt|�ddd	dddd
��WdQRXdS)Nzw+z1,2,abc,4,5,6
1,2,abc
rz1 2 3 4 5 6ZDEFAULT)r�Zrestvalrur�ror�rvr�)rur�rwr�rvr�)rrarFrr��splitr"r)rrJrrrr�test_read_short�s


zTestDictFields.test_read_shortcCs<dddg}tj|dj�d�}|jt|�dddd	d
d��dS)Nz2147483648,43.0e12,17,abc,def
z147483648,43.0e2,17,abc,def
z47483648,43.0,170,abc,def
zi1 float i2 s1 s2)r�Z
2147483648z43.0e12Z17ror�)Zi1�floatZi2�s1�s2)rr�r	r"r)rZsamplerrrr�test_read_multi�szTestDictFields.test_read_multic	CsXtjdddgdj�d�}|jt|�ddddd	d
d��|jt|�ddddd	d
d��dS)Nz1,2,abc,4,5,6
z
z1 2 3 4 5 6)r�rur�ror�rvr�)rur�rwr�rvr�)rr�r	r"r)rrrrr�test_read_with_blanks�sz$TestDictFields.test_read_with_blanksc	Cs8tjdgdj�dd�}|jt|�ddddd	d
d��dS)Nz1;2;abc;4;5;6
z1 2 3 4 5 6r�)r�r
rur�ror�rvr�)rur�rwr�rvr�)rr�r	r"r)rrrrr�test_read_semi_seps
z!TestDictFields.test_read_semi_sepN)r>r?r@r�r�r�r�r�r�r�r�r�r�rrrrr
rrrrrrrr�`s$

				
	r�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestArrayWritescCs�ddl}dd�td�D�}|jd|�}tddd��P}tj|d	d
�}|j|�djdd�|D��d
}|jd�|j|j	�|�WdQRXdS)NrcSsg|]}d|�qS)�r)�.0rRrrr�
<listcomp>
sz2TestArrayWrites.test_int_write.<locals>.<listcomp>rrRzw+r)rDr�)r#rcSsg|]}t|��qSr)r�)rrRrrrrsz
)
�arrayr�rrrrE�joinrFr"rG)rr�contentsr[rJrr�rrr�test_int_writes

zTestArrayWrites.test_int_writecCs�ddl}dd�td�D�}|jd|�}tddd��P}tj|d	d
�}|j|�djdd�|D��d
}|jd�|j|j	�|�WdQRXdS)NrcSsg|]}d|d�qS)rg�������?r)rrRrrrrsz5TestArrayWrites.test_double_write.<locals>.<listcomp>rrezw+r)rDr�)r#rcSsg|]}t|��qSr)r�)rrRrrrrsz
)
rr�rrrrErrFr"rG)rrrr[rJrr�rrr�test_double_writes

z!TestArrayWrites.test_double_writecCs�ddl}dd�td�D�}|jd|�}tddd��P}tj|d	d
�}|j|�djdd�|D��d
}|jd�|j|j	�|�WdQRXdS)NrcSsg|]}d|d�qS)rg�������?r)rrRrrrr!sz4TestArrayWrites.test_float_write.<locals>.<listcomp>rr�zw+r)rDr�)r#rcSsg|]}t|��qSr)r�)rrRrrrr&sz
)
rr�rrrrErrFr"rG)rrrr[rJrr�rrr�test_float_writes

z TestArrayWrites.test_float_writecCszddl}ddl}|jd|j�}tddd��F}tj|dd�}|j|�dj|�d	}|jd�|j	|j
�|�WdQRXdS)
Nr�uzw+r)rDr�)r#rz
)r�stringZ
ascii_lettersrrrrErrFr"rG)rrrr[rJrr�rrr�test_char_write*s

zTestArrayWrites.test_char_writeN)r>r?r@rrrrrrrrrsrc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestDialectValiditycCs�Gdd�dtj�}|�}|j|jtj�d|_|jtj|�d|_tj|_d|_	|�}|j|jtj�|j|j	d�|j
|j�d|_	|jtj��}|�WdQRX|jt|j�d�d|_	|jtj��}|�WdQRX|jt|j�d�dS)	Nc@s&eZdZdZdZdZdZdZej	Z
dS)z3TestDialectValidity.test_quoting.<locals>.mydialectr�r1FTz
N)r>r?r@r
r%r$r'r
rr5rrrrr�	mydialect7srTr z''z("quotechar" must be a 1-character stringr�z#"quotechar" must be string, not int)
rr�r"rr5rrr$rr�
assertTruer�r�)rrre�cmrrr�test_quoting6s,z TestDialectValidity.test_quotingcCsGdd�dtj�}|�}|j|jd�d|_|jtj��}|�WdQRX|jt|j�d�d|_|jtj��}|�WdQRX|jt|j�d�d|_|jtj��}|�WdQRX|jt|j�d�d	|_|jtj��}|�WdQRX|jt|j�d
�dS)Nc@s&eZdZdZdZdZdZdZej	Z
dS)z5TestDialectValidity.test_delimiter.<locals>.mydialectr�r1FTz
N)r>r?r@r
r%r$r'r
rr5rrrrrrYsrr�z:::z("delimiter" must be a 1-character stringr�,z%"delimiter" must be string, not bytesr�z#"delimiter" must be string, not int)rr�r"r
rrr�r�)rrrer!rrr�test_delimiterXs.z"TestDialectValidity.test_delimiterc
CszGdd�dtj�}|�}|j|jd�d|_|�}|j|jd�d|_|jtj��}|�WdQRX|jt|j�d�dS)Nc@s&eZdZdZdZdZdZdZej	Z
dS)z:TestDialectValidity.test_lineterminator.<locals>.mydialectr�r1FTz
N)r>r?r@r
r%r$r'r
rr5rrrrrr|srz
z:::r�z!"lineterminator" must be a string)rr�r"r
rrr�r�)rrrer!rrr�test_lineterminator{sz'TestDialectValidity.test_lineterminatorc
Cszdd�}xldD]d}|j|d��N|jtj||d�|jtj||d�|jtj||d	�|jtj||d
�WdQRXqWdS)NcSs(Gdd�dtj�}t|||�|�}dS)Nc@seZdZdS)zQTestDialectValidity.test_invalid_chars.<locals>.create_invalid.<locals>.mydialectN)r>r?r@rrrrr�sr)rr�r+)�
field_name�valuerrerrr�create_invalid�sz>TestDialectValidity.test_invalid_chars.<locals>.create_invalidr
r%r)r&rro�xr�)r
r%r)�subTestrrr)rr(r&rrr�test_invalid_chars�s
z&TestDialectValidity.test_invalid_charsN)r>r?r@r"r$r%r+rrrrr5s"#rc@sheZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dd
�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS)�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'
cCs:tj�}|j|j|j�d�|j|j|j|j�d�dS)NFT)r�Snifferr"�
has_header�sample1�header1)r�snifferrrr�test_has_header�szTestSniffer.test_has_headercCs:tj�}|j|j|j�d�|j|j|j|j�d�dS)NFT)rr-r"r.�sample8�header2)rr1rrr�'test_has_header_regex_special_delimiter�sz3TestSniffer.test_has_header_regex_special_delimitercCsttj�}xfd	D]^}|j|��J|j|d�}|j|jd�|j|jd�|j|jd�|j|j	d�WdQRXqWdS)
N�	;'123;4';�'123;4';�;'123;4'�'123;4'z,;r��'F)r6r7r8r9)
rr-r*�sniffr"r
rZassertIsr$r')rr1�headerr#rrr�test_guess_quote_and_delimiter�s
z*TestSniffer.test_guess_quote_and_delimitercCsxtj�}|j|j�}|j|jd�|j|jd�|j|jd�|j|j�}|j|jd�|j|jd�|j|jd�dS)Nrr Tr!r:F)	rr-r;r/r"r
rr'�sample2)rr1r#rrr�
test_sniff�szTestSniffer.test_sniffcCstj�}|j|j�}|j|j|j�|j|jdd�}|j|jd�|j|jdd�}|j|jd�|j|j�}|j|jd�|j|j�}|j|jd�|j|j	�}|j|jd�|j|j
�}|j|jd�|j|jd	�|j|j�}|j|jd
�|j|j
�}|j|jd
�|j|jd	�dS)Nz?,)Z
delimiters�?z/,�/r�r�r�r:�+)rr-r;�sample3r�r
r"�sample4�sample5�sample6�sample7rr3�sample9)rr1r#rrr�test_delimiters�s*zTestSniffer.test_delimiterscCs�tj�}|j|j�}|j|j�|j|j�}|j|j�|j|j�}|j|j�|j|j	�}|j|j�|j|j
�}|j|j�dS)N)rr-r;r0ZassertFalser$r4r>r r3rH)rr1r#rrr�test_doublequote
szTestSniffer.test_doublequoteN)r>r?r@r/r>r0rCrDrErFrGr4r3rHr2r5r=r?rIrJrrrrr,�s"
r,c@seZdZdd�ZeZdS)�NULcGsdS)Nr)�sr,rrrrasz	NUL.writeN)r>r?r@ra�
writelinesrrrrrKsrK�gettotalrefcountzrequires sys.gettotalrefcount()c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�	TestLeakscCs�d}tj�}x^td�D]R}tj�|jtjg�tj�}tjdg�tjdg�tjdg�||}|}qW|j|dkd�dS)Nrrza,b,c
rxT)	�sysrNr��gc�collectr"�garbagerr)r�delta�lastrcrR�rcrrr�test_create_read"szTestLeaks.test_create_readcCs�d}tj�}t�}xXtd�D]L}tj�|jtjg�tj�}tj	|�tj	|�tj	|�||}|}qW|j|dkd�dS)NrrrxT)
rPrNrKr�rQrRr"rSrr)rrTrUrLrRrVrrr�test_create_write1s


zTestLeaks.test_create_writecCs~d}dgd}tj�}xRtd�D]F}tj�|jtjg�tj�}tj|�}x|D]}qRW||}|}q W|j|dkd�dS)Nrza,b,c
r�rT)	rPrNr�rQrRr"rSrr)rrTr�rUrRrVZrdrr�rrr�	test_readAs


zTestLeaks.test_readc	Cs�d}dddggd}t�}tj�}x\td�D]P}tj�|jtjg�tj�}tj	|�}x|D]}|j
|�q^W||}|}q,W|j|dkd�dS)NrrrPrxr�rT)rKrPrNr�rQrRr"rSrrrE)	rrTr�rLrUrRrVrr�rrr�
test_writeQs

zTestLeaks.test_writeN)r>r?r@rWrXrYrZrrrrrOsrOc@s(eZdZddddgZdd�Zdd�Zd	S)
�TestUnicodeuMartin von LöwisuMarc André LemburgzGuido van RossumuFrançois Pinardc
Cs\tdddd��D}|jdj|j�d�|jd�tj|�}|jt|�|jg�WdQRXdS)Nzw+rzutf-8)rDr�rz
r)	rrar�namesrFrrr"rk)rrJrrrr�test_unicode_readis


zTestUnicode.test_unicode_readc
Cs^tdddd��F}tj|�}|j|j�dj|j�d}|jd�|j|j�|�WdQRXdS)Nzw+rzutf-8)rDr�rz
r)	rrrrEr\rrFr"rG)rrJrr�rrr�test_unicode_writeqs

zTestUnicode.test_unicode_writeN)r>r?r@r\r]r^rrrrr[bsr[c@seZdZdd�Zdd�ZdS)�KeyOrderingTestcCs�t�}xrtd�D]f}tdddd��N}tj||�}|j�|jd�tj|�}t|j	�}|j
||�|j|�WdQRXqW|j
t|�dd�dS)	NZabcdezw+rzutf-8)rDr�r�xz@Key ordering: some key permutations not collected (expected 120))
�setrrrr�r�rFr��tupler�r"�add�len)rZ	resultset�keysZ
fileobjectZdwZdrZktrrr�,test_ordering_for_the_dict_reader_and_writer{s


z<KeyOrderingTest.test_ordering_for_the_dict_reader_and_writerc	Cs�td�j�}|jttj|��tddg�tddddd	gfg�tddg�tddg�g�|jttj|d
d��tddg�tddd
dd	gfg�tdd g�td!d"g�g�|d=|jttj|ddgd��td#d$g�td%d&ddd	gfg�td'd(g�td)d*g�g�dS)+Nz�            FirstName,LastName
            Eric,Idle
            Graham,Chapman,Over1,Over2

            Under1
            John,Cleese
        �	FirstName�Eric�LastName�Idle�Graham�ChapmanZOver1ZOver2�Under1�John�CleeseZ	OtherInfo)rr�fname�lname)r�)rgrh)rirj)rgrk)rirl)rgrm)riN)rgrn)riro)rgrh)rirj)rgrk)rirl)rgrm)riN)rgrn)riro)rprh)rqrj)rprk)rqrl)rprm)rqN)rprn)rqro)r�
splitlinesr"rkrr�r)r�datarrr�test_ordered_dict_reader�s*






z(KeyOrderingTest.test_ordered_dict_readerN)r>r?r@rfrtrrrrr_ysr_c@seZdZdd�ZdS)�MiscTestCasecCsddh}tj|td|d�dS)Nr��__version__r�_csv)�extra)rrw)rZcheck__all__r)rrxrrr�test__all__�szMiscTestCase.test__all__N)r>r?r@ryrrrrru�sru�__main__)*r�rPZunittest�iorZtempfilerrrQr�Ztestrrr�textwrapr�collectionsrZTestCaserr�r�r�r�r�r�r�r�r�r�rrr,rKZ
skipUnless�hasattrrOr[r_rur>�mainrrrr�<module>sHRka			(.j{
A4


Youez - 2016 - github.com/yon3zu
LinuXploit