Your IP : 216.73.216.213


Current Path : /opt/alt/python33/lib64/python3.3/sqlite3/test/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/sqlite3/test/__pycache__/hooks.cpython-33.pyo

�
��f�$c@s�ddlZddlZGdd�dej�ZGdd�dej�ZGdd�dej�Zdd	�Zd
d�Ze	dkr�e�ndS(
iNcBs�|EeZdZdd�Zdd�Zdd�Zdd�Zeje	j
dkd�d
d��Zdd�Zdd�Z
dd�ZdS(uCollationTestscCsdS(N((uself((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyusetUpsuCollationTests.setUpcCsdS(N((uself((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyutearDownsuCollationTests.tearDowncCsstjd�}y!|jdd�|jd�Wn<tk
rn}z|j|jdd�WYdd}~XnXdS(Nu:memory:uXi*ushould have raised a TypeErroriuparameter must be callable(usqliteuconnectucreate_collationufailu	TypeErroruassertEqualuargs(uselfuconue((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuCheckCreateCollationNotCallable"su.CollationTests.CheckCreateCollationNotCallablecCsetjd�}y'|jddd��|jd�Wn(tjk
r`}zWYdd}~XnXdS(Nu:memory:ucolläcSs||k||kS(N((uxuy((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyu<lambda>-su=CollationTests.CheckCreateCollationNotAscii.<locals>.<lambda>u%should have raised a ProgrammingError(usqliteuconnectucreate_collationufailuProgrammingError(uselfuconue((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuCheckCreateCollationNotAscii*su+CollationTests.CheckCreateCollationNotAsciiiiiu&old SQLite versions crash on this testcCsdd�}tjd�}|jd|�d}|j|�j�}|dddks�|ddd	ks�|d
ddkr�|jd�n|jdd�y&|j|�j�}|jd
�WnEtjk
r}z"|j|j	dj
�d�WYdd}~XnXdS(NcSs||k||kS(N((uxuy((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyumycoll5su3CollationTests.CheckCollationIsUsed.<locals>.mycollu:memory:umycollu�
            select x from (
            select 'a' as x
            union
            select 'b' as x
            union
            select 'c' as x
            ) order by x collate mycoll
            iuciubiuau#the expected order was not returnedu&should have raised an OperationalErroru"no such collation sequence: mycoll(usqliteuconnectucreate_collationuexecuteufetchallufailuNoneuOperationalErroruassertEqualuargsulower(uselfumycolluconusqluresultue((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuCheckCollationIsUsed2s	<u#CollationTests.CheckCollationIsUsedcCsidd�}tjd�}|jd|�d}|j|�j�}|j|ddd
gd	d
�dS(NcSs||k||kdS(Nii l((uxuy((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyumycollPsu@CollationTests.CheckCollationReturnsLargeInteger.<locals>.mycollu:memory:umycollu�
            select x from (
            select 'a' as x
            union
            select 'b' as x
            union
            select 'c' as x
            ) order by x collate mycoll
            ucubuaumsgu#the expected order was not returned(uc(ub(ua(usqliteuconnectucreate_collationuexecuteufetchalluassertEqual(uselfumycolluconusqluresult((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyu!CheckCollationReturnsLargeIntegerOs	u0CollationTests.CheckCollationReturnsLargeIntegercCs�tjd�}|jddd��|jddd��|jd�j�}|dddksx|d	dd
kr�|jd�ndS(
u�
        Register two different collation functions under the same name.
        Verify that the last one is actually used.
        u:memory:umycollcSs||k||kS(N((uxuy((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyu<lambda>hsu<CollationTests.CheckCollationRegisterTwice.<locals>.<lambda>cSs||k||kS(N((uxuy((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyu<lambda>isui
            select x from (select 'a' as x union select 'b' as x) order by x collate mycoll
            iubiuau wrong collation function is usedN(usqliteuconnectucreate_collationuexecuteufetchallufail(uselfuconuresult((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuCheckCollationRegisterTwicebs(u*CollationTests.CheckCollationRegisterTwicecCs�tjd�}|jddd��|jdd
�y|jd�|jd�WnNtjk
r�}z+|jdjd�s�|jd	�nWYd
d
}~XnXd
S(uu
        Register a collation, then deregister it. Make sure an error is raised if we try
        to use it.
        u:memory:umycollcSs||k||kS(N((uxuy((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyu<lambda>vsu9CollationTests.CheckDeregisterCollation.<locals>.<lambda>u?select 'a' as x union select 'b' as x order by x collate mycollu&should have raised an OperationalErroriuno such collation sequenceuwrong OperationalError raisedN(	usqliteuconnectucreate_collationuNoneuexecuteufailuOperationalErroruargsu
startswith(uselfuconue((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuCheckDeregisterCollationps
u'CollationTests.CheckDeregisterCollationN(iii(u__name__u
__module__u__qualname__usetUputearDownuCheckCreateCollationNotCallableuCheckCreateCollationNotAsciiuunittestuskipIfusqliteusqlite_version_infouCheckCollationIsUsedu!CheckCollationReturnsLargeIntegeruCheckCollationRegisterTwiceuCheckDeregisterCollation(u
__locals__((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuCollationTestssuCollationTestscBsD|EeZdZdd�Zdd�Zdd�Zdd�Zd	S(
u
ProgressTestscsUtjd�}g��fdd�}|j|d�|jd�|j��dS(uK
        Test that the progress handler is invoked once it is set.
        u:memory:cs�jd�dS(Ni(uappenduNone((uprogress_calls(u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuprogress�s
u8ProgressTests.CheckProgressHandlerUsed.<locals>.progressiu0
            create table foo(a, b)
            N(usqliteuconnectuset_progress_handleruexecuteu
assertTrue(uselfuconuprogress((uprogress_callsu7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuCheckProgressHandlerUsed�su&ProgressTests.CheckProgressHandlerUsedcs�tjd�}g��fdd�}|j|d�|j�}|jd�t��}g�|j|d�|jd�t��}|j||�dS(	u=
        Test that the opcode argument is respected.
        u:memory:cs�jd�dS(Ni(uappenduNone((uprogress_calls(u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuprogress�s
u0ProgressTests.CheckOpcodeCount.<locals>.progressiu1
            create table foo (a, b)
            iu1
            create table bar (a, b)
            N(usqliteuconnectuset_progress_handlerucursoruexecuteulenuassertGreaterEqual(uselfuconuprogressucursufirst_countusecond_count((uprogress_callsu7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuCheckOpcodeCount�suProgressTests.CheckOpcodeCountcs`tjd�}g��fdd�}|j|d�|j�}|jtj|jd�dS(uW
        Test that returning a non-zero value stops the operation in progress.
        u:memory:cs�jd�dS(Ni(uappenduNone((uprogress_calls(u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuprogress�s
u4ProgressTests.CheckCancelOperation.<locals>.progressiucreate table bar (a, b)N(usqliteuconnectuset_progress_handlerucursoruassertRaisesuOperationalErroruexecute(uselfuconuprogressucurs((uprogress_callsu7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuCheckCancelOperation�su"ProgressTests.CheckCancelOperationcsqtjd�}d��fdd�}|j|d�|jdd�|jd�j�|j�dd�dS(	uc
        Test that setting the progress handler to None clears the previously set handler.
        u:memory:ics
d�dS(Nii(((uaction(u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuprogress�su1ProgressTests.CheckClearHandler.<locals>.progressiu&select 1 union select 2 union select 3u progress handler was not clearedN(usqliteuconnectuset_progress_handleruNoneuexecuteufetchalluassertEqual(uselfuconuprogress((uactionu7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuCheckClearHandler�suProgressTests.CheckClearHandlerN(u__name__u
__module__u__qualname__uCheckProgressHandlerUseduCheckOpcodeCountuCheckCancelOperationuCheckClearHandler(u
__locals__((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyu
ProgressTestssu
ProgressTestscBs8|EeZdZdd�Zdd�Zdd�ZdS(uTraceCallbackTestscsrtjd�}g��fdd�}|j|�|jd�|j��|jtdd��D���dS(uI
        Test that the trace callback is invoked once it is set.
        u:memory:cs�j|�dS(N(uappend(u	statement(utraced_statements(u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyutrace�su8TraceCallbackTests.CheckTraceCallbackUsed.<locals>.traceucreate table foo(a, b)css|]}d|kVqdS(ucreate table fooN((u.0ustmt((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyu	<genexpr>�su<TraceCallbackTests.CheckTraceCallbackUsed.<locals>.<genexpr>N(usqliteuconnectuset_trace_callbackuexecuteu
assertTrueuany(uselfuconutrace((utraced_statementsu7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuCheckTraceCallbackUsed�s


u)TraceCallbackTests.CheckTraceCallbackUsedcsbtjd�}g��fdd�}|j|�|jd�|jd�|j�d�dS(ub
        Test that setting the trace callback to None clears the previously set callback.
        u:memory:cs�j|�dS(N(uappend(u	statement(utraced_statements(u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyutrace�su9TraceCallbackTests.CheckClearTraceCallback.<locals>.traceucreate table foo(a, b)utrace callback was not clearedN(usqliteuconnectuset_trace_callbackuNoneuexecuteuassertFalse(uselfuconutrace((utraced_statementsu7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuCheckClearTraceCallback�s


u*TraceCallbackTests.CheckClearTraceCallbackcs�d�tjd�}g��fdd�}|j|�|jd�|jd��|j�|jt�fdd��D��d	t��d
jt	t���f�dS(uG
        Test that the statement can contain unicode literals.
        uöäüÖÄÜ߀u:memory:cs�j|�dS(N(uappend(u	statement(utraced_statements(u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyutrace�su5TraceCallbackTests.CheckUnicodeContent.<locals>.traceucreate table foo(x)u insert into foo(x) values ("%s")c3s|]}�|kVqdS(N((u.0ustmt(u
unicode_value(u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyu	<genexpr>�su9TraceCallbackTests.CheckUnicodeContent.<locals>.<genexpr>u-Unicode data %s garbled in trace callback: %su, N(
usqliteuconnectuset_trace_callbackuexecuteucommitu
assertTrueuanyuasciiujoinumap(uselfuconutrace((utraced_statementsu
unicode_valueu7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuCheckUnicodeContent�s


"u&TraceCallbackTests.CheckUnicodeContentN(u__name__u
__module__u__qualname__uCheckTraceCallbackUseduCheckClearTraceCallbackuCheckUnicodeContent(u
__locals__((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyuTraceCallbackTests�s

uTraceCallbackTestscCsLtjtd�}tjtd�}tjtd�}tj|||f�S(NuCheck(uunittestu	makeSuiteuCollationTestsu
ProgressTestsuTraceCallbackTestsu	TestSuite(ucollation_suiteuprogress_suiteutrace_suite((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyusuite�susuitecCs tj�}|jt��dS(N(uunittestuTextTestRunnerurunusuite(urunner((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyutest�sutestu__main__(
uunittestusqlite3usqliteuTestCaseuCollationTestsu
ProgressTestsuTraceCallbackTestsusuiteutestu__name__(((u7/opt/alt/python33/lib64/python3.3/sqlite3/test/hooks.pyu<module>sdG1