ó o®¸Qc@s"ddlZddlZddlZyddlZWnek rMdZnXdejfd„ƒYZdejfd„ƒYZ dejfd„ƒYZ dejfd „ƒYZ ej ed ƒd ejfd „ƒYƒZ d ejfd„ƒYZd„Zd„ZedkreƒndS(iÿÿÿÿNtSqliteTypeTestscBskeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z RS( cCs8tjdƒ|_|jjƒ|_|jjdƒdS(Ns:memory:s9create table test(i integer, s varchar, f number, b blob)(tsqlitetconnecttcontcursortcurtexecute(tself((s(/sys/lib/python2.7/sqlite3/test/types.pytsetUp"scCs|jjƒ|jjƒdS(N(RtcloseR(R((s(/sys/lib/python2.7/sqlite3/test/types.pyttearDown's cCsJ|jjddƒ|jjdƒ|jjƒ}|j|ddƒdS(Nsinsert into test(s) values (?)u Österreichsselect s from testi(u Österreich(RRtfetchonet assertEqual(Rtrow((s(/sys/lib/python2.7/sqlite3/test/types.pyt CheckString+scCsJ|jjddƒ|jjdƒ|jjƒ}|j|ddƒdS(Nsinsert into test(i) values (?)i*sselect i from testi(i*(RRR R (RR ((s(/sys/lib/python2.7/sqlite3/test/types.pyt CheckSmallInt1scCsSd}|jjd|fƒ|jjdƒ|jjƒ}|j|d|ƒdS(Nii(sinsert into test(i) values (?)sselect i from testil(RRR R (RtnumR ((s(/sys/lib/python2.7/sqlite3/test/types.pyt CheckLargeInt7s cCsSd}|jjd|fƒ|jjdƒ|jjƒ}|j|d|ƒdS(Ng…ëQ¸ @sinsert into test(f) values (?)sselect f from testi(RRR R (RtvalR ((s(/sys/lib/python2.7/sqlite3/test/types.pyt CheckFloat>s cCsYtdƒ}|jjd|fƒ|jjdƒ|jjƒ}|j|d|ƒdS(NtGuglhupfsinsert into test(b) values (?)sselect b from testi(tbufferRRR R (RRR ((s(/sys/lib/python2.7/sqlite3/test/types.pyt CheckBlobEs  cCs7|jjdƒ|jjƒ}|j|ddƒdS(Nuselect 'Österreich'iu Österreich(RRR R (RR ((s(/sys/lib/python2.7/sqlite3/test/types.pytCheckUnicodeExecuteLscCsHy-|jjdtdƒfƒ|jdƒWntjk rCnXdS(Nsselect ?i–s%should have raised a ProgrammingError(RRtchrtfailRtProgrammingError(R((s(/sys/lib/python2.7/sqlite3/test/types.pytCheckNonUtf8_DefaultQs cCsL|jj}z,t|j_|jjdtdƒfƒWd||j_XdS(Nsselect ?i–(Rt text_factorytstrRRR(Rtorig_text_factory((s(/sys/lib/python2.7/sqlite3/test/types.pytCheckNonUtf8_TextFactoryStringXs    cCsw|jj}zWy<tj|j_|jjdtdƒfƒ|jdƒWntjk ranXWd||j_XdS(Nsselect ?i–s%should have raised a ProgrammingError( RRRtOptimizedUnicodeRRRRR(RR((s(/sys/lib/python2.7/sqlite3/test/types.pyt(CheckNonUtf8_TextFactoryOptimizedUnicode`s ( t__name__t __module__RR RRRRRRRRR!(((s(/sys/lib/python2.7/sqlite3/test/types.pyR!s          tDeclTypesTestscBs™eZddd„ƒYZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zd„Zd„ZRS(tFoocBs,eZd„Zd„Zd„Zd„ZRS(cCs ||_dS(N(R(Rt_val((s(/sys/lib/python2.7/sqlite3/test/types.pyt__init__nscCs9t|tjƒst‚n|j|jkr1dSdSdS(Nii(t isinstanceR$R%t ValueErrorR(Rtother((s(/sys/lib/python2.7/sqlite3/test/types.pyt__cmp__qs  cCs|tjkr|jSdSdS(N(RtPrepareProtocolRtNone(Rtprotocol((s(/sys/lib/python2.7/sqlite3/test/types.pyt __conform__yscCs d|jS(Ns<%s>(R(R((s(/sys/lib/python2.7/sqlite3/test/types.pyt__str__s(R"R#R'R+R/R0(((s(/sys/lib/python2.7/sqlite3/test/types.pyR%ms   cCsŽtjddtjƒ|_|jjƒ|_|jjdƒd„tjdˆstFLOATcSstt|ƒƒS(N(tbooltint(R2((s(/sys/lib/python2.7/sqlite3/test/types.pyR3‹stBOOLtFOOcSsdS(NtWRONG((R2((s(/sys/lib/python2.7/sqlite3/test/types.pyR3sR9tNUMBER( RRtPARSE_DECLTYPESRRRRt convertersR$R%tfloat(R((s(/sys/lib/python2.7/sqlite3/test/types.pyR‚scCsFtjd=tjd=tjd=tjd=|jjƒ|jjƒdS(NR4R7R8R:(RR<RR R(R((s(/sys/lib/python2.7/sqlite3/test/types.pyR s      cCsJ|jjddƒ|jjdƒ|jjƒ}|j|ddƒdS(Nsinsert into test(s) values (?)tfoos!select s as "s [WRONG]" from testi(R>(RRR R (RR ((s(/sys/lib/python2.7/sqlite3/test/types.pyR˜scCsJ|jjddƒ|jjdƒ|jjƒ}|j|ddƒdS(Nsinsert into test(i) values (?)i*sselect i from testi(i*(RRR R (RR ((s(/sys/lib/python2.7/sqlite3/test/types.pyRŸscCsSd}|jjd|fƒ|jjdƒ|jjƒ}|j|d|ƒdS(Nii(sinsert into test(i) values (?)sselect i from testil(RRR R (RRR ((s(/sys/lib/python2.7/sqlite3/test/types.pyR¦s cCsSd}|jjd|fƒ|jjdƒ|jjƒ}|j|ddƒdS(Ng…ëQ¸ @sinsert into test(f) values (?)sselect f from testig™™™™™™G@(RRR R (RRR ((s(/sys/lib/python2.7/sqlite3/test/types.pyR®s cCs¦|jjdtfƒ|jjdƒ|jjƒ}|j|dtƒ|jjdƒ|jjdtfƒ|jjdƒ|jjƒ}|j|dtƒdS(Nsinsert into test(b) values (?)sselect b from testisdelete from test(RRtFalseR R tTrue(RR ((s(/sys/lib/python2.7/sqlite3/test/types.pyt CheckBool¶scCsSd}|jjd|fƒ|jjdƒ|jjƒ}|j|d|ƒdS(Nu Österreichsinsert into test(u) values (?)sselect u from testi(RRR R (RRR ((s(/sys/lib/python2.7/sqlite3/test/types.pyt CheckUnicodeÃs cCs\tjdƒ}|jjd|fƒ|jjdƒ|jjƒ}|j|d|ƒdS(Ntblas insert into test(foo) values (?)sselect foo from testi(R$R%RRR R (RRR ((s(/sys/lib/python2.7/sqlite3/test/types.pytCheckFooËs cCsqddd„ƒY}|ƒ}y'|jjd|fƒ|jdƒWn'tjk rYn|jdƒnXdS(NtBarcBseZRS((R"R#(((s(/sys/lib/python2.7/sqlite3/test/types.pyREÓssinsert into test(f) values (?)s$should have raised an InterfaceError((RRRRtInterfaceError(RRER((s(/sys/lib/python2.7/sqlite3/test/types.pytCheckUnsupportedSeqÒs cCsuddd„ƒY}|ƒ}y+|jjdi|d6ƒ|jdƒWn'tjk r]n|jdƒnXdS(NREcBseZRS((R"R#(((s(/sys/lib/python2.7/sqlite3/test/types.pyREÞss!insert into test(f) values (:val)Rs$should have raised an InterfaceError((RRRRRF(RRER((s(/sys/lib/python2.7/sqlite3/test/types.pytCheckUnsupportedDictÝs cCsYtdƒ}|jjd|fƒ|jjdƒ|jjƒ}|j|d|ƒdS(NRs insert into test(bin) values (?)sselect bin from testi(RRRR R (RRR ((s(/sys/lib/python2.7/sqlite3/test/types.pyRès  cCsF|jjdƒ|jjdƒjƒd}|jt|ƒtƒdS(Nsinsert into test(n1) values (5)sselect n1 from testi(RRR R ttypeR=(Rtvalue((s(/sys/lib/python2.7/sqlite3/test/types.pyt CheckNumber1ðscCsF|jjdƒ|jjdƒjƒd}|jt|ƒtƒdS(s;Checks wether converter names are cut off at '(' characterssinsert into test(n2) values (5)sselect n2 from testiN(RRR R RIR=(RRJ((s(/sys/lib/python2.7/sqlite3/test/types.pyt CheckNumber2ös((R"R#R%RR RRRRRARBRDRGRHRRKRL(((s(/sys/lib/python2.7/sqlite3/test/types.pyR$ls          t ColNamesTestscBsGeZd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(cCstjddtjƒ|_|jjƒ|_|jjdƒd„tjd((R2((s(/sys/lib/python2.7/sqlite3/test/types.pyR3stBARcSsddS(Nii((R2((s(/sys/lib/python2.7/sqlite3/test/types.pyR3stEXCcSsdS(NtMARKER((R2((s(/sys/lib/python2.7/sqlite3/test/types.pyR3stB1B1(RRtPARSE_COLNAMESRRRRR<(R((s(/sys/lib/python2.7/sqlite3/test/types.pyRþscCsFtjd=tjd=tjd=tjd=|jjƒ|jjƒdS(NR8RNRORQ(RR<RR R(R((s(/sys/lib/python2.7/sqlite3/test/types.pyR s      cCsJ|jjddƒ|jjdƒ|jjƒd}|j|dƒdS(se Assures that the declared type is not used when PARSE_DECLTYPES is not set. sinsert into test(x) values (?)txxxsselect x from testiN(RS(RRR R (RR((s(/sys/lib/python2.7/sqlite3/test/types.pytCheckDeclTypeNotUsedscCsJ|jjddƒ|jjdƒ|jjƒd}|j|dƒdS(Nsinsert into test(x) values (?)sselect x from testi(N(RRR-R R (RR((s(/sys/lib/python2.7/sqlite3/test/types.pyt CheckNonescCsh|jjddƒ|jjdƒ|jjƒd}|j|dƒ|j|jjdddƒdS(Nsinsert into test(x) values (?)RSsselect x as "x [bar]" from testisR2(sxxx(RRR R t description(RR((s(/sys/lib/python2.7/sqlite3/test/types.pyt CheckColName s cCs7|jjdƒ|jjƒd}|j|dƒdS(Nsselect 'other' as "x [b1b1]"iRP(RRR R (RR((s(/sys/lib/python2.7/sqlite3/test/types.pytCheckCaseInConverterName*scCs2|jjdƒ|j|jjdddƒdS(sq cursor.description should at least provide the column name(s), even if no row returned. sselect * from test where 0 = 1iR2N(RRR RV(R((s(/sys/lib/python2.7/sqlite3/test/types.pytCheckCursorDescriptionNoRow/s( R"R#RR RTRURWRXRY(((s(/sys/lib/python2.7/sqlite3/test/types.pyRMýs   tObjectAdaptationTestscBs8eZd„ZeeƒZd„Zd„Zd„ZRS(cCs t|ƒS(N(R=(tobj((s(/sys/lib/python2.7/sqlite3/test/types.pytcast8scCsStjdƒ|_ytjt=WnnXtjttjƒ|jjƒ|_ dS(Ns:memory:( RRRtadaptersR6tregister_adapterRZR\RR(R((s(/sys/lib/python2.7/sqlite3/test/types.pyR<scCs1tjttjf=|jjƒ|jjƒdS(N(RR]R6R,RR R(R((s(/sys/lib/python2.7/sqlite3/test/types.pyR Es cCs@|jjddƒ|jjƒd}|jt|ƒtƒdS(Nsselect ?ii(i(RRR R RIR=(RR((s(/sys/lib/python2.7/sqlite3/test/types.pytCheckCasterIsUsedJs(R"R#R\t staticmethodRR R_(((s(/sys/lib/python2.7/sqlite3/test/types.pyRZ7s    s requires zlibtBinaryConverterTestscBs8eZd„ZeeƒZd„Zd„Zd„ZRS(cCs tj|ƒS(N(tzlibt decompress(ts((s(/sys/lib/python2.7/sqlite3/test/types.pytconvertQscCs2tjddtjƒ|_tjdtjƒdS(Ns:memory:R1tbin(RRRRRtregister_converterRaRe(R((s(/sys/lib/python2.7/sqlite3/test/types.pyRUscCs|jjƒdS(N(RR (R((s(/sys/lib/python2.7/sqlite3/test/types.pyR YscCsOdd}|jjdttj|ƒƒfƒjƒd}|j||ƒdS(Ntabcdefgi sselect ? as "x [bin]"i(RRRRbtcompressR R (Rttestdatatresult((s(/sys/lib/python2.7/sqlite3/test/types.pytCheckBinaryInputForConverter\s 1(R"R#ReR`RR Rl(((s(/sys/lib/python2.7/sqlite3/test/types.pyRaOs     t DateTimeTestscBsGeZd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(cCsAtjddtjƒ|_|jjƒ|_|jjdƒdS(Ns:memory:R1s'create table test(d date, ts timestamp)(RRR;RRRR(R((s(/sys/lib/python2.7/sqlite3/test/types.pyRbscCs|jjƒ|jjƒdS(N(RR R(R((s(/sys/lib/python2.7/sqlite3/test/types.pyR gs cCsbtjdddƒ}|jjd|fƒ|jjdƒ|jjƒd}|j||ƒdS(NiÔiisinsert into test(d) values (?)sselect d from testi(RtDateRRR R (Rtdtd2((s(/sys/lib/python2.7/sqlite3/test/types.pytCheckSqliteDateks cCsktjddddddƒ}|jjd|fƒ|jjdƒ|jjƒd}|j||ƒdS( NiÔiiiiisinsert into test(ts) values (?)sselect ts from test(Rt TimestampRRR R (Rttstts2((s(/sys/lib/python2.7/sqlite3/test/types.pytCheckSqliteTimestamprs cCsˆtjdkrdStjjƒ}|jjdƒ|jjdƒ|jjƒd}|jt|ƒtjƒ|j|j |j ƒdS(Niis/insert into test(ts) values (current_timestamp)sselect ts from testi(ii( Rtsqlite_version_infotdatetimetnowRRR R RItyear(RRxRs((s(/sys/lib/python2.7/sqlite3/test/types.pytCheckSqlTimestampyscCsntjdddddddƒ}|jjd|fƒ|jjd ƒ|jjƒd}|j||ƒdS( NiÔiiiiii ¡sinsert into test(ts) values (?)sselect ts from test(RRrRRR R (RRsRt((s(/sys/lib/python2.7/sqlite3/test/types.pytCheckDateTimeSubSeconds†s !cCsntjdddddddƒ}|jjd|fƒ|jjd ƒ|jjƒd}|j||ƒdS( NiÔiiiiii!Ésinsert into test(ts) values (?)sselect ts from test(RRrRRR R (RRsRt((s(/sys/lib/python2.7/sqlite3/test/types.pyt$CheckDateTimeSubSecondsFloatingPoints !( R"R#RR RqRuRzR{R|(((s(/sys/lib/python2.7/sqlite3/test/types.pyRmas     cCs‹tjtdƒ}tjtdƒ}tjtdƒ}tjtdƒ}tjtdƒ}tjtdƒ}tj||||||fƒS(NtCheck( tunittestt makeSuiteRR$RMRZRaRmt TestSuite(tsqlite_type_suitetdecltypes_type_suitetcolnames_type_suitetadaptation_suitet bin_suitet date_suite((s(/sys/lib/python2.7/sqlite3/test/types.pytsuite”scCs tjƒ}|jtƒƒdS(N(R~tTextTestRunnertrunR‡(trunner((s(/sys/lib/python2.7/sqlite3/test/types.pyttests t__main__(RwR~tsqlite3RRbt ImportErrorR-tTestCaseRR$RMRZt skipUnlessRaRmR‡R‹R"(((s(/sys/lib/python2.7/sqlite3/test/types.pyts"     K‘:3