Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/sqlite3/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/sqlite3/test/__pycache__/hooks.cpython-39.pyc

a

��gz*�@sxddlZddlZddlmZmZGdd�dej�ZGdd�dej�ZGdd�dej�Z	d	d
�Z
dd�Zed
krte�dS)�N)�TESTFN�unlinkc@s^eZdZdd�Zdd�Zdd�Zdd�Ze�e	j
d	kd
�dd��Zd
d�Zdd�Z
dd�ZdS)�CollationTestscCsHt�d�}|�t�� |�ddd��Wd�n1s:0YdS)N�:memory:cSs||k||kS�N���x�yrr�./usr/local/lib/python3.9/sqlite3/test/hooks.py�<lambda>!�z>CollationTests.CheckCreateCollationNotString.<locals>.<lambda>)�sqlite�connect�assertRaises�	TypeError�create_collation��self�conrrr�CheckCreateCollationNotStrings
z,CollationTests.CheckCreateCollationNotStringcCsVt�d�}|�t��}|�dd�Wd�n1s60Y|�t|j�d�dS)Nr�X�*zparameter must be callable)rrrrr�assertEqual�str�	exception�rr�cmrrr�CheckCreateCollationNotCallable#s
*z.CollationTests.CheckCreateCollationNotCallablecCsJt�d�}|�tj�� |�ddd��Wd�n1s<0YdS)NrucolläcSs||k||kSrrrrrrr,r
z=CollationTests.CheckCreateCollationNotAscii.<locals>.<lambda>)rrrZProgrammingErrorrrrrr�CheckCreateCollationNotAscii)s
z+CollationTests.CheckCreateCollationNotAsciicCslGdd�dt�}t�d�}dd�}|�|d�|�|�d���}|�|ddd	�|�|d
dd�dS)Nc@seZdZdd�ZdS)z@CollationTests.CheckCreateCollationBadUpper.<locals>.BadUpperStrcSsdSrr)rrrr�upper0szFCollationTests.CheckCreateCollationBadUpper.<locals>.BadUpperStr.upperN)�__name__�
__module__�__qualname__r rrrr�BadUpperStr/sr$rcSs||k||kSrrrrrrr3r
z=CollationTests.CheckCreateCollationBadUpper.<locals>.<lambda>�mycollz�
            select x from (
            select 'a' as x
            union
            select 'b' as x
            ) order by x collate mycoll
            r�b��a)rrrr�execute�fetchallr)rr$rr%�resultrrr�CheckCreateCollationBadUpper.s
z+CollationTests.CheckCreateCollationBadUpper)��r'z&old SQLite versions crash on this testcCs�dd�}t�d�}|�d|�d}|�|���}|j|gd�dd�|�dd�|�tj��}|�|���}Wd�n1s�0Y|�t|j	�d	�dS)
NcSs||k||kSrrrrrrr%Bsz3CollationTests.CheckCollationIsUsed.<locals>.mycollrr%��
            select x from (
            select 'a' as x
            union
            select 'b' as x
            union
            select 'c' as x
            ) order by x collate mycoll
            �)�c)r&)r(�#the expected order was not returned��msg�"no such collation sequence: mycoll)
rrrr)r*rr�OperationalErrorrr)rr%r�sqlr+rrrr�CheckCollationIsUsed?s
	�,z#CollationTests.CheckCollationIsUsedcCsHdd�}t�d�}|�d|�d}|�|���}|j|gd�dd�dS)	NcSs||k||kdS)Nlrrrrrr%[sz@CollationTests.CheckCollationReturnsLargeInteger.<locals>.mycollrr%r/r0r2r3�rrrr)r*r)rr%rr7r+rrr�!CheckCollationReturnsLargeIntegerZs
	�z0CollationTests.CheckCollationReturnsLargeIntegercCsdt�d�}|�ddd��|�ddd��|�d���}|�|ddd�|�|d	dd
�dS)z�
        Register two different collation functions under the same name.
        Verify that the last one is actually used.
        rr%cSs||k||kSrrrrrrrsr
z<CollationTests.CheckCollationRegisterTwice.<locals>.<lambda>cSs||k||kSrrrrrrrtr
zi
            select x from (select 'a' as x union select 'b' as x) order by x collate mycoll
            rr&r'r(Nr9)rrr+rrr�CheckCollationRegisterTwicems
z*CollationTests.CheckCollationRegisterTwicecCsrt�d�}|�ddd��|�dd�|�tj��}|�d�Wd�n1sR0Y|�t|j�d�dS)zu
        Register a collation, then deregister it. Make sure an error is raised if we try
        to use it.
        rr%cSs||k||kSrrrrrrr�r
z9CollationTests.CheckDeregisterCollation.<locals>.<lambda>Nz?select 'a' as x union select 'b' as x order by x collate mycollr5)	rrrrr6r)rrrrrrr�CheckDeregisterCollation{s
(z'CollationTests.CheckDeregisterCollationN)r!r"r#rrrr,�unittest�skipIfr�sqlite_version_infor8r:r;r<rrrrrs�
rc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
ProgressTestscs>t�d�}g��fdd�}|�|d�|�d�|���dS)zK
        Test that the progress handler is invoked once it is set.
        rcs��d�dS�Nr��appendr�Zprogress_callsrr�progress�s
z8ProgressTests.CheckProgressHandlerUsed.<locals>.progressr'z0
            create table foo(a, b)
            N)rr�set_progress_handlerr)�
assertTrue�rrrErrDr�CheckProgressHandlerUsed�s

z&ProgressTests.CheckProgressHandlerUsedcsrt�d�}g��fdd�}|�|d�|��}|�d�t��}g�|�|d�|�d�t��}|�||�dS)	z=
        Test that the opcode argument is respected.
        rcs��d�dSrArBrrDrrrE�s
z0ProgressTests.CheckOpcodeCount.<locals>.progressr'z1
            create table foo (a, b)
            r.z1
            create table bar (a, b)
            N)rrrF�cursorr)�lenZassertGreaterEqual)rrrE�cursZfirst_countZsecond_countrrDr�CheckOpcodeCount�s


zProgressTests.CheckOpcodeCountcCs<t�d�}dd�}|�|d�|��}|�tj|jd�dS)zW
        Test that returning a non-zero value stops the operation in progress.
        rcSsdS)Nr'rrrrrrE�sz4ProgressTests.CheckCancelOperation.<locals>.progressr'zcreate table bar (a, b)N)rrrFrJrr6r))rrrErLrrr�CheckCancelOperation�s
�z"ProgressTests.CheckCancelOperationcsRt�d�}d��fdd�}|�|d�|�dd�|�d���|��dd�dS)	zc
        Test that setting the progress handler to None clears the previously set handler.
        rrcsd�dS)Nr'rrr��actionrrrE�sz1ProgressTests.CheckClearHandler.<locals>.progressr'Nz&select 1 union select 2 union select 3z progress handler was not cleared)rrrFr)r*rrHrrOr�CheckClearHandler�s
zProgressTests.CheckClearHandlerN)r!r"r#rIrMrNrQrrrrr@�sr@c@s>eZdZdd�Zdd�Zdd�Ze�ej	dkd�d	d
��Z
dS)�TraceCallbackTestscsTt�d�}g��fdd�}|�|�|�d�|���|�tdd��D���dS)zI
        Test that the trace callback is invoked once it is set.
        rcs��|�dSrrB�Z	statement��traced_statementsrr�trace�sz8TraceCallbackTests.CheckTraceCallbackUsed.<locals>.trace�create table foo(a, b)css|]}d|vVqdS)zcreate table fooNr��.0Zstmtrrr�	<genexpr>�r
z<TraceCallbackTests.CheckTraceCallbackUsed.<locals>.<genexpr>N)rr�set_trace_callbackr)rG�any�rrrVrrTr�CheckTraceCallbackUsed�s



z)TraceCallbackTests.CheckTraceCallbackUsedcsHt�d�}g��fdd�}|�|�|�d�|�d�|��d�dS)zb
        Test that setting the trace callback to None clears the previously set callback.
        rcs��|�dSrrBrSrTrrrV�sz9TraceCallbackTests.CheckClearTraceCallback.<locals>.traceNrWztrace callback was not cleared)rrr[r)ZassertFalser]rrTr�CheckClearTraceCallback�s



z*TraceCallbackTests.CheckClearTraceCallbackc
s�d�t�d�}g��fdd�}|�|�|�d�|�d��|��|�t�fdd��D��d	t��d
�t	t���f�dS)zG
        Test that the statement can contain unicode literals.
        uöäüÖÄÜ߀rcs��|�dSrrBrSrTrrrV�sz5TraceCallbackTests.CheckUnicodeContent.<locals>.trace�create table foo(x)z insert into foo(x) values ('%s')c3s|]}�|vVqdSrrrX)�
unicode_valuerrrZ�r
z9TraceCallbackTests.CheckUnicodeContent.<locals>.<genexpr>z-Unicode data %s garbled in trace callback: %sz, N)
rrr[r)ZcommitrGr\�ascii�join�mapr]r)rUrar�CheckUnicodeContent�s


��z&TraceCallbackTests.CheckUnicodeContent)r-r-�	z#sqlite3_prepare_v2 is not availablecs�g��fdd�}ddg}|�tt�tjtdd�}t�t�}|�|�|��}|�|d�|�d�|�|d�tjd	kr�|�	|d
�|�
�|�dS)Ncs��|�dSrrBrSrTrrrV�sz;TraceCallbackTests.CheckTraceCallbackContent.<locals>.tracer`zinsert into foo(x) values(1))Zisolation_levelrzcreate table bar(x)r')r-�����)Z
addCleanuprrrrr[rJr)r?rCr)rrVZqueriesZcon1Zcon2ZcurrrTr�CheckTraceCallbackContent�s �



z,TraceCallbackTests.CheckTraceCallbackContentN)r!r"r#r^r_rer=r>rr?rjrrrrrR�s


rRcCs4t�td�}t�td�}t�td�}t�|||f�S)NZCheck)r=Z	makeSuiterr@rRZ	TestSuite)Zcollation_suiteZprogress_suiteZtrace_suiterrr�suitesrkcCst��}|�t��dSr)r=ZTextTestRunner�runrk)Zrunnerrrr�testsrm�__main__)
r=Zsqlite3rZtest.supportrrZTestCaserr@rRrkrmr!rrrr�<module>sjEK

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists