&ƧJEWSSKrSSKrSSKrSSKJr SSKJr SSKrSSKrSSK r SSK J r SSK J r Jr SSKJr SSKJr SSKJr "S S 5r"S S \R,5r"S S\R,5r"SS\R,5r"SS\5r"SS\R65r"SS\5r"SS\5r"SS\R65r"SS\5r "SS\R,5r!"SS \R,5r""S!S"\R,5r#"S#S$\R,5r$"S%S&5r%\RL"\'"\S'5S(5"S)S*\R,55r("S+S,\R,5r)"S-S.\R,5r*"S/S0\R,5r+\,S1:Xa\RZ"5 gg)2N)StringIO) TemporaryFile)support) import_helpercheck_disallow_instantiation) permutations)dedent) OrderedDictc\rSrSrSrSrg) BadIterablec[eNOSErrorselfs 4/opt/alt/python313/lib64/python3.13/test/test_csv.py__iter__BadIterable.__iter__s N)__name__ __module__ __qualname____firstlineno__r__static_attributes__rrrr r srr c\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!S r"S!r#S"r$S#r%S$r&S%r'S&r(S'r)S(r*S)r+g*)+Test_CsvcU"U5 UR[U5 UR[US5 UR[XSS9 UR[XSS9 UR[XSS9 UR[XSS9 UR[XSS9 UR[XSS9 UR[XSS9 UR[RXS5 UR[XSS9 UR[XS S9 UR[XS S9 UR[XS S9 UR[XSS 9 UR[XS S 9 UR[XSS 9 UR[X[RSS 9 UR[X[RSS 9 UR[X[R SS 9 UR[ XS S9 UR[ XS S9 UR[ XS S9 UR[ XSS9 UR[ XSS9 UR[ XSS9 U"USS9 U"USS9 U"USS9 U"USSS9 U"USSS9 U"USSS9 U"USSS9 UR[ XSSS9 UR[ XSSS9 U"USS9 U"USS9 U"USS9 UR[ XSSS9 UR[ XSSS9 UR[ XSSS9 U"USS9 U"USS9 U"USS9 U"USS 9 UR[ XSSS9 UR[ XSSS9 UR[ XSSS9 g)Nr)bad_attr delimiter escapechar quotecharz^^foolineterminatorquoting)r/r)    Tr%skipinitialspace)r'r5)r)r5^)r%r')r%r))r'r)…)r%r-)r'r-)r)r-) assertRaises TypeErrorcsvError QUOTE_ALL QUOTE_NONE ValueError)rctorargs r_test_arg_validTest_Csv._test_arg_valids S  )T* )T40 )T; )T"= )T2> )T"= )T$? )T4@ )T$? #))T6 )T$? )T!< )T1= )T!< )TtD )TqA )T= )T"%--2  ? )T"%--4  A )T"%..B  @ *d4@ *dDA *d4@ *d4@ *dDA *d4@ SC  SS! SC  SD48 STD9 SD48 SC$7 *d%(4  A *d$'$  @ SC  SS! SC  *d33O *d3#N *dC3O SF# SV$ SF# S( *d$*6  C *d%+F  D *d$*6  CrcUR[R/5 UR[[R[ 55 gr)rAr:readerr8rr rs rtest_reader_arg_validTest_Csv.test_reader_arg_validYs. SZZ, '3::{}=rcUR[R[55 "SS5nUR [ [RU"55 g)Nc$\rSrSr\S5rSrg)1Test_Csv.test_writer_arg_valid..BadWriter_c[errrs rwrite7Test_Csv.test_writer_arg_valid..BadWriter.write`s rrN)rrrrpropertyrLrrrr BadWriterrI_s   rrO)rAr:writerrr8r)rrOs rtest_writer_arg_validTest_Csv.test_writer_arg_valid]s< SZZ4   '3::y{;rcU"U6nURURRS5 URURRS5 URURR S5 URURR S5 URURRS5 URURR[R5 URURRS5 URURRS5 UR[[URS5 UR[[ URSS5 UR[[URS5 UR[[ URSS5 g) N,T "Fr%:r/) assertEqualdialectr%assertIs doublequoter'r-r)r/r: QUOTE_MINIMALr5strictr8AttributeErrordelattrsetattr)rr?argsobjs r_test_default_attrsTest_Csv._test_default_attrsesBDk ..4 ckk--t4 //6 33V< ..4 ,,c.?.?@ ckk22E: ckk((%0 .'3;; L .'3;; SQ .'3;; J .'3;;#T +rcDUR[R/5 gr)rcr:rDrs rtest_reader_attrsTest_Csv.test_reader_attrsw   R0rcTUR[R[55 gr)rcr:rPrrs rtest_writer_attrsTest_Csv.test_writer_attrsz   XZ8rc [SSSSS[RSSS9nU"U0UD6nURURR S5 UR URRS5 URURRS5 URURRS5 URURRS5 URURR[R5 UR URRS5 UR URRS5 g)NrWF\r1*T)r%r[r'r-r)r/r5r])dictr:r=rXrYr%rZr[r'r-r)r/r5r])rr?rakwargsrbs r_test_kw_attrsTest_Csv._test_kw_attrs}s4%)S!nnt!#D#F# ..4 ckk--u5 //6 33T: ..4 ,,cnn= ckk22D9 ckk(($/rcDUR[R/5 gr)rrr:rDrs rtest_reader_kw_attrsTest_Csv.test_reader_kw_attrss CJJ+rcTUR[R[55 gr)rrr:rPrrs rtest_writer_kw_attrsTest_Csv.test_writer_kw_attrss CJJ 3rc"SS5nX#4-nU"U6nURURRS5 URURRS5 URURR S5 URURR S5 URURRS5 URURR[R5 URURRS5 URURRS5 g) NcH\rSrSrSrSrSrSrSr\ Rr Sr Sr Srg ) -Test_Csv._test_dialect_attrs..dialect-Fr6$#TrN)rrrrr%r[r'r-r)r:r<r/r5r]rrrrrYr|s/IKJNIMMG! FrrYr~Fr6rrT) rXrYr%rZr[r'r-r)r/r:r<r5r])rr?rarYrbs r_test_dialect_attrsTest_Csv._test_dialect_attrss  j Dk ..4 ckk--u5 //5 33S9 ..4 ,,cmm< ckk22D9 ckk((%0rcDUR[R/5 gr)rr:rDrs rtest_reader_dialect_attrs"Test_Csv.test_reader_dialect_attrsrhrcTUR[R[55 gr)rr:rPrrs rtest_writer_dialect_attrs"Test_Csv.test_writer_dialect_attrsrlrc ,[SSSS9n[R"U40UD6nURU5 UR S5 UR UR 5X%RR-5 SSS5 g!,(df  g=fNw+utf-8r#encodingnewliner) rr:rPwriterowseekrXreadrYr-)rfieldsexpectrqfileobjrPs r _write_testTest_Csv._write_testsm 4'2 >'ZZ262F OOF # LLO   W\\^#nn&C&CC E ? > >s A0B Bc V[SSSS9n[R"U40UD6nURU5 UR U5 SSS5 UR S5 UR UR5S5 SSS5 g!,(df  NH=f!,(df  g=fr)rr:rPr8rrrXr)rexcrrqrrPs r_write_error_testTest_Csv._write_error_tests{ 4'2 >'ZZ262F""3''( LLO   W\\^R 0 ? >''? >s")BB 9B B B B(cUR[RS5 UR[[ 55 "SS5nUR[U"55 "SS5nUR[U"5/5 g)Nc \rSrSrSrSrSrg).Test_Csv.test_write_arg_valid..BadListcg)N rrs r__len__6Test_Csv.test_write_arg_valid..BadList.__len__srcUS:a[eg)Nr)ris r __getitem__:Test_Csv.test_write_arg_valid..BadList.__getitem__sq5!MrrN)rrrrrrrrrrBadListrs   "rrc\rSrSrSrSrg).Test_Csv.test_write_arg_valid..BadItemc[errrs r__str__6Test_Csv.test_write_arg_valid..BadItem.__str__ rrN)rrrrrrrrrBadItemr rr)rr:r;rr )rrrs rtest_write_arg_validTest_Csv.test_write_arg_validsf syy$/ w 6 " " w 2   w 4rcBSS-nURX/U<SU<35 g)NXPrT)r)r bigstrings rtest_write_bigfieldTest_Csv.test_write_bigfields(%K  ).#Y10 1rcUR/SQS5 UR[R/SQ[RS9 UR/SQS[R S9 UR/SQS[R S9 UR/SQS[RS9 URSS/S[RS9 UR/S QS [RS9 UR/S QS [RS9 g) Nar+zp,q a,1,"p,q"r.z "a",1,"p,q"z "a","1","p,q"a br+z "a b","1")rr#Nr+z "a","",,1z "a","",,"1") rrr:r;r=r\QUOTE_NONNUMERICr< QUOTE_STRINGS QUOTE_NOTNULLrs rtest_write_quotingTest_Csv.test_write_quotings  4 syy-),  9  ##4  6  ##7  9 #&==  2 &\#&==  2 +##4  6 -##4  6rc~UR/SQSSS9 UR[R/SQSSS9 UR/SQSSSS9 URS /S S[RS 9 URS /S S[RSS 9 URS /S S[R S 9 UR/SQSS[R S 9 URSS/SS[R S 9 URSS/SS[RS 9 URSS/SS[R S 9 URSS/SS[RS 9 URSS/SS[R S 9 URSS/SS[RS 9 UR/SQSS[RS 9 g)Nrrrnr&)rr+zp,"q"F)r'r[z a,1,"p,\"q\""rV"""")r'r/z\")r'r/r[za,1,p\,qrz\\,az"\\","a"z\ z\\ ,az\,z\\\,,az,\z",\\",a)zC\67zX"z C\\,6,7,"X""")rrr:r;r\r=r<rs rtest_write_escapeTest_Csv.test_write_escapes  $(  * syy/*.E  C *;$(  ? #$(C4E4E  G #$(C4E4E',  . #$(CNN  D  $(CNN  D $h$(#..  B $h$(#2C2C  E $l$(#--  A %y$(#2C2C  E %{$(#..  B %{$(#2C2C  E 02C$(#2C2C  Erc SHnURUS9 [5n[R"X!S9nUR SS/5 UR SS/5 UR SS/5 UR UR 5S US US U35 SSS5 SSS5 M g!,(df  N=f!,(df  M=f) N)rUr0r1z!@#r,rbr+rr1r0a,bz1,2z" "," ")subTestrr:rPrrXgetvalue)rr-siorPs rtest_write_lineterminator"Test_Csv.test_write_lineterminators=N^<Z3 ZZKFOOS#J/OOQF+OOT4L1$$S\\^'*>*:'*>*:'00@&BC  =<>Z=.BrokenFileic[err)rbufs rrL1Test_Csv.test_writerows..BrokenFile.writerrrN)rrrrrLrrrr BrokenFilerrrrrrrr#rrcdrz a,b c,d ) r:rPr8r writerowsrr9rrXr)rrrPrs rtest_writerowsTest_Csv.test_writerowss  JL) '6#3#3seW= 4'2 >'ZZ(F   i)9)94 @   sCj3*5 6 LLO   W\\^-= > ? > >s BC C+c[SSSS9n[R"U5nURSS/SS//5 UR S5 UR UR 5S5 SSS5 [SSSS9n[R"U5nURS/S//5 UR S5 UR UR 5S 5 SSS5 [SSSS9n[R"U5nURS/S//5 UR S5 UR UR 5S 5 SSS5 g!,(df  N=f!,(df  N=f!,(df  g=f) Nrrr#rrrrza, ,d z"" a za "" )rr:rPrrrXrrrrPs rtest_writerows_with_none!Test_Csv.test_writerows_with_none(s1 4'2 >'ZZ(F   sDkD#;7 8 LLO   W\\^^ < ? 4'2 >'ZZ(F   tfse_ - LLO   W\\^] ; ? 4'2 >'ZZ(F   sedV_ - LLO   W\\^] ; ? >? > ? > ? >s&AE>AE%.AE6 E"% E36 FcURSS5 URS/S5 UR[RS/[RS9 URS/S[R S9 URS/S[R S9 URS/S5 UR[RS/[RS9 UR[RS/[R S9 UR[RS/[R S9 URSS/S5 URSS/S5 g)Nrr#rr.rT)rrr:r;r=rrrs rtest_write_empty_fields Test_Csv.test_write_empty_fields<s R  "t$ syy2$G "tS->->? "tS->->? $& syy4&#..I syy4&#:K:KL syy4&#:K:KL "b3' $s+rc bURS/SSSS9 URS/SSSS9 URS/SSSS9 URS/SSSS9 URSS/SSSS9 URSS/SSSS9 URSS/SSSS9 URSS/SSSS9 URSS/SSS[RS9 UR[RSS/SS[RS9 [R [R 4H-nURSS/SSSUS9 URSS/SSSUS9 M/ [R[R [R 4H;nURSS/SSSUS9 UR[RSS/SSUS9 M= g) Nr#rr2Fr4Tz"" "")r%r5r/)rr:r=rr;rr)rr/s r'test_write_empty_fields_space_delimiter0Test_Csv.test_write_empty_fields_space_delimiterIs "tsUK "tsTJ $uM $tL "b3#N "b7cDQ $scER $w#PTU "b3#!$  1 syy2r(),t'*~~  7((#*;*;;G   b"Xw#PU%,  .   b"Xw#PT%,  .< ~~s'8'8#:K:KKG   dD\3#PU%,  .  " "399tTl-04+2 # 4Lrc[SSSS9n[R"U5nUR[UR S5 UR[ UR [55 SSS5 g!,(df  g=f)Nrrr#r)rr:rPr8r9rrr rs rtest_writerows_errorsTest_Csv.test_writerows_errorsfs\ 4'2 >'ZZ(F   i)9)94 @   gv'7'7 G? > > A!A66 Bc j[R"U40UD6n[U5nURXR5 gr)r:rDlistrX)rinputrrqrDresults r _read_testTest_Csv._read_testls,E,V,f (rc*UR//5 URS///5 UR[RURS/SSS9 URS/S//SS9 UR[RURS/S5 g) Nr#z"ab"cr+r]abcr)r[sabcrr8r:r;rs rtest_read_oddinputsTest_Csv.test_read_oddinputsqs B rd# #))T__")TA  7  UG9A> #))T__!(D *rcURSS/SS/SS//5 URSS/SS/SS//5 URS S /SS/SS//5 URS S /SS/SS//5 S nUR[RU5 [ [R "S/55 SSS5 UR[RU5 [ [R "S/55 SSS5 UR[RU5 [ [R "S/55 SSS5 g!,(df  N=f!,(df  Ni=f!,(df  g=f)Nrzc,drrrrza,b zc,d za,b zc,d za,b zc,d zwith newline=''za,b c,dza,b c,dza,b c,d)rassertRaisesRegexr:r;nextrD)rerrmsgs r test_read_eolTest_Csv.test_read_eol{s$ #cSI(>? '*c#YS ,BC I.#cSI0FG '*c#YS ,BC"  # #CIIv 6 ZL) *7  # #CIIv 6 ZL) *7  # #CIIv 6 \N+ ,7 6 7 6 6 6 6 6s$ !E!E!E) E E&) E7c URS/SS//5 URS/S//5 URS/S//SS9 UR[RURS//SS 9 UR[RURS//SS 9 UR[RURS//SSS 9 g) Nza,"rr#z"ar6r0r&Tr)r'r]rrs r test_read_eofTest_Csv.test_read_eofs 3)- #( xC8 #))T__ugr$O #))T__tfbN #))T__%D  BrcURS/S//5 URS//SQ/5 URS//SQ/5 URS//SQ/SS9 URS //SQ/5 g) Nra,b,c)rzbrza,b,c)rzbrza,b\,crnr&za,"b",crrs r test_read_nulTest_Csv.test_read_nulsj $)  &7%89  &7%89  (9':tL  (9':;rcURS//SQ/5 URS//SQ/SS9 URS//SQ/SS9 g)Nza,b,crrrza;b;c;r$zabcrr rs rtest_read_delimiterTest_Csv.test_read_delimitersC  O#45  O#4D  o%6$GrcURS//SQ/SS9 URS/SS//SS9 URS/SS//SS9 URS /SS//SS9 URS /SS //SS9 URS /SS //SS9 URS//SQ/SS9 URS//SQ/SS9 URS//SQ/SS9 URS//SQ/5 g)Nza,\b,crrnr&za,b\,crzb,cza,"b\,c"za,"b,\c"z a,"b,c\""zb,c"za,"b,c"\zb,c\za,^b,cr6r r)rz\brr rs rtest_read_escapeTest_Csv.test_read_escapes  o%64H  sEl^E  e ~$G  e ~$G #vDI  g'7DI  _$5#F  o%64H  &7%8TJ  &7%89rcHURS//SQ/5 URS//SQ/SSS9 URS//SQ/[RSS9 URS//SQ/[RS 9 URS//S Q/[RS 9 URS//S Q/[R S 9 URS //S Q/5 URS //S Q/[RS 9 URS //SQ/[RS 9 URS //SQ/[R S 9 URS/SS//5 UR [URS///[RS 9 UR [URS///[R S 9 URS//SQ/SS9 URS//SQ/SS9 URS//SQ/[RSS9 URS//SQ/[R SS9 g)Nz 1,",3,",5)1z,3,5)rrV3rVrrn)r)r'r/r'z ,3,"5",7.3, 9)r#r333333@ r.)Nrrz7.3z 9)Nrrrrz,,"",)r#r#r#r#)NNr#Nz"a b", 7rz 7zabc,3z 1,@,3,@,5@r(z 1,,3,,5rz 1\.5,\.5,.5)??rz1\.5,\.5,"\.5")rrz.5)rr:r=rrrr8r>rs rtest_read_quotingTest_Csv.test_read_quotingsE  (9':;  (A'B"&4  9  (A'B #4  A ),@+A # 4 4  6 ),I+J # 1 1  3 ),B+C # 1 1  3  $4#56  $4#5 # 4 4  6  $:#; # 1 1  3  $:#; # 1 1  3  '78 *doo")bT"%"6"6  8 *doo")bT"%"3"3  5  (9':cJ *;)<M )O+< # 4 4  G ,-0@/A # 1 1d  DrcURS//SQ/SS9 URS//SQ/SS9 URS//SQ/S[RS9 URS//SQ/S[RS9 g) Nzno space, space, spaces, tab)zno spacespacespacesz tabTr5z , , r#r#r#)NNN)r5r/)rr:rrrs rtest_read_skipinitialspace#Test_Csv.test_read_skipinitialspaces 9:AB)-  /  %)-  /  +,)-s7H7H  J  +,)-s7H7H  JrczUR/SQ/SQ/SQ/SQ//SSS9 UR/SQSS /SS /S ///SS S9 g) N)za bz a z r#)rr#r#r)r#r#rr#r#r&r2Fr4rrr#Tr rs rtest_read_space_delimiter"Test_Csv.test_read_space_delimitersZ 4+-BLRTU"%  ? 4sc2Yb9"%  >rc[R"5nSnSU-nU<SU<3nURU/X3//5 [R"U5 URU/X3//5 UR[R"5U5 [R"US- 5 UR [R URU//5 UR [ [RS5 UR [ [RSS5 [R"U5 g![R"U5 f=f)NrrrTr+)r:field_size_limitrrXr8r;r9)rlimitsizerbiglines rtest_read_bigfieldTest_Csv.test_read_bigfields$$& (Dd I!*I6G OOWI(>'? @   & OOWI(>'? @   S113T :  a (   cii7)R H   i)=)=t D   i)=)=q$ G   'C  's DD44E c[R"/SQ5nURURS5 [ U5 URURS5 [ U5 URURS5 [ U5 URURS5 UR [ [U5 URURS5 g)N)zline,1zline,2zline,3rr+rr)r:rDrXline_numrr8 StopIteration)rrs rtest_read_linenumTest_Csv.test_read_linenums JJ5 6 Q' Q Q' Q Q' Q Q' -q1 Q'rc /SQ/SQ/SQ/SQ/SQ/SQ/nSHnURUS9 [S S S S 9n[R"X2S9nUR U5 UR S 5 [ [R"U55HupVURXaU5 M SSS5 SSS5 M g!,(df  N=f!,(df  M=f)Nz azb czd z ezf gzh z izj kzl z mzn ozp z qzr szt z uzv wzx rUr0r1r,rrr#rr) rrr:rPrr enumeraterDrXrrowsr-rrPrrows rtest_roundtrip_quoteed_newlines(Test_Csv.test_roundtrip_quoteed_newliness " " ( ( ( (  1N^<"4'2F' ZZOF$$T*LLO"+CJJw,?"@((1g6#A G=<1FF=r?r@r,rrr#rrn)r-r/r'rr) rrr:rPr=rrrArDrXrBs r(test_roundtrip_escaped_unquoted_newlines1Test_Csv.test_roundtrip_escaped_unquoted_newliness " " ( ( ( (  1N^<"4'2F' ZZ034QF$$T*LLO"+CJJw?B~~BF-H#I((1g6#I G=<1FF=<+$190 ,41,19E151 6"E> C2 ?<( ,4:H ) * -B<H :"DH J>(& (7$7rrcP\rSrSrSrSrSrSrSrSr Sr S r S r S r S rg )TestDialectRegistryi+cUR[[RS5 UR[[R5 UR[R [RS5 UR[R [RS5 UR[[R 5 UR[R [R S5 UR[R [R S5 UR[[RS5 UR[[RSS5 UR[[RSSS5 UR[[RSSS9 UR[[RSSS9 UR[[R/5 g)Nnonesuchr) badargumentr.)r8r9r: list_dialects get_dialectr;unregister_dialectregister_dialectrs rtest_registry_badargs)TestDialectRegistry.test_registry_badargs,sZ )S%6%6= )S__5 #))S__d; #))S__jA )S%;%;< #))S%;%;TB #))S%;%;ZH )S%9%94@ )S%9%94F )S%9%9:q!L )S%9%9:&*  , )S%9%9:"&  ( )S%9%92>rc"SS[R5nSn[R"5U/-nUR5 [R"X!5 UR [R U5 UR[R"U5RS5 [[R"55nURX45 g)Nc\rSrSrSrSrg)5TestDialectRegistry.test_registry..myexceltsvi>r3rNrrrrr%rrrr myexceltsvrW>IrrYr3) r:excelrOsortrR addCleanuprQrXrPr%sorted)rrYnameexpected_dialects got_dialectss r test_registry!TestDialectRegistry.test_registry=s  --/4&8  T. ..5 .88$?c//12  *9rc :Sn[R"USS9 UR[RU5 UR [R "U5R S5 UR /SQ/[[R"S/U555 g)Nfedcbarr$)rYZzX;Y;Z) r:rRr]rQrXrPr%rrD)rr_s rtest_register_kwargs(TestDialectRegistry.test_register_kwargsIso TS1 ..5 .88#> /*DWIt1L,MNrc b"SS[R5nSn[R"X!SSSSS[RS 9 UR [R U5 [R "U5nURURS5 URURS5 URURS5 URURS5 URURS5 URUR[R5 g) Nc@\rSrSrSrSrSrSrSr\ Rr Sr g) DTestDialectRegistry.test_register_kwargs_override..mydialectiQr3rVTFrUrN) rrrrr%r)r[r5r-r:r\r/rrrr mydialectrlQs'IIK$ #N''Grrm test_dialectr'FTr0)r%r)r[r5r-r/)r:DialectrRr<r]rQrPrXr%r)r[r5r-r/)rrmr_rYs rtest_register_kwargs_override1TestDialectRegistry.test_register_kwargs_overridePs (  ( T'*'*)..2,0%(]]  4 ..5//$' **C0 **C0 ,,e4 1148 //6 #--8rcv"SS[R5nUR[RU5 g)Nc\rSrSrSrSrg)?TestDialectRegistry.test_incomplete_dialect..myexceltsvimr3rNrXrrrrYrumrZrrY)r:rpr8r;)rrYs rtest_incomplete_dialect+TestDialectRegistry.test_incomplete_dialectls&   #))Z0rch"SS[R5n[SSS9nURS5 UR S5 [R "X!"5S9nUR [U5/S Q5 UR [U5S S /5 SSS5 g!,(df  g=f) Nc4\rSrSrSr\R rSrSr g)5TestDialectRegistry.test_space_dialect..spaceirr2rnrN) rrrrr%r:r=r/r'rrrrr#rzrsInnGJrr#rrrzabc def c1ccccc1 benzene rrY)rr#r#defc1ccccc1benzene)r:r[rrLrrDrXr)rr#rrDs rtest_space_dialect&TestDialectRegistry.test_space_dialectqs CII  4' 2g MM9 : LLOZZ9F   T&\+A B   T&\J +B C 3 2 2s A6B## B1c [SSSS9n[R"U/UQ70UD6nUR/SQ5 UR S5 UR UR 5U5 SSS5 g!,(df  g=f)Nrr#rrrr+rrr)rr:rPrrrXr)rexpected writeargs kwwriteargsrrPs rcompare_dialect_123'TestDialectRegistry.compare_dialect_123~sa 4g >'ZZC)C{CF OOG $ LLO   W\\^X 6 ? > >s AA44 Bc"SS[R5n"SS[R5n"SS[R5n"SS[R5n"S S 5n[R"SU5 URS 5 URS SS 9 URS US 9 URS U5 URSU"5S 9 URSSS 9 URSUSS9 URSUS 9 [R"S5 g![R"S5 f=f)Nc\rSrSrSrSrg)5TestDialectRegistry.test_dialect_apply..testAir3rNrXrrrtestArrZrrc\rSrSrSrSrg)5TestDialectRegistry.test_dialect_apply..testBirWrNrXrrrtestBrIrrc\rSrSrSrSrg)5TestDialectRegistry.test_dialect_apply..testCi|rNrXrrrtestCrrrrc\rSrSrSrSrg)7TestDialectRegistry.test_dialect_apply..testUniiuΛrNrXrrrtestUnirs Irrc\rSrSrSrg);TestDialectRegistry.test_dialect_apply..unspecifiedirNrrrrrrrr unspecifiedrs rrz1,2,3 r|z1 2 3 z1:2:3 z1|2|3 z1;2;3 r)rYr%u 1Λ2Λ3 )r:r[rRrrQ)rrrrrrs rtest_dialect_apply&TestDialectRegistry.test_dialect_applys! CII  CII  CII  !cii !   We, ,  $ $[ 1  $ $[$ $ ?  $ $[+ $ F  $ $]E :  $ $[%' $ B  $ $[' $ B  $ $[%/2 % 4  $ $%:-4 % 6  " "7 +C " "7 +s B D''D?c[R"5H>n[R"U5nUR[[ R U5 M@ gr)r:rOrPr8r9copy)rr_rYs r test_copyTestDialectRegistry.test_copys9%%'Dood+G   iG <(rc[R"5Han[R"U5n[[R S-5H(nUR [[RX#5 M* Mc g)Nr+) r:rOrPrangepickleHIGHEST_PROTOCOLr8r9dumps)rr_rYprotos r test_pickleTestDialectRegistry.test_picklesS%%'Dood+Gv66:;!!)V\\7J<(rrN)rrrrrSrbrhrqrvrrrrrrrrrrKrK+s7?" :O981 D7,<= KrrKc \rSrSrSrSrSrg) TestCsvBaseic[SSSS9nURU5 URS5 [R"X0R S9n[ U5nURXR5 SSS5 g!,(df  g=f)Nrrr#rrr|)rrLrr:rDrYrrX)rrexpected_resultrrDrs rreaderAssertEqualTestCsvBase.readerAssertEquals\ 4'2 >' MM% LLOZZ<<@F&\F   V 5 ? > >s AA22 Bc[SSSS9n[R"X0RS9nUR U5 UR S5 UR UR5U5 SSS5 g!,(df  g=f)Nrrr#rr|r)rr:rPrYrrrXr)rrrrrPs rwriterAssertEqualTestCsvBase.writerAssertEquals] 4'2 >'ZZ<<@F   U # LLO   W\\^_ = ? > >rrN)rrrrrrrrrrrrs 6>rrc\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrg)TestDialectExcelir[c,URSS//5 g)Nrrrs r test_singleTestDialectExcel.test_single uwi0rc.URS/SQ/5 g)Nz 1,2,3,4,5)r2r4rrrs r test_simpleTestDialectExcel.test_simples {-B,CDrc(URS/5 gNr#rrs rtest_blanklineTestDialectExcel.test_blankline r2&rc.URSSS//5 g)NrTr#rrs rtest_empty_fields"TestDialectExcel.test_empty_fieldss sb"XJ/rc,URSS//5 g)Nrr#rrs rtest_singlequoted"TestDialectExcel.test_singlequoteds trdV,rc.URSSS//5 g)Nz"",r#rrs rtest_singlequoted_left_empty-TestDialectExcel.test_singlequoted_left_empty u2wi0rc.URSSS//5 g)Nz,""r#rrs rtest_singlequoted_right_empty.TestDialectExcel.test_singlequoted_right_emptyrrc,URSS//5 g)NrrVrrs rtest_single_quoted_quote)TestDialectExcel.test_single_quoted_quotes vw/rc,URSS//5 g)Nz""""""rrrs rtest_quoted_quotes#TestDialectExcel.test_quoted_quotess x4&2rc,URSS//5 g)Nza""brrs rtest_inline_quote"TestDialectExcel.test_inline_quote vz2rc,URSS//5 g)Nza"b"crrs rtest_inline_quotes#TestDialectExcel.test_inline_quotess w' 4rc,URSS//5 g)Nz"a"babrrs rtest_quotes_and_more%TestDialectExcel.test_quotes_and_mores vx0rc,URSS//5 g)Nza"brrs rtest_lone_quote TestDialectExcel.test_lone_quoterrc,URSS//5 g)Nz"a" "b"za "b"rrs rtest_quote_and_quote%TestDialectExcel.test_quote_and_quotes yG9+6rc,URSS//5 g)Nz "a"rrs rtest_space_and_quote%TestDialectExcel.test_space_and_quoterrc.URS/SQ/5 g)Nz#1,2,3,"I think, therefore I am",5,6)rrrzI think, therefore I amrrrrs r test_quotedTestDialectExcel.test_quoteds D!+ , -rc.URS/SQ/5 g)NzJ1,2,3,"""I see,"" said the blind man","as he picked up his hammer and saw")rrrz"I see," said the blind manz"as he picked up his hammer and sawrrs rtest_quoted_quote"TestDialectExcel.test_quoted_quotes  k!G H Irc8SnURU/SQ/SQ/5 g)NzR1,2,3,"""I see,"" said the blind man","as he picked up his hammer and saw" 9,8,7,6)rrrz"I see," said the blind manz"as he picked up his hammer and saw)98rrr)rrs rtest_quoted_nlTestDialectExcel.test_quoted_nls+  u!J!2 3 4rc.URS/SQ/5 g)Nz 12,12,1",)12rz1"r#rrs rtest_dubious_quote#TestDialectExcel.test_dubious_quote s {-C,DErc(UR/S5 grrrs r test_nullTestDialectExcel.test_nullrrc,URS//S5 g)Nrzabc rrs rtest_single_writer#TestDialectExcel.test_single_writers y)4rc.UR/SQ/S5 g)N)r+rrrz 1,2,abc,3,4 rrs rtest_simple_writer#TestDialectExcel.test_simple_writers  346GHrc.UR/SQ/S5 g)N)r+rza"bc"rrz1,2,"a""bc""",3,4 rrs r test_quotesTestDialectExcel.test_quotes  568OPrc,URS//S5 gNabc,defz "abc,def" rrs rtest_quote_fieldsep$TestDialectExcel.test_quote_fieldsep  }o>rc.UR/SQ/S5 g)N)r+rza bcrrz1,2,"a bc",3,4 rrs r test_newlinesTestDialectExcel.test_newliness  568MNrrN)rrrrrYrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrsG1E'0-1103351 17 3- I 4F'5IQ?Orrc0\rSrSr\R rSrSrg) EscapedExceli!rnrN) rrrrr:r=r/r'rrrrrr!snnGJrrc.\rSrSr\"5rSrSrSrg)TestEscapedExceli%c,URS//S5 g)Nr  abc\,def rrs rtest_escape_fieldsep%TestEscapedExcel.test_escape_fieldsep(rrc,URSS//5 g)Nrr rrs rtest_read_escape_fieldsep*TestEscapedExcel.test_read_escape_fieldsep+s ) >rrN) rrrrrrYrrrrrrrr%snG??rrc$\rSrSrSrSrSrSrg)TestDialectUnixi.unixc.UR/SQ/S5 g)N)r+abc defr"1","abc def","abc" rrs rr"TestDialectUnix.test_simple_writer1r rc.URS/SQ/5 g)Nr#)rr"rrrs rtest_simple_reader"TestDialectUnix.test_simple_reader4s 69P8QRrrN)rrrrrYrr&rrrrrr.sGQSrrc0\rSrSr\R rSrSrg)QuotedEscapedExceli7rnrN) rrrrr:rr/r'rrrrr)r)7s""GJrr)c.\rSrSr\"5rSrSrSrg)TestQuotedEscapedExceli;c,URS//S5 gr rrs rtest_write_escape_fieldsep1TestQuotedEscapedExcel.test_write_escape_fieldsep>rrc,URSS//5 g)Nz "abc\,def" r rrs rr0TestQuotedEscapedExcel.test_read_escape_fieldsepAs 0I;-@rrN) rrrrr)rYr-rrrrrr+r+;s "G?Arr+c\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrSrSrSrSrSrSrSrSrSrSrg)TestDictFieldsiDc[SSSS9n[R"U/SQS9nUR5nUR US5 SSS5 g!,(df  g=f)Nrrr#rf1f2f3 fieldnamesr)rr: DictWriter writeheaderrX)rrrPwriteheader_return_values rtest_writeheader_return_value,TestDictFields.test_writeheader_return_valueGsM 4'2 >'^^G:LMF'-'9'9'; $   5r :? > >s :A Ac[SSSS9n[R"U/SQS9nUR5 UR S5 UR UR 5S5 URS S S .5 UR S5 UR 5 UR UR5S 5 SSS5 g!,(df  g=f) Nrrr#rr4r8r f1,f2,f3 rr)r5r7z 10,,abc ) rr:r:r;rrXreadlinerrrs rtest_write_simple_dict%TestDictFields.test_write_simple_dictMs 4'2 >'^^G:LMF    LLO   W--/ @ OO2U3 4 LLO       W\\^] ;? > >s B.C Cc[5n[R"U/SQS9nUR5 UR UR 5S5 UR SSSS.SSS S./5 UR UR 5S 5 g) Nr4r8r@r+rfrxyzzf1,f2,f3 1,abc,f 2,5,xyz )rr:r:r;rXrrrs rtest_write_multiple_dict_rows,TestDictFields.test_write_multiple_dict_rowsXs*4FG ))+^<%s;!"!59; < ))+= ?rcb[5nUR[[RU5 gr)rr8r9r:r:rrs rtest_write_no_fields#TestDictFields.test_write_no_fieldsbs* )S^^W=rc[SSSS9n[R"U/SQS9nUR[5nUR SSS S .5 SSS5 [ WR5nURS U5 URS U5 URS U5 URSU5 SSS5 g!,(df  Nt=f!,(df  g=f)Nrrr#rr4r8rspamr)f4r6r+r9z'f4'z'f2'r) rr:r:r8r>rstr exceptionassertIn assertNotIn)rrrPcxrRs r#test_write_fields_not_in_fieldnames2TestDictFields.test_write_fields_not_in_fieldnamesfs 4'2 >'^^G:LMF"":."rE BC/BLL)I MM, 2 MM&) ,   VY / MM#y )? >/.? >s#-CB=A%C= C C Ccf[5nUR[[RUSS/SS9 g)Nr5r6raised extrasaction)rr8r>r:r:rKs r&test_typo_in_extrasaction_raises_error5TestDictFields.test_typo_in_extrasaction_raises_errorrs/* *cnngd|'/  1rcB[5n[R"USS/SS9nSSSSS .nUR[[RR X#5 [R"USS/S S9nUR[[RR X#5 g) Nr5r6raiserZrr+rrf0r5r6r7RAISE)rr:r:r8r>rrrrPdictrows r)test_write_field_not_in_field_names_raise8TestDictFields.test_write_field_not_in_field_names_raisews}*$GL!1A6 *cnn&=&=vO$GL *cnn&=&=vOrcB[5n[R"USS/SS9nSSSSS .n[RRX#5 UR UR 5S 5 [R"USS/S S9n[RRX#5 g) Nr5r6ignorerZrr+rrr`z1,2 IGNORE)rr:r:rrXrrcs r*test_write_field_not_in_field_names_ignore9TestDictFields.test_write_field_not_in_field_names_ignores*$HM!1A6 0 ))+Y7$HM 0rc/SQn[5n[R"U[U55nUR UR U5 gNr)rr: DictReaderrrXr9rr9rErDs r(test_dict_reader_fieldnames_accepts_iter7TestDictFields.test_dict_reader_fieldnames_accepts_iter9$ J4 #34 **J7rc/SQn[5n[R"X!5nURURU5 grm)rr:rnrXr9ros r(test_dict_reader_fieldnames_accepts_list7TestDictFields.test_dict_reader_fieldnames_accepts_list2$ J. **J7rc/SQn[5n[R"U[U55nUR UR U5 grm)rr:r:rrXr9rr9rErPs r(test_dict_writer_fieldnames_rejects_iter7TestDictFields.test_dict_writer_fieldnames_rejects_iterrrrc/SQn[5n[R"X!5nURURU5 grm)rr:r:rXr9rxs r(test_dict_writer_fieldnames_accepts_list7TestDictFields.test_dict_writer_fieldnames_accepts_listrvrcB[5n[R"USS9ng)Nr8)rr:rn)rrErDs r'test_dict_reader_fieldnames_is_optional6TestDictFields.test_dict_reader_fieldnames_is_optionals Jd3rc[SSS9nURS5 URS5 [R"U/SQS9nUR [ U5SS S S.5 SSS5 g!,(df  g=f) Nrrr{z 1,2,abc rr4r8rrrrrLrr:rnrXrrrrDs rtest_read_dict_fields$TestDictFields.test_read_dict_fieldss` 4' 2g MM- ( LLO^^G/ACF   T&\#S+N O 3 2 2s AA-- A;c6[SSS9nURS5 URS5 [R"U5nUR [ U5SSSS .5 UR UR/S Q5 SSS5 g!,(df  g=f) Nrrr{f1,f2,f3 1,2,abc rrrrr4)rrLrr:rnrXrr9rs rtest_read_dict_no_fieldnames+TestDictFields.test_read_dict_no_fieldnamessr 4' 2g MM3 4 LLO^^G,F   T&\#S+N O   V..0B C 3 2 2s A6B  Bc n[SSS9nURS5 URS5 [R"U[ [R "U55S9nURUR/SQ5 UR[ U5SS S S.5 SSS5 g!,(df  g=f) Nrrr{rrr8r4rrr) rrLrr:rnrrDrXr9rs r#test_read_dict_fieldnames_from_file2TestDictFields.test_read_dict_fieldnames_from_files 4' 2g MM3 4 LLO^^G/3CJJw4G/HJF   V..0B C   T&\#S+N O 3 2 2s BB&& B4c vSSKn[SSS9nURS5 URS5 [R "U5n[ U5nURU/U5H7nURUR/SQ5 URUSSS S.5 M9 SSS5 g!,(df  g=f) Nrrrr{rr4rrr) itertoolsrrLrr:rnrchainrXr9)rrrrDfirstrDs rtest_read_dict_fieldnames_chain.TestDictFields.test_read_dict_fieldnames_chains 4' 2g MM3 4 LLO^^G,FLE w7  !2!24FG  S5&IJ8 3 2 2s BB** B8c[SSS9nURS5 URS5 [R"USS/S9nUR [ U5S S /S QS .5 SSS5 g!,(df  g=f) Nrrr{1,2,abc,4,5,6 rr5r6r8rrrrrr)r5r6Nrrs rtest_read_longTestDictFields.test_read_longsk 4' 2g MM- . LLO^^G04d|=F   T&\#S3I,K L 3 2 2s AA// A=c[SSS9nURS5 URS5 [R"USS/SS 9nUR [ U5S S /S QS .5 SSS5 g!,(df  g=f)Nrrr{rrr5r6_rest)r9restkeyrrrr5r6rrrs rtest_read_long_with_rest'TestDictFields.test_read_long_with_restsn 4' 2g MM- . LLO^^G04d|WNF   T&\#S6L,N O 3 2 2s AA00 A>c8[SSS9nURS5 URS5 [R"USS9nUR UR SS /5 UR [U5S S /S QS .5 SSS5 g!,(df  g=f)Nrrr{zf1,f2 1,2,abc,4,5,6 rrrr5r6rrrr)rrLrr:rnrXr9rrs r&test_read_long_with_rest_no_fieldnames5TestDictFields.test_read_long_with_rest_no_fieldnamess~ 4' 2g MM6 7 LLO^^GW=F   V..t =   T&\#S6L,N O 3 2 2s A7B  Bc `[SSS9nURS5 URS5 [R"USR 5SS9nUR [U5S S S S S SS.5 UR [U5S S S SSSS.5 SSS5 g!,(df  g=f)Nrrr{z1,2,abc,4,5,6 1,2,abc r 1 2 3 4 5 6DEFAULT)r9restvalrrrrrrrrrrrr)rrLrr:rnsplitrXrrs rtest_read_shortTestDictFields.test_read_shorts 4' 2g MM8 9 LLO^^G/3 2 2s B B B-c /SQn[R"USR5S9nUR[ U5SSSSSS .5 g) N)z2147483648,43.0e12,17,abc,def z147483648,43.0e2,17,abc,def z47483648,43.0,170,abc,def zi1 float i2 s1 s2r8 2147483648z43.0e1217rr})i1floati2s1s2r:rnrrXr)rsamplerDs rtest_read_multiTestDictFields.test_read_multisO +>+D+D+FH fl2;/3/4/4 (6 7rc [R"/SQSR5S9nUR[ U5SSSSSS S .5 UR[ U5SSSSSS S .5 g) N)rrUrrr8rrrrrrrrrrDs rtest_read_with_blanks$TestDictFields.test_read_with_blanksst!6+8+>+>+@B fSs.1#(G H fSs.1#(G Hrc [R"S/SR5SS9nUR[ U5SSSSS S S .5 g) Nz1;2;abc;4;5;6 rr)r9r%rrrrrrrrrs rtest_read_semi_sep!TestDictFields.test_read_semi_sepsO!4 5+8+>+>+@*-/ fSs.1#(G HrrN)rrrrr=rBrHrLrVr\rerjrprtryr|rrrrrrrrrrrrrrrrr2r2Ds; <?> *1 P 18 8 8 8 4PDP KLOO > 7HHrr2c,\rSrSrSrSrSrSrSrg)TestArrayWritesic SSKn[S5Vs/sHnSU- PM nnURSU5n[SSSS9n[R"USS 9nUR U5 S R UVs/sHn[U5PM sn5S -nURS5 URUR5U5 SSS5 gs snfs snf!,(df  g=f) Nrrrrr#rr[r|rTrU arrayrrr:rPrjoinrQrrXrrrrcontentsrrrPrs rtest_int_writeTestArrayWrites.test_int_writes$)"I.IqRTI. KKX & 4'2 >'ZZ9F OOA xx 3AQ 34V;H LLO   W\\^X 6 ? >/ !4? >s#C6C6C ;CC C'c SSKn[S5Vs/sH nSU- S-PM nnURSU5n[SSSS9n[R"US S 9nUR U5 S R UVs/sHn[U5PM sn5S -nURS5 URUR5U5 SSS5 gs snfs snf!,(df  g=f) Nrr皙?rrrr#rr[r|rTrUrrs rtest_double_write!TestArrayWrites.test_double_write"(-b 2 1RT3J 2 KKX & 4'2 >'ZZ9F OOA xx 3AQ 34V;H LLO   W\\^X 6 ? >3 !4? >#C6C9C ;CC C*c SSKn[S5Vs/sH nSU- S-PM nnURSU5n[SSSS9n[R"US S 9nUR U5 S R UVs/sHn[U5PM sn5S -nURS5 URUR5U5 SSS5 gs snfs snf!,(df  g=f) NrrrrErrr#rr[r|rTrUrrs rtest_float_write TestArrayWrites.test_float_write-rrclSSKnSSKnURSUR5n[SSSS9n[R "USS9nUR U5 S RU5S -nURS5 URUR5U5 SSS5 g!,(df  g=f) Nrwrrr#rr[r|rTrU) rstring ascii_lettersrr:rPrrrrXr)rrrrrrPrs rtest_char_writeTestArrayWrites.test_char_write8s KKV11 2 4'2 >'ZZ9F OOA xx{6)H LLO   W\\^X 6 ? > >s A,B%% B3rN) rrrrrrrrrrrrrrs 7 7 7 7rrc2\rSrSrSrSrSrSrSrSr g) TestDialectValidityiCc^"SS[R5nU"5nURUR[R5 SUlUR [R U5 SUlUR [R 5nU"5 SSS5 UR[WR5S5 SUl [RUlSUl U"5nURUR[R5 URURS5 URUR5 SUl UR [R 5nU"5 SSS5 UR[UR5S5 S Ul UR [R 5nU"5 SSS5 UR[UR5S5 S Ul UR [R 5nU"5 SSS5 UR[UR5S 5 g!,(df  GN=f!,(df  N=f!,(df  N=f!,(df  Nh=f) Nc@\rSrSrSrSrSrSrSr\ Rr Sr g) 3TestDialectValidity.test_quoting..mydialectiErrnFTrUrN rrrrr%r'r[r5r-r:r=r/rrrrrmrE%IJK# #NnnGrrm*zbad "quoting" valueTrVr#z("quotechar" must be a 1-character stringz''rz+"quotechar" must be string or None, not int) r:rprXr/r=r8r;rQrRr[r<r) assertTruerrmrcms r test_quoting TestDialectValidity.test_quotingDs %  % K CNN3  #))Y/    syy )R K* R\\*. 0!% MM !  K CMM2 c*  &    syy )R K* R\\*C E#    syy )R K* R\\*C E    syy )R K* R\\*F H9* )* ) * ) * )s0I*>I<J 4J* I9< J  J J,c"SS[R5nU"5nURURS5 SUlUR [R 5nU"5 SSS5 UR[ WR5S5 SUlUR [R 5nU"5 SSS5 UR[ UR5S5 SUlUR [R 5nU"5 SSS5 UR[ UR5S5 S UlUR [R 5nU"5 SSS5 UR[ UR5S 5 SUlUR [R 5nU"5 SSS5 UR[ UR5S 5 g!,(df  GN=f!,(df  GNX=f!,(df  GN=f!,(df  N=f!,(df  N{=f) Nc@\rSrSrSrSrSrSrSr\ Rr Sr g) 5TestDialectValidity.test_delimiter..mydialectisrrnFTrUrNrrrrrmrsrrrmr:::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:rprXr%r8r;rQrRrs rtest_delimiter"TestDialectValidity.test_delimiterrs %  % K c*#    syy )R K* R\\*C E!    syy )R K* R\\*C E#    syy )R K* R\\*@ B    syy )R K* R\\*> @#    syy )R K* R\\*C E5* ) * ) * ) * ) * )s<#H>HH)4H;I  H H&) H8; I  Ic"SS[R5nU"5nURURS5 SUlUR [R S5 U"5 SSS5 SUlUR [R S5 U"5 SSS5 SUlUR [R S5 U"5 SSS5 S UlUR [R S 5 U"5 SSS5 g!,(df  N=f!,(df  N=f!,(df  Nh=f!,(df  g=f) Nc@\rSrSrSrSrSrSrSr\ Rr Sr g) 6TestDialectValidity.test_escapechar..mydialectirrnFTrUrNrrrrrmrrrrmrnr#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:rprXr'rr;)rrmrs rtest_escapechar#TestDialectValidity.test_escapechars %  % K t,!   # #CII/Z [ K\ $   # #CII/Z [ K\ $   # #CII/_ ` Ka !   # #CII/] ^ K_ ^\ [\ [a `_ ^s0$DD+D< E  D(+ D9< E  Ec"SS[R5nU"5nURURS5 SUlU"5nURURS5 SUlUR [R 5nU"5 SSS5 UR[ WR5S5 g!,(df  N4=f)Nc@\rSrSrSrSrSrSrSr\ Rr Sr g) :TestDialectValidity.test_lineterminator..mydialectirrnFTrUrNrrrrrmrrrrmrUrrz!"lineterminator" must be a string)r:rprXr-r8r;rQrRrs rtest_lineterminator'TestDialectValidity.test_lineterminators %  % K ))62#(  K ))51#$    syy )R K* R\\*< >* )s C Cc  SnSHnURUS9 UR[RXS5 UR[RXS5 UR[RXS5 UR[RXS5 UR[XS5 UR[XS 5 US :waUR[XS S S 9 SSS5 M g!,(df  M=f)Nc"SS[R5n[X0U5 UR5Hup[X0U5 M U"5ng)Nc8\rSrSrSr\R rSrSr Sr g)QTestDialectValidity.test_invalid_chars..create_invalid..mydialectirTrVrUrN) rrrrr%r:r<r/r)r-rrrrrmrs -- !'rrm)r:rpr`items) field_namevaluerqrmrs rcreate_invalid>TestDialectValidity.test_invalid_chars..create_invalidsB (CKK ( I5 1%+\\^!  u5&4 Ar)r%r'r))rr#rxrFr0r1r%r2Tr%)rr8r:r;r>)rrrs rtest_invalid_chars&TestDialectValidity.test_invalid_charss CJ4!!#))^L!!#))^O!!#))^N!!#))^K!!*n$O!!*n$O,%%j.c7;&=54C44s CC44 D rN) rrrrrrrrrrrrrrrCs,H\'ER6>*=rrc\rSrSrSrSrSrSrSrSr Sr S r S r S r S r\"S 5r\"S5r\"S5r\"S5rSrSrSrSrSrSrSrSrSrSrg) TestSnifferizHarry'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 c[R"5nURURUR55 UR URUR 55 gr)r:Snifferr has_headersample12 assertFalsesample13rsniffers rtest_issue43625TestSniffer.test_issue436255sE++- **4==9: ++DMM:;rc[R"5nURURUR55 URURUR 55 gr)r:rrrsample10sample11r s rtest_has_header_strings#TestSniffer.test_has_header_strings:sG++- ++DMM:; ++DMM:;rc[R"5nURURUR5S5 URURUR UR-5S5 gNFT)r:rrZrsample1header1r s rtest_has_headerTestSniffer.test_has_header@P++- g((6> g(( )DEtLrc[R"5nURURUR5S5 URURUR UR-5S5 gr)r:rrZrsample8header2r s r'test_has_header_regex_special_delimiter3TestSniffer.test_has_header_regex_special_delimiterErrc[R"5nSHnURU5 URUS5nUR UR S5 UR UR S5 URURS5 URURS5 SSS5 M g!,(df  M=f)N)z ;'123;4';z'123;4';z;'123;4'z'123;4'z,;rroF) r:rrsniffrXr%r)rZr[r5)rr headerrYs rtest_guess_quote_and_delimiter*TestSniffer.test_guess_quote_and_delimiterJs++-FFf%!--5  !2!2C8  !2!2C8 g1159 g66> &%G%%s BB<< C c[R"5nURUR5nUR UR S5 UR UR S5 URURS5 URUR5nUR UR S5 UR UR S5 URURS5 g)NrTrVTrWroF) r:rr rrXr%r)rZr5sample2rr rYs r test_sniffTestSniffer.test_sniffTs++--- - **C0 **C0 g..5-- - **C0 **C0 g..6rc[R"5nURUR5nUR UR UR5 URURSS9nUR UR S5 URURSS9nUR UR S5 URUR5nUR UR S5 URUR5nUR UR S5 URUR5nUR UR S5 URUR5nUR UR S5 UR URS 5 URUR5nUR UR S 5 URUR5nUR UR S 5 UR URS 5 URUR5nUR UR S 5 g) Nz?,) delimiters?z/,/rr3rro+r)r:rr sample3rSr%rXsample4sample5sample6sample7r)rsample9sample14r&s rtest_delimitersTestSniffer.test_delimiters`s++--- - g''6-- -> **C0-- -> **C0-- - **C0-- - **D1-- - **C0-- - **C0 **C0-- - **C0-- - **C0 **C0-- . **D1rcJ[R"5nURUR5nUR UR 5 URUR 5nUR UR 5 URUR5nURUR 5 URUR5nUR UR 5 URUR5nURUR 5 gr) r:rr rrr[rr%rrr3r&s rtest_doublequoteTestSniffer.test_doublequote|s++--- - ,,--- - ,,--- - ++,-- - ,,--- - ++,rrN)rrrrrr%rr.r/r0r1r2rrr3r rrrr r4r rrrr"r'r5r8rrrrrrsG G GG G /G"G*GGG GH H HH H < < M M ? 728 -rrc\rSrSrSr\rSrg)NULicgrr)sras rrL NUL.writes rrN)rrrrrL writelinesrrrrr;r;s  Jrr;gettotalrefcountzrequires sys.gettotalrefcount()c,\rSrSrSrSrSrSrSrg) TestLeaksicSn[R"5n[S5Hn[R"5 UR [R /5 [R"5n[R"S/5 [R"S/5 [R"S/5 XB- nUnM URUS5 g)Nrra,b,c r sysr@rgccollectrXgarbager:rD assertLess)rdeltalastrcrrcs rtest_create_readTestLeaks.test_create_reads%%'rA JJL   RZZ ,%%'B JJ } % JJ } % JJ } %IEF q!rcSn[R"5n[5n[S5Hn[R "5 UR [R/5 [R"5n[R"U5 [R"U5 [R"U5 XR- nUnM URUS5 g)Nrrr) rFr@r;rrGrHrXrIr:rPrJ)rrKrLr=rrMs rtest_create_writeTestLeaks.test_create_writes%%' ErA JJL   RZZ ,%%'B JJqM JJqM JJqMIEF q!rcdSnS/S-n[R"5n[S5Hrn[R"5 UR [R /5 [R"5n[R"U5nUHnM XS- nUnMt URUS5 g)NrrDrFrrE)rrKrCrLrrMrdrrDs r test_readTestLeaks.test_reads}Q%%'rA JJL   RZZ ,%%'B**T"CIEF q!rcSn/SQ/S-n[5n[R"5n[S5Hn[R "5 UR [R/5 [R"5n[R"U5nUHnURU5 M Xd- nUnM URUS5 g)NrrrFr) r;rFr@rrGrHrXrIr:rPrrJ) rrKrCr=rLrrMrPrDs r test_writeTestLeaks.test_writesy{ E%%'rA JJL   RZZ ,%%'BZZ]F$IEF q!rrN) rrrrrNrQrUrXrrrrrBrBs "" " "rrBc(\rSrSr/SQrSrSrSrg) TestUnicodei)uMartin von LöwisuMarc André LemburgzGuido van RossumuFrançois PinardcB[SSSS9nURSRUR5S-5 UR S5 [ R "U5nUR[U5UR/5 SSS5 g!,(df  g=fNrr#rrrTrUr) rrLrnamesrr:rDrXrrs rtest_unicode_readTestUnicode.test_unicode_readsm 4g >' MM#((4::.7 8 LLOZZ(F   T&\DJJ< 8 ? > >s A;B BcN[SSSS9n[R"U5nURUR5 SR UR5S-nUR S5 URUR5U5 SSS5 g!,(df  g=fr]) rr:rPrr^rrrXr)rrrPrs rtest_unicode_writeTestUnicode.test_unicode_writesr 4g >'ZZ(F OODJJ 'xx +F2H LLO   W\\^X 6 ? > >s BB B$rN)rrrrr^r_rbrrrrr[r[s !E 97rr[c \rSrSrSrSrSrg)KeyOrderingTestic[5n[S5Hn[SSSS9n[R"X25nUR 5 UR S5 [R"U5n[UR5nURX&5 URU5 SSS5 M UR[U5SS5 g!,(df  M=f) Nabcderr#rrrxz@Key ordering: some key permutations not collected (expected 120)) setrrr:r:r;rrntupler9rXaddlen)r resultsetkeys fileobjectdwdrkts r,test_ordering_for_the_dict_reader_and_writer 13EF G /1GH I    G cnnTw>PQR +->? @ -/C'7!3467 -? @ +-@A B   rrN)rrrrrsrrrrrreres  r!rrecD\rSrSrSrSr\RS5rSr g) MiscTestCaseic<[R"U[S5 g)N)r:_csv)r check__all__r:rs r test__all__MiscTestCase.test__all__sT38rc6"SS[R5ng)Nc\rSrSrSrg)+MiscTestCase.test_subclassable..Fooi"rNrrrrFoor"scrr)r:r;)rrs rtest_subclassableMiscTestCase.test_subclassable s!#))!rc[R"S5nURUR4H&nUR US9 [ X5 SSS5 M( g!,(df  M:=f)Nr)tp)r import_moduleReaderWriterrr)rrrs rtest_disallow_instantiation(MiscTestCase.test_disallow_instantiation$sN**62++t{{*B$,T6%$+$$s  A A) rN) rrrrrrr cpython_onlyrrrrrrrs&9" 77rr__main__).rrFunittestiortempfilerr:rGrtestr test.supportrrrrtextwrapr collectionsr r TestCaserrKrrr[rrrr)r+r2rrrr; skipUnlesshasattrrBr[rerrmainrrrrs " D"# P7x  P7fCK(++CKJ>(##> _O{_OB399?{?SkSA[AOHX&&OHb,7h'',7\^=(++^=Bc-(##c-J  WS"4568?"!!?"8?"B7(##7.1h''1h 78$$ 7 z MMOr