oQc@sddlZddlZdejfdYZdZdejfdYZdejfdYZ d ejfd YZ d ejfd YZ d ejfdYZ dejfdYZ dejfdYZdZdZedkrendS(iNt MyConnectioncBseZdZRS(cOstjj|||dS(N(tsqlitet Connectiont__init__(tselftargstkwargs((s*/sys/lib/python2.7/sqlite3/test/factory.pyRs(t__name__t __module__R(((s*/sys/lib/python2.7/sqlite3/test/factory.pyRscCs<i}x/t|jD]\}}||||dXss select 1, 2srow is not instance of list(RRR!R"RRR&(RR ((s*/sys/lib/python2.7/sqlite3/test/factory.pytCheckCustomFactoryWs  cCs tj|j_|jjdj}|jt|tjd|d|d}}|j|dkd|j|dkd|d|d }}|j|dkd |j|dkd |d |d}}|j|dkd |j|dkddS(Nsselect 1 as a, 2 as bs!row is not instance of sqlite.Rowtatbis$by name: wrong result for column 'a'itAtBs$by name: wrong result for column 'A's$by name: wrong result for column 'B'is#by index: wrong result for column 0s#by index: wrong result for column 1(RtRowRRR!R"RR(RR tcol1tcol2((s*/sys/lib/python2.7/sqlite3/test/factory.pytCheckSqliteRowIndex^s  cCs<tj|j_|jjdj}x|D]}q.WdS(s$Checks if the row object is iterablesselect 1 as a, 2 as bN(RR-RRR!R"(RR R((s*/sys/lib/python2.7/sqlite3/test/factory.pytCheckSqliteRowIterqs cCs7tj|j_|jjdj}t|}dS(s4Checks if the row object can be converted to a tuplesselect 1 as a, 2 as bN(RR-RRR!R"ttuple(RR tt((s*/sys/lib/python2.7/sqlite3/test/factory.pytCheckSqliteRowAsTuplexscCsgtj|j_|jjdj}t|}|j|d|d|j|d|ddS(sCChecks if the row object can be correctly converted to a dictionarysselect 1 as a, 2 as bR)R*N(RR-RRR!R"R#t assertEqual(RR R ((s*/sys/lib/python2.7/sqlite3/test/factory.pytCheckSqliteRowAsDict~s  cCs%tj|j_|jjdj}|jjdj}|jjdj}|j||k|j||k|j||k|j||k|j||k|j||k|j|||jt |t ||j |||j t |t |dS(s6Checks if the row object compares and hashes correctlysselect 1 as a, 2 as bsselect 1 as a, 3 as bN( RR-RRR!R"Rt assertFalseR5thashtassertNotEqual(Rtrow_1trow_2trow_3((s*/sys/lib/python2.7/sqlite3/test/factory.pytCheckSqliteRowHashCmpscCs|jjdS(N(RR(R((s*/sys/lib/python2.7/sqlite3/test/factory.pyRs( RRRR(R0R1R4R6R=R(((s*/sys/lib/python2.7/sqlite3/test/factory.pyR%Ss       tTextFactoryTestscBs>eZdZdZdZdZdZdZRS(cCstjd|_dS(Ns:memory:(RRR(R((s*/sys/lib/python2.7/sqlite3/test/factory.pyRscCsQtdd}|jjd|fj}|jt|dtkddS(Ns sterreichtlatin1sselect ?istype of row[0] must be unicode(tunicodeRR!R"Rttype(RtaustriaR ((s*/sys/lib/python2.7/sqlite3/test/factory.pyt CheckUnicodescCst|j_tdd}|jjd|fj}|jt|dtkd|j|d|jdkddS(Ns sterreichR?sselect ?istype of row[0] must be strsutf-8s(column must equal original data in UTF-8( tstrRt text_factoryR@R!R"RRAtencode(RRBR ((s*/sys/lib/python2.7/sqlite3/test/factory.pyt CheckStrings   cCsd|j_tdd}|jjd|jdfj}|jt|dtkd|j|djdddS( NcSst|ddS(Nsutf-8tignore(R@(tx((s*/sys/lib/python2.7/sqlite3/test/factory.pyR'ss sterreichR?sselect ?istype of row[0] must be unicodeureichs!column must contain original data( RRER@R!RFR"RRAtendswith(RRBR ((s*/sys/lib/python2.7/sqlite3/test/factory.pyt CheckCustoms ' cCstj|j_tdd}td}|jjd|fj}|jjd|fj}|jt|dtkd|jt|dt kddS(Ns sterreichR?t Deutchlandsselect ?is%type of non-ASCII row must be unicodes"type of ASCII-only row must be str( RtOptimizedUnicodeRRER@R!R"RRARD(RRBtgermanyta_rowtd_row((s*/sys/lib/python2.7/sqlite3/test/factory.pytCheckOptimizedUnicodes  cCs|jjdS(N(RR(R((s*/sys/lib/python2.7/sqlite3/test/factory.pyRs(RRRRCRGRKRQR(((s*/sys/lib/python2.7/sqlite3/test/factory.pyR>s      t%TextFactoryTestsWithEmbeddedZeroBytescBs>eZdZdZdZdZdZdZRS(cCs9tjd|_|jjd|jjdddS(Ns:memory:screate table test (value text)s#insert into test (value) values (?)tab(RS(RRRR!(R((s*/sys/lib/python2.7/sqlite3/test/factory.pyRscCsJ|jjdj}|jt|dt|j|dddS(Nsselect value from testiRS(RR!R"tassertIsRAR@R5(RR ((s*/sys/lib/python2.7/sqlite3/test/factory.pyRGscCsYd|j_|jjdj}|jt|dt|j|dddS(NcSs|S(N((RI((s*/sys/lib/python2.7/sqlite3/test/factory.pyR'ssselect value from testiRS(RRER!R"RTRARDR5(RR ((s*/sys/lib/python2.7/sqlite3/test/factory.pyRKscCsYtj|j_|jjdj}|jt|dt|j |dddS(Nsselect value from testiRS( RRMRRER!R"RTRARDR5(RR ((s*/sys/lib/python2.7/sqlite3/test/factory.pytCheckOptimizedUnicodeAsStringscCs|tj|j_|jjd|jjdd|jjdj}|jt|dt|j |dddS(Nsdelete from tests#insert into test (value) values (?)uäösselect value from testi(uäö( RRMRRER!R"RTRAR@R5(RR ((s*/sys/lib/python2.7/sqlite3/test/factory.pytCheckOptimizedUnicodeAsUnicodes cCs|jjdS(N(RR(R((s*/sys/lib/python2.7/sqlite3/test/factory.pyRs(RRRRGRKRURVR(((s*/sys/lib/python2.7/sqlite3/test/factory.pyRRs      cCstjtd}tjtd}tjtd}tjtd}tjtd}tjtd}tj||||||fS(NtCheck( tunittestt makeSuiteRRR R%R>RRt TestSuite(tconnection_suitet cursor_suitetrow_suite_compatt row_suitet text_suitettext_zero_bytes_suite((s*/sys/lib/python2.7/sqlite3/test/factory.pytsuitescCs tj}|jtdS(N(RXtTextTestRunnertrunRa(trunner((s*/sys/lib/python2.7/sqlite3/test/factory.pyttests t__main__(RXtsqlite3RRRRRRtTestCaseRRR R%R>RRRaReR(((s*/sys/lib/python2.7/sqlite3/test/factory.pyts     J#&