python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_csv.cpython-311.opt-1.pyc

eddlZddlZddlZddlmZddlmZddlZddlZddl	Z	ddl
mZddlm
Z
mZmZddlmZddlmZddlmZGd	d
ZGddejZGd
dejZGddejZGddeZGddejZGddeZGddeZGddejZ GddeZ!GddejZ"Gdd ejZ#Gd!d"ejZ$Gd#d$ejZ%Gd%d&Z&ej'e(ed'd(Gd)d*ejZ)Gd+d,ejZ*Gd-d.ejZ+Gd/d0ejZ,e-d1krej.dSdS)2N)StringIO)
TemporaryFile)support)warnings_helper
import_helpercheck_disallow_instantiation)permutations)dedent)OrderedDictceZdZdZdS)BadIterablectNOSErrorselfs A/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_csv.py__iter__zBadIterable.__iter__s
N)__name__
__module____qualname__rrrr
r
s#rr
cReZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZejejeje dZ!dZ"dZ#dZ$dZ%dZ&d Z'd!Z(d"Z)d#Z*d$Z+d%Z,d&Z-d'Z.d(S))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.
    c|t||t|d|t||d|t||d|t||d|tj||d|t||d|t||d|t||d|t||d|t||d|t||d	|t||tjd
|t||tjd|t||tjd
dS)Nrbad_attr	delimiterXXfoo	quotecharlineterminatorquoting)r*r&)assertRaises	TypeErrorcsvError	QUOTE_ALL
QUOTE_NONE)rctorargs   r_test_arg_validzTest_Csv._test_arg_valids)T***)T4000)T31===)T3A>>>)T3DAAA#)T3666)T3$???)T3!<<<)T3!<<<)T3tDDD)T3qAAA)T3===)T3"%-2		?	?	?)T3"%-4		A	A	A)T3"%.B		@	@	@	@	@rc|tjg|ttjtdSr)r4r.readerr,rr
rs rtest_reader_arg_validzTest_Csv.test_reader_arg_valid2s>SZ,,,'3:{}}=====rc|tjtGdd}|t
tj|dS)Nc$eZdZedZdS)1Test_Csv.test_writer_arg_valid.<locals>.BadWriterctrrrs rwritez7Test_Csv.test_writer_arg_valid.<locals>.BadWriter.write9s
rN)rrrpropertyr<rrr	BadWriterr:8s-


X


rr>)r4r.writerrr,r)rr>s  rtest_writer_arg_validzTest_Csv.test_writer_arg_valid6snSZ444									
'3:yy{{;;;;;rc`||}||jjd||jjd||jjd||jjd||jjd||jjtj
||jjd||jjd|
tt|jd|
tt |jdd|
tt|jd|
tt |jdddS)	N,T
"Fr!:r*)assertEqualdialectr!assertIsdoublequote
escapecharr(r&r*r.
QUOTE_MINIMALskipinitialspacestrictr,AttributeErrordelattrsetattr)rr2argsobjs    r_test_default_attrszTest_Csv._test_default_attrs>sgdDk.444

ck-t444/6663V<<<.444,c.?@@@

ck2E:::

ck(%000.'3;LLL.'3;SQQQ.'3;	JJJ.'3;#T	+	+	+	+	+rcF|tjgdSr)rSr.r6rs rtest_reader_attrszTest_Csv.test_reader_attrsP   R00000rc^|tjtdSr)rSr.r?rrs rtest_writer_attrszTest_Csv.test_writer_attrsS$  XZZ88888rc
ltdddddtjdd}||i|}||jjd||jjd||jjd||jj	d||jj
d||jjtj||jjd||jj
ddS)NrEF\
*T)r!rIrJr(r&r*rLrM)dictr.r1rFrGr!rHrIrJr(r&r*rLrM)rr2rQkwargsrRs     r_test_kw_attrszTest_Csv._test_kw_attrsVs4%)S!nt!###dD#F##.444

ck-u555/6663T:::.444,cn===

ck2D999

ck($/////rcF|tjgdSr)r`r.r6rs rtest_reader_kw_attrszTest_Csv.test_reader_kw_attrsfs CJ+++++rc^|tjtdSr)r`r.r?rrs rtest_writer_kw_attrszTest_Csv.test_writer_kw_attrsis$CJ

33333rcJGdd}||fz}||}||jjd||jjd||jjd||jjd||jjd||jjtj
||jjd||jjddS)	Nc8eZdZdZdZdZdZdZej	Z
dZdZdS)-Test_Csv._test_dialect_attrs.<locals>.dialect-F^$#TN)
rrrr!rIrJr(r&r.r0r*rLrMrrrrGrgns9IKJNIMG!FFFrrGrhFrirjrkT)
rFrGr!rHrIrJr(r&r*r.r0rLrM)rr2rQrGrRs     r_test_dialect_attrszTest_Csv._test_dialect_attrsls								wj dDk.444

ck-u555/5553S999.444,cm<<<

ck2D999

ck(%00000rcF|tjgdSr)rlr.r6rs rtest_reader_dialect_attrsz"Test_Csv.test_reader_dialect_attrsrVrc^|tjtdSr)rlr.r?rrs rtest_writer_dialect_attrsz"Test_Csv.test_writer_dialect_attrsrYrc>tddd5}tj|fi|}|||d||||jjzddddS#1swxYwYdSNw+utf-8r+encodingnewliner)	rr.r?writerowseekrFreadrGr()rfieldsexpectr_fileobjr?s      r_write_testzTest_Csv._write_tests
4'2
>
>
>	E'Z22622FOOF###LLOOOW\\^^#fn&CC
E
E
E		E	E	E	E	E	E	E	E	E	E	E	E	E	E	E	E	E	EsA2BBBc~tddd5}tj|fi|}||5||dddn#1swxYwY|d||dddddS#1swxYwYdSrr)rr.r?r,rxryrFrz)rexcr{r_r}r?s      r_write_error_testzTest_Csv._write_error_tests7
4'2
>
>
>	1'Z22622F""3''
(
('''
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(LLOOOW\\^^R000	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1s5(B2AB2A!	!B2$A!	%AB22B69B6c
|tjd|dd|dgd|tjdgtj|t
t
Gdd}|t
|Gdd}|t
|gdS)	Nrr+""r)ceZdZdZdZdS).Test_Csv.test_write_arg_valid.<locals>.BadListcdS)N
rrs r__len__z6Test_Csv.test_write_arg_valid.<locals>.BadList.__len__srrc |dkrtdS)Nr)ris  r__getitem__z:Test_Csv.test_write_arg_valid.<locals>.BadList.__getitem__sq55!M5rN)rrrrrrrrBadListrs2



"
"
"
"
"rrceZdZdZdS).Test_Csv.test_write_arg_valid.<locals>.BadItemctrrrs r__str__z6Test_Csv.test_write_arg_valid.<locals>.BadItem.__str__
rN)rrrrrrrBadItemr#




rr)rr.r/r~r1rr
)rrrs   rtest_write_arg_validzTest_Csv.test_write_arg_validssy$///R   $&&&sy4&CNKKKw

666	"	"	"	"	"	"	"	"	
w		222									
w44444rcJddz}|||g|d|dS)NXPrB)r~)r	bigstrings  rtest_write_bigfieldzTest_Csv.test_write_bigfieldsD%K	)I.#))YY10	1	1	1	1	1rc|gdd|tjgdtj|gddtj|gddtj|gddtj|ddgdtjdS)	Nar$zp,q	a,1,"p,q"r)z"a",1,"p,q"z
"a","1","p,q"a
br$z	"a
b","1")r~rr.r/r1rKQUOTE_NONNUMERICr0rs rtest_write_quotingzTest_Csv.test_write_quotings444sy---),		9	9	9#&#4		6	6	6
#&#7		9	9	9#&=		2	2	2&\#&=		2	2	2	2	2rc|gddd|tjgddd|gdddd|d	gd
dtj|d	gddtjd
|d	gddtj|gdddtj|ddgddtj|ddgddtj|ddgddtj|ddgddtj|ddgddtj|ddgddtj|gdddtjdS)Nrrr[rJ)rr$zp,"q"F)rJrIz
a,1,"p,\"q\""rD"""")rJr*z\")rJr*rIza,1,p\,qrz\\,az"\\","a"z\ z\\ ,az\,z\\\,,az,\z",\\",a)zC\67zX"z
C\\,6,7,"X""")r~rr.r/rKr1r0rs rtest_write_escapezTest_Csv.test_write_escapes$(		*	*	*sy///*.E		C	C	C*;$(		?	?	?#$(C4E		G	G	G#$(C4E',		.	.	.	
#$(CN		D	D	D$(CN		D	D	D$h$(#.		B	B	B$h$(#2C		E	E	E$l$(#-		A	A	A%y$(#2C		E	E	E%{$(#.		B	B	B%{$(#2C		E	E	E0002C$(#2C		E	E	E	E	Erc
dD]}||5t5}tj||}|ddg|ddg||d|d|dddn#1swxYwYdddn#1swxYwYdS)	N)rC
r\z!@#r'rbr$ra,bz1,2)subTestrr.r?rxrFgetvalue)rr(sior?s    rtest_write_lineterminatorz"Test_Csv.test_write_lineterminatorsa=	=	=N^<<
=
=ZZ=3 ZNKKKFOOS#J///OOQF+++$$S\\^^&<>&<&<+9&<&<===	===============
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=	=	=s5CA3B)C)B--C0B-1CC	C	c|tgdd|tgdd|tgd|tdgd|tjtdgtj|tddgddS)	Nrr)rr$Nza,1,r+rr)rB)r~iterrr.r/r1rs rtest_write_iterablezTest_Csv.test_write_iterablesooo..<<<nnn--v666b2&&&tft,,,sy$v,,OOOtTl++S11111rcGdd}tj|}|t|jdggtddd5}tj|}|t|jd|ddgd	d
gg|d||	dddddS#1swxYwYdS)
NceZdZdZdS)+Test_Csv.test_writerows.<locals>.BrokenFilectrr)rbufs  rr<z1Test_Csv.test_writerows.<locals>.BrokenFile.writerrN)rrrr<rrr
BrokenFilerrrrrrsrtr+rurcdrz
a,b
c,d
)
r.r?r,r	writerowsrr-ryrFrz)rrr?r}s    rtest_writerowszTest_Csv.test_writerowssO								JJLL))'6#3seW===
4'2
>
>
>	?'Z((Fi)94@@@sCj3*5666LLOOOW\\^^-=>>>	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?sBC::C>C>ctddd5}tj|}|ddgddgg|d||ddddn#1swxYwYtddd5}tj|}|dgdgg|d||d	dddn#1swxYwYtddd5}tj|}|dgdgg|d||d
ddddS#1swxYwYdS)Nrsrtr+rurrrza,
,d
z""
a
za
""
)rr.r?rryrFrzrr}r?s   rtest_writerows_with_nonez!Test_Csv.test_writerows_with_nonesW
4'2
>
>
>	='Z((FsDkD#;7888LLOOOW\\^^^<<<		=	=	=	=	=	=	=	=	=	=	=	=	=	=	=4'2
>
>
>	<'Z((Ftfse_---LLOOOW\\^^];;;		<	<	<	<	<	<	<	<	<	<	<	<	<	<	<4'2
>
>
>	<'Z((FsedV_---LLOOOW\\^^];;;		<	<	<	<	<	<	<	<	<	<	<	<	<	<	<	<	<	<s8A-BBB)A+D  D$'D$=A+F55F9<F9c tddd5}tj|}|t|jd|t|jtddddS#1swxYwYdS)Nrsrtr+ru)rr.r?r,r-rrr
rs   rtest_writerows_errorszTest_Csv.test_writerows_errorss
4'2
>
>
>	H'Z((Fi)94@@@gv'7GGG	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	HsA#BB
B)categoryc^ddl}|d}tddd5}tj|}||gg|d||dddddS#1swxYwYdS)Nrrrsrtr+ruza
)		_testcapiunicode_legacy_stringrr.r?rryrFrz)rrrr}r?s     rtest_writerows_legacy_stringsz&Test_Csv.test_writerows_legacy_stringss	++C00
4'2
>
>
>	6'Z((FqcU###LLOOOW\\^^W555		6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6sA)B""B&)B&cttj|fi|}t|}|||dSr)r.r6listrF)rinputr|r_r6results      r
_read_testzTest_Csv._read_test$s@E,,V,,f(((((rc<|gg|dggg|tj|jdgdd|dgdggd|tj|jdgddS)	Nr+z"ab"cr$rMabcr)rIsabcrr,r.r/rs rtest_read_oddinputszTest_Csv.test_read_oddinputs)sBrd####)T_")TA		7	7	7	UG9A>>>#)T_!(D	*	*	*	*	*rc|dgddgg|dgddgg|dgddgg|dgddgg|tj|jdgg|tj|jdgg|tj|jd	ggdS)
Nrrrza,b
za,b
za,b
za,b
c,dza,b
c,dza,b
c,drrs r
test_read_eolzTest_Csv.test_read_eol3s3s)---	SI;///s3i[111	SI;///#)T_zlBGGG#)T_zlBGGG#)T_|nbIIIIIrc|dgddgg|dgdgg|dgdggd|tj|jdggd	|tj|jdggd	|tj|jdggdd
dS)Nza,"rr+z"arirrTr)rJrMrrs r
test_read_eofzTest_Csv.test_read_eof<s3)---#(((xC888#)T_ugr$OOO#)T_tfbNNN#)T_%D		B	B	B	B	Brc|dgdgg|dggdg|dggdg|dggdgd|d	ggdgdS)
Nra,b,c)rzbrza,b,c)rzbrza,b\,cr[rza,"b",crrs r
test_read_nulzTest_Csv.test_read_nulEs$)))&7&7&7%8999&7&7&7%8999
(9(9(9':tLLL
(9(9(9':;;;;;rc|dggdg|dggdgd|dggdgddS)Nza,b,crrrza;b;c;r zabcrrrs rtest_read_delimiterzTest_Csv.test_read_delimiterLsg	OOO#4555	OOO#4DDDooo%6$GGGGGrc2|dggdgd|dgddggd|dgddggd|d	gddggd|d
gddggd|dgdd
ggd|dggdgd|dggdgd|dggdgd|dggdgdS)Nza,\b,crr[rza,b\,crzb,cza,"b\,c"za,"b,\c"z	a,"b,c\""zb,c"za,"b,c"\zb,c\za,^b,crirr)rz\brrrs rtest_read_escapezTest_Csv.test_read_escapeQsPooo%64HHHsEl^EEE
e~$GGG
e~$GGG#vDIII
g'7DIII
___$5#FFFooo%64HHH&7&7&7%8TJJJ&7&7&7%899999rc|dggdg|dggdgdd|dggdgtjd|dggdgtj	|d
gddgg|t
|jd
gggtj	|dggdgd|dggdgddS)Nz	1,",3,",5)1z,3,5)rrD3rDrr[)r&rJr*rJz
,3,"5",7.3, 9)r+rg333333@	r)z"a
b", 7rz 7zabc,3z	1,@,3,@,5@r%z	1,,3,,5r)rr.r1rr,
ValueErrorrs rtest_read_quotingzTest_Csv.test_read_quoting]sZ
(9(9(9':;;;
(A(A(A'B"&4		9	9	9
(A(A(A'B #4		A	A	A	
),@,@,@+A # 4		6	6	6
'7888*do")bT"%"6		8	8	8	

(9(9(9':cJJJ*;*;*;)<MMMMMrc>|dggdgddS)Nzno space, space,  spaces,	tab)zno spacespacespacesz	tabT)rLrrs rtest_read_skipinitialspacez#Test_Csv.test_read_skipinitialspacems<9:AAAB)-		/	/	/	/	/rctj}	d}d|z}|d|}||g||ggtj|||g||gg|tj|tj|dz
|tj|j|gg|ttjd|ttjddtj|dS#tj|wxYw)NrrrBr$)r.field_size_limitrrFr,r/r-)rlimitsizerbiglines     rtest_read_bigfieldzTest_Csv.test_read_bigfieldrs<$&&
	(Dd
I!*II6GOOWII(>'?@@@ &&&OOWII(>'?@@@S133T::: a(((ci7)RHHHi)=tDDDi)=q$GGG '''''C ''''sD	D44E
ctjgd}||jdt	|||jdt	|||jdt	|||jd|tt|||jddS)N)zline,1zline,2zline,3rr$rr)r.r6rFline_numnextr,
StopIteration)rrs  rtest_read_linenumzTest_Csv.test_read_linenumsJ55566Q'''QQ'''QQ'''QQ'''-q111Q'''''rcptddd5}tj|}ddgddgg}|||d	ttj|D]!\}}||||"	ddddS#1swxYwYdS)
Nrsrtr+rurrrx
dr)rr.r?rry	enumerater6rFrr}r?rowsrrows      rtest_roundtrip_quoteed_newlinesz(Test_Csv.test_roundtrip_quoteed_newliness
4'2
>
>
>	/'Z((FCL#h0DT"""LLOOO#CJw$7$788
/
/3  d1g....
/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/sB
B++B/2B/ctddd5}tj|tjd}ddgd	d
gg}|||dt
tj|tjdD]!\}}||||"	ddddS#1swxYwYdS)Nrsrtr+rur[rrrrrr)	rr.r?r1rryrr6rFrs      r(test_roundtrip_escaped_unquoted_newlinesz1Test_Csv.test_roundtrip_escaped_unquoted_newliness
4'2
>
>
>	.'Z$OOOFCL#h0DT"""LLOOO#CJws~Y]$^$^$^__
.
.3  T!W----
.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.sB$CC	C	N)/rrr__doc__r4r7r@rSrUrXr`rbrdrlrnrpr~rrrrrrrrrrrcpython_onlyrequires_legacy_unicode_capirignore_warningsDeprecationWarningrrrrrrrrrrrrrrrrrrrs
@@@(>>><<<+++$111999000 ,,,444111,111999EEE111555&111222EEE>	=	=	=222???<<<&HHH
)$_$.@AAA66BA*)6)))
***JJJBBB<<<HHH

:
:
:NNN ///
(((&
(
(
(///.....rrcPeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dS)
TestDialectRegistryc|ttjd|ttj|tjtjd|tjtjd|ttj|tjtjd|tjtjd|ttjd|ttjdd|ttjddd|ttjdd|ttjdd|ttjgdS)Nnonesuchr)badargumentr))r,r-r.
list_dialectsget_dialectr/unregister_dialectregister_dialectrs rtest_registry_badargsz)TestDialectRegistry.test_registry_badargss)S%6===)S_555#)S_d;;;#)S_jAAA)S%;<<<#)S%;TBBB#)S%;ZHHH)S%94@@@)S%94FFF)S%9:q!LLL)S%9:&*		,	,	,)S%9:"&		(	(	()S%92>>>>>rcGddtj}d}tj|gz}|tj|||tj||tj|j	dttj}|||dS)NceZdZdZdS)5TestDialectRegistry.test_registry.<locals>.myexceltsv	Nrrrr!rrr
myexceltsvrIIIrrr)r.excelr
sortr
addCleanuprrFrr!sorted)rrnameexpected_dialectsgot_dialectss     r
test_registryz!TestDialectRegistry.test_registrys								-//4&8   T:....555..8$???c/1122*L99999rc	Dd}tj|d|tj||tj|jd|gdgttjdg|dS)Nfedcbarr )rYZzX;Y;Z)	r.rrrrFrr!rr6)rrs  rtest_register_kwargsz(TestDialectRegistry.test_register_kwargssTS1111.555..8#>>>///*DWIt1L1L,M,MNNNNNrc
FGddtj}d}tj||dddddtj	|tj|tj|}||jd||j	d||j
d||jd||jd||j
tjdS)
Nc0eZdZdZdZdZdZdZej	Z
dS)DTestDialectRegistry.test_register_kwargs_override.<locals>.mydialectrrDTFrCN)rrrr!r&rIrLr(r.rKr*rrr	mydialectr(s0IIK$#N'GGGrr)test_dialectr'FTr)r!r&rIrLr(r*)r.Dialectrr0rrrrFr!r&rIrLr(r*)rr)rrGs    rtest_register_kwargs_overridez1TestDialectRegistry.test_register_kwargs_overrides.	(	(	(	(	(	(	(	(T9'*'*)..2,0%(]
	4	4	4	4	
.555/$''*C000*C000,e44414888/666#-88888rcvGddtj}|tj|dS)NceZdZdZdS)?TestDialectRegistry.test_incomplete_dialect.<locals>.myexceltsvrNrrrrrr0rrr)r.r,r,r/)rrs  rtest_incomplete_dialectz+TestDialectRegistry.test_incomplete_dialectsL								#)Z00000rcGddtj}tdd5}|d|dtj||}|t|d	d
g|t|ddgddddS#1swxYwYdS)
Nc$eZdZdZejZdZdS)5TestDialectRegistry.test_space_dialect.<locals>.space r[N)rrrr!r.r1r*rJrrrrr4sInGJJJrrrsrtrvzabc def
c1ccccc1 benzene
rrGrdefc1ccccc1benzene)r.rrr<ryr6rFr)rrr}r6s    rtest_space_dialectz&TestDialectRegistry.test_space_dialects4					CI			
4'
2
2
2	DgMM7888LLOOOZ999FT&\\E5>:::T&\\J	+BCCC	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	DsBC

CCc.tddd5}tj|g|Ri|}|gd|d|||ddddS#1swxYwYdS)Nrsr+rtrwrvr$rrr)rr.r?rxryrFrz)rexpected	writeargskwwriteargsr}r?s      rcompare_dialect_123z'TestDialectRegistry.compare_dialect_123s
4g
>
>
>	7'ZC)CCC{CCFOOGGG$$$LLOOOW\\^^X666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7sA*B

BBcGddtj}Gddtj}Gddtj}Gddtj}Gd	d
}tjd|	|d|dd|d||d
||d||dd|d|d|d|tjddS#tjdwxYw)NceZdZdZdS)5TestDialectRegistry.test_dialect_apply.<locals>.testArNrrrrtestArErrrFceZdZdZdS)5TestDialectRegistry.test_dialect_apply.<locals>.testBrENrrrrtestBrHIIIrrIceZdZdZdS)5TestDialectRegistry.test_dialect_apply.<locals>.testC|NrrrrtestCrLrJrrNceZdZdZdS)7TestDialectRegistry.test_dialect_apply.<locals>.testUniuΛNrrrrtestUnirPs IIIrrQceZdZdS);TestDialectRegistry.test_dialect_apply.<locals>.unspecifiedNrrrrrrunspecifiedrS	sDrrUz1,2,3
r7z1	2	3
z1:2:3
z1|2|3
z1;2;3
r)rGr!u	1Λ2Λ3
)r.rrrBr)rrFrIrNrQrUs      rtest_dialect_applyz&TestDialectRegistry.test_dialect_applys					CI								CI								CI				!	!	!	!	!ci	!	!	!									We,,,
	,$$[111$$[$$???$$[+$FFF$$]E:::$$[%%''$BBB$$['$BBB$$[%/2
%
4
4
4$$%:-4
%
6
6
6
"7+++++C"7++++s
B>EE.cF|ttjgd|ttjgd|ttjgd|ttjgddS)Nrrr r)d)r,r-r.r6rs rtest_bad_dialectz$TestDialectRegistry.test_bad_dialects)SZBBB)SZFFF)SZrBBB)SZsCCCCCrctjD]<}tj|}|tt
j|=dSr)r.r
rr,r-copy)rrrGs   r	test_copyzTestDialectRegistry.test_copy%sP%''	=	=Dod++GiG<<<<	=	=rctjD]\}tj|}ttjdzD])}|ttj||*]dS)Nr$)	r.r
rrangepickleHIGHEST_PROTOCOLr,r-dumps)rrrGprotos    rtest_picklezTestDialectRegistry.test_pickle*s}%''	K	KDod++Gv6:;;
K
K!!)V\7EJJJJ
K	K	KrN)rrrrr r%r-r1r;rBrVrZr]rdrrrr	r	s???"
:
:
:OOO9998111
DDD777,,,<DDD===
KKKKKrr	ceZdZdZdZdS)TestCsvBasec0tddd5}|||dtj||j}t
|}|||ddddS#1swxYwYdS)Nrsrtr+rurr7)rr<ryr.r6rGrrF)rrexpected_resultr}r6r{s      rreaderAssertEqualzTestCsvBase.readerAssertEqual1s
4'2
>
>
>	6'MM%   LLOOOZ4<@@@F&\\FV_555	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6sA+BBBc6tddd5}tj||j}|||d|||ddddS#1swxYwYdS)Nrsrtr+rur7r)rr.r?rGrryrFrz)rrrhr}r?s     rwriterAssertEqualzTestCsvBase.writerAssertEqual9s
4'2
>
>
>	>'Z4<@@@FU###LLOOOW\\^^_===		>	>	>	>	>	>	>	>	>	>	>	>	>	>	>	>	>	>sA.BBBN)rrrrirkrrrrfrf0s2666>>>>>rrfceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdS)TestDialectExcelrc6|ddggdS)Nrrirs rtest_singlezTestDialectExcel.test_singleC"uwi00000rc8|dgdgdS)Nz	1,2,3,4,5)r2r4rrors rtest_simplezTestDialectExcel.test_simpleFs({-B-B-B,CDDDDDrc2|dgdSNr+rors rtest_blanklinezTestDialectExcel.test_blanklineIr2&&&&&rc8|dddggdS)NrBr+rors rtest_empty_fieldsz"TestDialectExcel.test_empty_fieldsLs$sb"XJ/////rc6|ddggdS)Nrr+rors rtest_singlequotedz"TestDialectExcel.test_singlequotedOs"trdV,,,,,rc8|dddggdS)Nz"",r+rors rtest_singlequoted_left_emptyz-TestDialectExcel.test_singlequoted_left_emptyR$u2wi00000rc8|dddggdS)Nz,""r+rors rtest_singlequoted_right_emptyz.TestDialectExcel.test_singlequoted_right_emptyUrrc6|ddggdS)NrrDrors rtest_single_quoted_quotez)TestDialectExcel.test_single_quoted_quoteXs"vw/////rc6|ddggdS)Nz""""""rrors rtest_quoted_quotesz#TestDialectExcel.test_quoted_quotes[s"x4&22222rc6|ddggdS)Nza""brors rtest_inline_quotez"TestDialectExcel.test_inline_quote^"vz22222rc6|ddggdS)Nza"b"crors rtest_inline_quotesz#TestDialectExcel.test_inline_quotesas"w'44444rc6|ddggdS)Nz"a"babrors rtest_quotes_and_morez%TestDialectExcel.test_quotes_and_moreds$	
vx00000rc6|ddggdS)Nza"brors rtest_lone_quotez TestDialectExcel.test_lone_quoteirqrc6|ddggdS)Nz"a" "b"za "b"rors rtest_quote_and_quotez%TestDialectExcel.test_quote_and_quotels$	
yG9+66666rc6|ddggdS)Nz "a"rors rtest_space_and_quotez%TestDialectExcel.test_space_and_quoteqrrc8|dgdgdS)Nz#1,2,3,"I think, therefore I am",5,6)rrsrzI think, therefore I amrrrors rtest_quotedzTestDialectExcel.test_quotedts;D!+!+!+ ,	-	-	-	-	-rc8|dgdgdS)NzJ1,2,3,"""I see,"" said the blind man","as he picked up his hammer and saw")rrsrz"I see," said the blind manz"as he picked up his hammer and sawrors rtest_quoted_quotez"TestDialectExcel.test_quoted_quotezsDk!G!G!G H	I	I	I	I	IrcBd}||gdgdgdS)NzR1,2,3,"""I see,""
said the blind man","as he picked up his
hammer and saw"
9,8,7,6)rrsrz"I see,"
said the blind manz"as he picked up his
hammer and saw)98rrro)rrs  rtest_quoted_nlzTestDialectExcel.test_quoted_nlsQ
	
u!J!J!J!2 1 1 3	4	4	4	4	4rc8|dgdgdS)Nz	12,12,1",)12rz1"r+rors rtest_dubious_quotez#TestDialectExcel.test_dubious_quotes({-C-C-C,DEEEEErc2|gddSrwrkrs r	test_nullzTestDialectExcel.test_nullryrc6|dggddS)Nrzabc
rrs rtest_single_writerz#TestDialectExcel.test_single_writers"y)44444rc8|gdgddS)N)r$rrrz
1,2,abc,3,4
rrs rtest_simple_writerz#TestDialectExcel.test_simple_writers) 3 3 346GHHHHHrc8|gdgddS)N)r$rza"bc"rrz1,2,"a""bc""",3,4
rrs rtest_quoteszTestDialectExcel.test_quotes) 5 5 568OPPPPPrc6|dggddSNabc,defz"abc,def"
rrs rtest_quote_fieldsepz$TestDialectExcel.test_quote_fieldsep"}o>>>>>rc8|gdgddS)N)r$rza
bcrrz1,2,"a
bc",3,4
rrs r
test_newlineszTestDialectExcel.test_newliness) 5 5 568MNNNNNrN)rrrrGrprurxr{r}rrrrrrrrrrrrrrrrrrrrrrrrmrm@sG111EEE'''000---111111000333333555111
111777
333---III
4
4
4FFF'''555IIIQQQ???OOOOOrrmc eZdZejZdZdS)EscapedExcelr[N)rrrr.r1r*rJrrrrrsnGJJJrrc.eZdZeZdZdZdS)TestEscapedExcelc6|dggddS)Nr
abc\,def
rrs rtest_escape_fieldsepz%TestEscapedExcel.test_escape_fieldseprrc6|ddggdS)Nrrrors rtest_read_escape_fieldsepz*TestEscapedExcel.test_read_escape_fieldseps")
>>>>>rN)rrrrrGrrrrrrrs=lnnG????????rrceZdZdZdZdZdS)TestDialectUnixunixc8|gdgddS)N)r$abc defr"1","abc def","abc"
rrs rrz"TestDialectUnix.test_simple_writerrrc8|dgdgdS)Nr)rrrrors rtest_simple_readerz"TestDialectUnix.test_simple_readers)69P9P9P8QRRRRRrN)rrrrGrrrrrrrs?GQQQSSSSSrrc eZdZejZdZdS)QuotedEscapedExcelr[N)rrrr.rr*rJrrrrrs"GJJJrrc.eZdZeZdZdZdS)TestQuotedEscapedExcelc6|dggddSrrrs rtest_write_escape_fieldsepz1TestQuotedEscapedExcel.test_write_escape_fieldseprrc6|ddggdS)Nz"abc\,def"
rrors rrz0TestQuotedEscapedExcel.test_read_escape_fieldseps#0I;-@@@@@rN)rrrrrGrrrrrrrsE  ""G???AAAAArrceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdS)TestDictFieldsctddd5}tj|gd}|}||dddddS#1swxYwYdS)Nrsrtr+ruf1f2f3
fieldnamesr)rr.
DictWriterwriteheaderrF)rr}r?writeheader_return_values    rtest_writeheader_return_valuez,TestDictFields.test_writeheader_return_values
4'2
>
>
>	;'^G:L:L:LMMMF'-'9'9';';$5r:::	;	;	;	;	;	;	;	;	;	;	;	;	;	;	;	;	;	;sAA##A'*A'ctddd5}tj|gd}||d||d|d	d
d|d|||dddddS#1swxYwYdS)
Nrsrtr+rurrr
f1,f2,f3
rr)rrz	10,,abc
)	rr.rrryrFreadlinerxrzrs   rtest_write_simple_dictz%TestDictFields.test_write_simple_dicts/
4'2
>
>
>	<'^G:L:L:LMMMF   LLOOOW--//@@@OO2U33444LLOOOW\\^^];;;	<	<	<	<	<	<	<	<	<	<	<	<	<	<	<	<	<	<sCC33C7:C7cXt}tj|gd}|||d|ddddddd	dg||d
dS)Nrrrr$rfrxyzzf1,f2,f3
1,abc,f
2,5,xyz
)rr.rrrFrrrs   rtest_write_multiple_dict_rowsz,TestDictFields.test_write_multiple_dict_rowss**4F4F4FGGG))++^<<<%s;;!"!599;	<	<	<))++=	?	?	?	?	?rcnt}|ttj|dSr)rr,r-r.rrr}s  rtest_write_no_fieldsz#TestDictFields.test_write_no_fieldss+**)S^W=====rctddd5}tj|gd}|t5}|ddd	d
dddn#1swxYwYt
|j}|d||d||	d
||d|ddddS#1swxYwYdS)Nrsrtr+rurrrspamr)f4rr$rz'f4'z'f2'r)
rr.rr,rrxstr	exceptionassertInassertNotIn)rr}r?cxrs     r#test_write_fields_not_in_fieldnamesz2TestDictFields.test_write_fields_not_in_fieldnamess
4'2
>
>
>		*'^G:L:L:LMMMF"":..
D"rE B BCCC
D
D
D
D
D
D
D
D
D
D
D
D
D
D
DBL))IMM,	222MM&),,,VY///MM#y)))		*		*		*		*		*		*		*		*		*		*		*		*		*		*		*		*		*		*s63C0A, C0,A0	0C03A0	4A/C00C47C4cxt}|ttj|ddgddS)Nrrraisedextrasaction)rr,rr.rrs  r&test_typo_in_extrasaction_raises_errorz5TestDictFields.test_typo_in_extrasaction_raises_errorsC***cngd|'/		1	1	1	1	1rct}tj|ddgd}ddddd	}|ttjj||dS)
Nrrraiserrr$rrf0rrr)rr.rr,rrxrr}r?dictrows    r)test_write_field_not_in_field_names_raisez8TestDictFields.test_write_field_not_in_field_names_raises[**$GLLL!1A66*cn&=vwOOOOOrct}tj|ddgd}ddddd	}tj||||d
dS)Nrrignorerrr$rrrz1,2
)rr.rrxrFrrs    r*test_write_field_not_in_field_names_ignorez9TestDictFields.test_write_field_not_in_field_names_ignoresv**$HMMM!1A66000))++Y77777rc,tdd5}|d|dtj|gd}|t
|dd	d
dddddS#1swxYwYdS)Nrsrtr6z	1,2,abc
rrrrrsrrr<ryr.
DictReaderrFrrr}r6s   rtest_read_dict_fieldsz$TestDictFields.test_read_dict_fieldss
4'
2
2
2	PgMM-(((LLOOO^G/A/A/ACCCFT&\\#S+N+NOOO	P	P	P	P	P	P	P	P	P	P	P	P	P	P	P	P	P	PsA*B		B
B
c^tdd5}|d|dtj|}|t
|dddd	||jgd	ddddS#1swxYwYdS)
Nrsrtr6f1,f2,f3
1,2,abc
rrrsrr)rr<ryr.rrFrrrs   rtest_read_dict_no_fieldnamesz+TestDictFields.test_read_dict_no_fieldnamess
4'
2
2
2	DgMM3444LLOOO^G,,FT&\\#S+N+NOOOV.0B0B0BCCC	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	DsBB""B&)B&c	tdd5}|d|dtj|ttj|}||jgd|t|dd	d
dddddS#1swxYwYdS)Nrsrtr6rrrrrrsr)	rr<ryr.rrr6rFrrs   r#test_read_dict_fieldnames_from_filez2TestDictFields.test_read_dict_fieldnames_from_files!
4'
2
2
2	PgMM3444LLOOO^G/3CJw4G4G/H/HJJJFV.0B0B0BCCCT&\\#S+N+NOOO
	P	P	P	P	P	P	P	P	P	P	P	P	P	P	P	P	P	PsB$CC
Cc	ddl}tdd5}|d|dt	j|}t
|}||g|D]9}||j	gd||ddd	d:	ddddS#1swxYwYdS)
Nrrsrtr6rrrrsr)
	itertoolsrr<ryr.rrchainrFr)rrr}r6firstrs      rtest_read_dict_fieldnames_chainz.TestDictFields.test_read_dict_fieldnames_chains;
4'
2
2
2	KgMM3444LLOOO^G,,FLLE w77
K
K  !24F4F4FGGG  S5&I&IJJJJ
K	K	K	K	K	K	K	K	K	K	K	K	K	K	K	K	K	K	KsBCC
Cc0tdd5}|d|dtj|ddg}|t
|d	d
gddddddS#1swxYwYdS)
Nrsrtr61,2,abc,4,5,6
rrrrrrsrrtrr)rrNrrs   rtest_read_longzTestDictFields.test_read_long*s
4'
2
2
2	LgMM-...LLOOO^G04d|===FT&\\#S3I3I3I,K,K
L
L
L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	LsA,BBBc2tdd5}|d|dtj|ddgd	}|t
|d
dgdd
ddddS#1swxYwYdS)Nrsrtr6rrrr_rest)rrestkeyrrsrrrrrrs   rtest_read_long_with_restz'TestDictFields.test_read_long_with_rest3s
4'
2
2
2	OgMM-...LLOOO^G04d|WNNNFT&\\#S6L6L6L,N,N
O
O
O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	OsA-BBBcftdd5}|d|dtj|d}||jdd	g|t|d
dgdd
ddddS#1swxYwYdS)Nrsrtr6zf1,f2
1,2,abc,4,5,6
rrrrrrrsrr)rr<ryr.rrFrrrs   r&test_read_long_with_rest_no_fieldnamesz5TestDictFields.test_read_long_with_rest_no_fieldnames<s
4'
2
2
2	OgMM6777LLOOO^GW===FV.t===T&\\#S6L6L6L,N,N
O
O
O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	OsBB&&B*-B*ctdd5}|d|dtj|dd}|t|d	d
ddd
dd|t|d	d
dddddddddS#1swxYwYdS)Nrsrtr6z1,2,abc,4,5,6
1,2,abc
r1 2 3 4 5 6DEFAULT)rrestvalrrsrrtrrrrsrrtrr)rr<ryr.rsplitrFrrs   rtest_read_shortzTestDictFields.test_read_shortEs8
4'
2
2
2
	>gMM8999LLOOO^G/</B/B/D/D,5777F
T&\\3U25Cc,K,K
L
L
LT&\\3U2;)2;,=,=
>
>
>
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>
	>sB(CCCc	gd}tj|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 s2r
2147483648z43.0e1217rr8)i1floati2s1s2r.rrrFr)rsampler6s   rtest_read_multizTestDictFields.test_read_multiRs+>+D+D+F+FHHHfl2;/3/4/4	(6(6	7	7	7	7	7rc
tjgdd}|t	|dddddd	d
|t	|dddddd	d
dS)N)rrCrrrrrsrrtrrrr%rr6s  rtest_read_with_blanksz$TestDictFields.test_read_with_blanksas!6!6!6+8+>+>+@+@BBB	
fSs.1#(G(G	H	H	HfSs.1#(G(G	H	H	H	H	Hrc
tjdgdd}|t	|ddddd	d
ddS)Nz1;2;abc;4;5;6
rr)rr!rrsrrtrrrr%r)s  rtest_read_semi_sepz!TestDictFields.test_read_semi_sepjsz!4 5+8+>+>+@+@*-///	
fSs.1#(G(G	H	H	H	H	HrN)rrrrrrrrrrrrrrr	r
rrrr'r*r,rrrrrsQ;;;	<	<	<???>>>
*
*
*111
PPP888PPPDDDPPP	K	K	KLLLOOOOOO>>>
7
7
7HHHHHHHHrrc&eZdZdZdZdZdZdS)TestArrayWritescddl}dtdD}|d|}tddd5}tj|d	
}||dd|Dd
z}|d||	|ddddS#1swxYwYdS)Nrcg|]}d|z
S)r.0rs  r
<listcomp>z2TestArrayWrites.test_int_write.<locals>.<listcomp>ts...qRT...rr1rrsrtr+rurr7rBc,g|]}t|Srrr2s  rr4z2TestArrayWrites.test_int_write.<locals>.<listcomp>z 3 3 3AQ 3 3 3rrC
arrayr_rr.r?rxjoinryrFrzrr9contentsrr}r?r?s       rtest_int_writezTestArrayWrites.test_int_writers%..E"II...KKX&&
4'2
>
>
>	7'Z999FOOAxx 3 3 3 3 344V;HLLOOOW\\^^X666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7BCC"%C"cddl}dtdD}|d|}tddd5}tj|d	
}||dd|Dd
z}|d||	|ddddS#1swxYwYdS)Nrcg|]
}d|z
dzSr1g?rr2s  rr4z5TestArrayWrites.test_double_write.<locals>.<listcomp> 2221RT3J222rr1rrsrtr+rurr7rBc,g|]}t|Srr6r2s  rr4z5TestArrayWrites.test_double_write.<locals>.<listcomp>r7rrCr8r;s       rtest_double_writez!TestArrayWrites.test_double_write~%22b		222KKX&&
4'2
>
>
>	7'Z999FOOAxx 3 3 3 3 344V;HLLOOOW\\^^X666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7r>cddl}dtdD}|d|}tddd5}tj|d	
}||dd|Dd
z}|d||	|ddddS#1swxYwYdS)Nrcg|]
}d|z
dzSrArr2s  rr4z4TestArrayWrites.test_float_write.<locals>.<listcomp>rBrr1rrsrtr+rurr7rBc,g|]}t|Srr6r2s  rr4z4TestArrayWrites.test_float_write.<locals>.<listcomp>r7rrCr8r;s       rtest_float_writez TestArrayWrites.test_float_writerEr>cddl}ddl}|d|j}tddd5}t	j|d}||d	|d
z}|d|	|
|ddddS#1swxYwYdS)Nrursrtr+rurr7rBrC)r9string
ascii_lettersrr.r?rxr:ryrFrz)rr9rLrr}r?r?s       rtest_char_writezTestArrayWrites.test_char_writes
KKV122
4'2
>
>
>	7'Z999FOOAxx{{6)HLLOOOW\\^^X666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7sBCCCN)rrrr=rDrIrNrrrr.r.qsP
7
7
7	7	7	7	7	7	7	7	7	7	7	7rr.c,eZdZdZdZdZdZdZdS)TestDialectValiditycGddtj}|}||jtjd|_|tj|d|_tj|_d|_	|}||jtj||j	d|
|jd|_	|tj5}|dddn#1swxYwY|t|jdd|_	|tj5}|dddn#1swxYwY|t|jdd|_	|tj5}|dddn#1swxYwY|t|jd	dS)
Nc0eZdZdZdZdZdZdZej	Z
dS)3TestDialectValidity.test_quoting.<locals>.mydialectrr[FTrCNrrrr!rJrIrLr(r.r1r*rrrr)rS/IJK##NnGGGrr)TrDr+z("quotechar" must be a 1-character stringz''rz+"quotechar" must be string or None, not int)
r.r,rFr*r1r,r/rIr0r&
assertTruerrrr)rcms    rtest_quotingz TestDialectValidity.test_quotings	%	%	%	%	%	%	%	%
IKKCN333 	#)Y/// $	M	!	IKKCM222c***
&&& 	


sy
)
)	RIKKK															R\**C	E	E	E#	


sy
)
)	RIKKK															R\**C	E	E	E 	


sy
)
)	RIKKK															R\**F	H	H	H	H	Hs6D//D36D3FF#&F#8HHHcGddtj}|}||jdd|_|tj5}|dddn#1swxYwY|t
|jdd|_|tj5}|dddn#1swxYwY|t
|jdd|_|tj5}|dddn#1swxYwY|t
|jdd	|_|tj5}|dddn#1swxYwY|t
|jd
d|_|tj5}|dddn#1swxYwY|t
|jddS)Nc0eZdZdZdZdZdZdZej	Z
dS)5TestDialectValidity.test_delimiter.<locals>.mydialectrr[FTrCNrTrrrr)r\rUrr)r:::z("delimiter" must be a 1-character stringr+,z%"delimiter" must be string, not bytesrz#"delimiter" must be string, not intz("delimiter" must be string, not NoneType)r.r,rFr!r,r/rrrWs    rtest_delimiterz"TestDialectValidity.test_delimiters	%	%	%	%	%	%	%	%
IKKc***#	


sy
)
)	RIKKK															R\**C	E	E	E!	


sy
)
)	RIKKK															R\**C	E	E	E#	


sy
)
)	RIKKK															R\**@	B	B	B 	


sy
)
)	RIKKK															R\**>	@	@	@#	


sy
)
)	RIKKK															R\**C	E	E	E	E	EsZ$A;;A?A?C++C/2C/EE"E4GGG$H;;H?H?cGddtj}|}||jdd|_|tjd5|dddn#1swxYwYd|_|tjd5|dddn#1swxYwYd|_|tjd5|dddn#1swxYwYd	|_|tjd
5|ddddS#1swxYwYdS)Nc0eZdZdZdZdZdZdZej	Z
dS)6TestDialectValidity.test_escapechar.<locals>.mydialectrr[FTrCNrTrrrr)rbrUrr)r[r+z)"escapechar" must be a 1-character stringz***z."escapechar" must be string or None, not bytesrz,"escapechar" must be string or None, not int)r.r,rFrJassertRaisesRegexr/)rr)rs   rtest_escapecharz#TestDialectValidity.test_escapecharsl	%	%	%	%	%	%	%	%
IKKt,,,!	

#
#CI/Z
[
[		IKKK															 $	

#
#CI/Z
[
[		IKKK															 $	

#
#CI/_
`
`		IKKK															 !	

#
#CI/]
^
^		IKKK																		sH%A<<BB.CC	C	7DDDEEEcGddtj}|}||jdd|_|}||jdd|_|tj5}|dddn#1swxYwY|t
|jddS)Nc0eZdZdZdZdZdZdZej	Z
dS):TestDialectValidity.test_lineterminator.<locals>.mydialectrr[FTrCNrTrrrr)rh
rUrr)rCr]rz!"lineterminator" must be a string)r.r,rFr(r,r/rrrWs    rtest_lineterminatorz'TestDialectValidity.test_lineterminators,	%	%	%	%	%	%	%	%
IKK)6222#(	 IKK)5111#$	 


sy
)
)	RIKKK															R\**<	>	>	>	>	>sB''B+.B+cd}dD]}||5|tj||d|tj||d|tj||d|tj||ddddn#1swxYwYdS)NclGddtj}t||||}dS)NceZdZdS)QTestDialectValidity.test_invalid_chars.<locals>.create_invalid.<locals>.mydialectNrTrrrr)rm#srr))r.r,rP)
field_namevaluer)rs    rcreate_invalidz>TestDialectValidity.test_invalid_chars.<locals>.create_invalid"sO




CK


Iz5111	AAAr)r!rJr&)rnr+rxr)rr,r.r/)rrprns   rtest_invalid_charsz&TestDialectValidity.test_invalid_chars!s			C	L	LJ44
L
L!!#)^ZLLL!!#)^ZOOO!!#)^ZNNN!!#)^ZKKK	
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L	L	LsB	B33B7	:B7	N)rrrrYr_rerirrrrrrPrPsl&H&H&HP'E'E'ER6>>>*LLLLLrrPceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
edZed
ZedZedZdZdZdZdZdZdZdZdZdZdS)TestSnifferzHarry'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"
z05/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"
zHarry'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
                        zabcdef
ghijklmno
ghijkl
ctj}|||j|||jdSr)r.SnifferrV
has_headersample12assertFalsesample13rsniffers  rtest_issue43625zTestSniffer.test_issue43625sY+--**4=99:::++DM::;;;;;rctj}|||j|||jdS)zDMore to document existing (unexpected?) behavior than anything else.N)r.rvryrwsample10sample11r{s  rtest_has_header_stringsz#TestSniffer.test_has_header_stringss[+--++DM::;;;++DM::;;;;;rctj}|||jd|||j|jzddSNFT)r.rvrHrwsample1header1r{s  rtest_has_headerzTestSniffer.test_has_headerb+--

g((66>>>

g(()DEEtLLLLLrctj}|||jd|||j|jzddSr)r.rvrHrwsample8header2r{s  r'test_has_header_regex_special_delimiterz3TestSniffer.test_has_header_regex_special_delimiterrrctj}dD]}||5||d}||jd||jd||jd||j	ddddn#1swxYwYdS)N)z	;'123;4';z'123;4';z;'123;4'z'123;4'z,;rr+F)
r.rvrsniffrFr!r&rHrIrL)rr|headerrGs    rtest_guess_quote_and_delimiterz*TestSniffer.test_guess_quote_and_delimiters+--F	?	?Ff%%
?
?!--55  !2C888  !2C888

g15999

g6>>>
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?	?	?sBB<<C	C	ctj}||j}||jd||jd||jd||j	}||jd||jd||jddS)NrBrDTrEr+F)
r.rvrrrFr!r&rHrLsample2rr|rGs   r
test_sniffzTestSniffer.test_sniffs+------*C000*C000

g.555----*C000*C000

g.66666rctj}||j}||j|j||jd}||jd||jd}||jd||j}||jd||j}||jd||j	}||jd||j
}||jd||jd	||j}||jd
||j
}||jd
||jd	||j}||jddS)Nz?,)
delimiters?z/,/rrrMr++r)r.rvrsample3rr!rFsample4sample5sample6sample7r&rsample9sample14rs   rtest_delimiterszTestSniffer.test_delimiterss+------	


g'666--->>*C000--->>*C000----*C000----*D111----*C000----*C000*C000----*C000----*C000*C000--
..*D11111rc4tj}||j}||j||j}||j||j}||j||j	}||j||j
}||jdSr)r.rvrrryrIrrrVrrrs   rtest_doublequotezTestSniffer.test_doublequotes+------,-------,-------+,,,----,-------+,,,,,rN)rrrrrrrrrrrrrrr
rrrxrzrr}rrrrrrrrrrrtrt0sBGGGGG/G"G*GGGGvHvHvHvHH<<<
<<<MMM
MMM
???
7
7
72228-----rrtceZdZdZeZdS)NULcdSrr)srQs  rr<z	NUL.writesrN)rrrr<
writelinesrrrrrs"


JJJrrgettotalrefcountzrequires sys.gettotalrefcount()c&eZdZdZdZdZdZdS)	TestLeakscd}tj}tdD]}tj|tjgtj}tjdgtjdgtjdg||z
}|}|	|ddS)Nrr1a,b,c
r
sysrr_gccollectrFgarbager.r6
assertLess)rdeltalastrcrrcs     rtest_create_readzTestLeaks.test_create_reads%''r		AJLLLRZ,,,%''BJ}%%%J}%%%J}%%%vIEFFq!!!!!rcd}tj}t}tdD]}t	j|tjgtj}tj	|tj	|tj	|||z
}|}|
|ddS)Nrr1r)rrrr_rrrFrr.r?r)rrrrrrs      rtest_create_writezTestLeaks.test_create_writes%''EEr		AJLLLRZ,,,%''BJqMMMJqMMMJqMMMvIEFFq!!!!!rcXd}dgdz}tj}tdD]h}tj|tjgtj}tj|}|D]}||z
}|}i|	|ddS)Nrrrr1r)rrrrrrrdrrs        r	test_readzTestLeaks.test_reads}Q%''r		AJLLLRZ,,,%''B*T""C

vIEFFq!!!!!rcd}gdgdz}t}tj}tdD]}}t	j|tjgtj}tj	|}|D]}|
|||z
}|}~||ddS)Nrr>rr1)rrrr_rrrFrr.r?rxr)	rrrrrrrr?rs	         r
test_writezTestLeaks.test_writesy{EE%''r		AJLLLRZ,,,%''BZ]]F
%
%$$$$vIEFFq!!!!!rN)rrrrrrrrrrrrsP
"
"
"""" """ """""rrc"eZdZgdZdZdZdS)TestUnicode)uMartin von LöwisuMarc André LemburgzGuido van RossumuFrançois Pinardc`tddd5}|d|jdz|dtj|}|t||jgddddS#1swxYwYdSNrsr+rtr=rBrCr)	rr<r:namesryr.r6rFrrs   rtest_unicode_readzTestUnicode.test_unicode_read$s
4g
>
>
>	9'MM#((4:..7888LLOOOZ((FT&\\DJ<888		9	9	9	9	9	9	9	9	9	9	9	9	9	9	9	9	9	9sBB##B'*B'cltddd5}tj|}||jd|jdz}|d|||ddddS#1swxYwYdSr)	rr.r?rxrr:ryrFrz)rr}r?r?s    rtest_unicode_writezTestUnicode.test_unicode_write,s
4g
>
>
>	7'Z((FOODJ'''xx
++F2HLLOOOW\\^^X666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7sB	B))B-0B-N)rrrrrrrrrrrsC
!
!
!E
99977777rrceZdZdZdZdS)KeyOrderingTestct}tdD]}tddd5}tj||}||dtj|}t|j	}|
||||dddn#1swxYwY|
t|dddS)	Nabcdersr+rtr=rxz@Key ordering: some key permutations not collected (expected 120))
setr	rr.rrryrtuplerrFaddlen)r	resultsetkeys
fileobjectdwdrkts       r,test_ordering_for_the_dict_reader_and_writerz<KeyOrderingTest.test_ordering_for_the_dict_reader_and_writer6s*EE	 ))	"	"DtR'BBB
"j^J55   """^J//2=))  r***

b!!!
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"	
Y.pqqqqqsBCC	C	c6td}|tt	j|t
ddgt
dddddgfgt
dd	gt
d
dgg|tt	j|d
t
ddgt
dddddgfgt
dd	gt
d
dgg|d=|tt	j|ddgt
ddgt
dddddgfgt
ddgt
ddggdS)Nz            FirstName,LastName
            Eric,Idle
            Graham,Chapman,Over1,Over2

            Under1
            John,Cleese
        )	FirstNameEric)LastNameIdle)rGraham)rChapmanOver1Over2)rUnder1)rN)rJohn)rCleese	OtherInforrfnamelnamer)rr)rr)rr)rr)rr)rN)rr)rr)r

splitlinesrFrr.rr)rdatas  rtest_ordered_dict_readerz(KeyOrderingTest.test_ordered_dict_readerDs

Z\\	
	
cnT2233
/1EF
G
G
13J'7!34677
13EF
G
G
/1GH
I
I	
				
cnT;GGGHH
/1EF
G
G
13J&'(:;=>>
13EF
G
G
/1GH
I
I	
			
GcnTw>PQQQRR
+->?
@
@
-/C'7!34677
-?
@
@
+-@A
B
B	
					rN)rrrrrrrrrr4s5rrr!!!!!rrc:eZdZdZdZejdZdS)MiscTestCasecHddh}tj|td|dS)Nr__version__)r._csv)extra)rcheck__all__r.)rrs  rtest__all__zMiscTestCase.test__all__is,M*T3uEEEEEErc6Gddtj}dS)NceZdZdS)+MiscTestCase.test_subclassable.<locals>.FooNrTrrrFoorosrr)r.r/)rrs  rtest_subclassablezMiscTestCase.test_subclassablems$!!!!!#)!!!!!rctjd}|j|jfD]@}||5t||dddn#1swxYwYAdS)Nr)tp)r
import_moduleReaderWriterrr)rrrs   rtest_disallow_instantiationz(MiscTestCase.test_disallow_instantiationqs*622+t{*	7	7B$$
7
7,T2666
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7	7	7sAA	A	N)rrrrrrrrrrrrrhsTFFF"""
77777rr__main__)/r\runittestiortempfilerr.rr`testrtest.supportrrrrr	textwrapr
collectionsrr
TestCaserr	rfrmrrrrrrrr.rPrtr
skipUnlesshasattrrrrrrmainrrr<module>rs



""""""



				



UUUUUUUUUU""""""######
I.I.I.I.I.x I.I.I.VKKKKKKKKKK(+KKKKKKZ>>>>>(#>>> _O_O_O_O_O{_O_O_OB39?????{???SSSSSkSSSAAAAA[AAAkHkHkHkHkHX&kHkHkHZ,7,7,7,7,7h',7,7,7\NLNLNLNLNL(+NLNLNLbc-c-c-c-c-(#c-c-c-J
WWS"455688?"?"?"?"?"!?"?"88?"B77777(#777.11111h'111h777778$777 zHMOOOOOr