o
    °ó®gh  ã                   @   sH   d dl Z d dlZG dd„ de jƒZdd„ Zdd„ Zedkr"eƒ  dS dS )	é    Nc                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
Ú	DumpTestsc                 C   s   t  d¡| _| j ¡ | _d S )Nz:memory:)ÚsqliteÚconnectÚcxÚcursorÚcu©Úself© r
   úG/Users/admin/.pyenv/versions/3.10.0/lib/python3.10/sqlite3/test/dump.pyÚsetUp   s   zDumpTests.setUpc                 C   s   | j  ¡  d S ©N)r   Úcloser   r
   r
   r   ÚtearDown   s   zDumpTests.tearDownc                    sd   g d¢‰‡fdd„ˆD ƒ ˆj  ¡ }dd„ |D ƒ‰ dgˆ dg ‰‡ ‡‡fdd„ttˆƒƒD ƒ d S )N)
z#CREATE TABLE "index"("index" blob);z"INSERT INTO "index" VALUES(X'01');z3CREATE TABLE "quoted""table"("quoted""field" text);z4INSERT INTO "quoted""table" VALUES('quoted''value');z‚CREATE TABLE t1(id integer primary key, s1 text, t1_i1 integer not null, i2 integer, unique (s1), constraint t1_idx1 unique (i2));z'INSERT INTO "t1" VALUES(1,'foo',10,20);z(INSERT INTO "t1" VALUES(2,'foo2',30,30);ztCREATE TABLE t2(id integer, t2_i1 integer, t2_i2 integer, primary key (id),foreign key(t2_i1) references t1(t1_i1));zrCREATE TRIGGER trigger_1 update of t1_i1 on t1 begin update t2 set t2_i1 = new.t1_i1 where t2_i1 = old.t1_i1; end;z;CREATE VIEW v1 as select * from t1 left join t2 using (id);c                    s   g | ]}ˆ j  |¡‘qS r
   )r   Úexecute©Ú.0Úsr   r
   r   Ú
<listcomp>,   s    z-DumpTests.test_table_dump.<locals>.<listcomp>c                 S   s   g | ]}|‘qS r
   r
   r   r
   r
   r   r   .   s    úBEGIN TRANSACTION;úCOMMIT;c                    s    g | ]}ˆ  ˆ| ˆ | ¡‘qS r
   )ÚassertEqual)r   Úi©Zactual_sqlsZexpected_sqlsr	   r
   r   r   1   s    ÿ)r   ÚiterdumpÚrangeÚlen)r	   r   r
   r   r   Útest_table_dump   s   
ÿ

ÿzDumpTests.test_table_dumpc                 C   s`   G dd„ dƒ}|| j _d}d}d||dg}| j |¡ | j |¡ t| j  ¡ ƒ}|  ||¡ d S )Nc                   @   s   e Zd Zdd„ Zdd„ ZdS )z6DumpTests.test_unorderable_row.<locals>.UnorderableRowc                 S   s
   || _ d S r   ©Úrow)r	   r   r   r
   r
   r   Ú__init__7   ó   
z?DumpTests.test_unorderable_row.<locals>.UnorderableRow.__init__c                 S   s
   | j | S r   r   )r	   Úindexr
   r
   r   Ú__getitem__9   r!   zBDumpTests.test_unorderable_row.<locals>.UnorderableRow.__getitem__N)Ú__name__Ú
__module__Ú__qualname__r    r#   r
   r
   r
   r   ÚUnorderableRow6   s    r'   zCREATE TABLE "alpha" ("one");zCREATE TABLE "beta" ("two");r   r   )r   Zrow_factoryr   r   Úlistr   r   )r	   r'   ZCREATE_ALPHAZCREATE_BETAZexpectedZgotr
   r
   r   Útest_unorderable_row4   s   üzDumpTests.test_unorderable_rowN)r$   r%   r&   r   r   r   r)   r
   r
   r
   r   r      s
    &r   c                  C   s   t g} t dd„ | D ƒ¡S )Nc                 S   s   g | ]	}t  ¡  |¡‘qS r
   )ÚunittestZ
TestLoaderZloadTestsFromTestCase)r   Útr
   r
   r   r   N   s    zsuite.<locals>.<listcomp>)r   r*   Z	TestSuite)Ztestsr
   r
   r   ÚsuiteI   s
   ÿÿr,   c                  C   s   t  ¡ } |  tƒ ¡ d S r   )r*   ZTextTestRunnerÚrunr,   )Zrunnerr
   r
   r   ÚtestQ   s   r.   Ú__main__)r*   Zsqlite3r   ZTestCaser   r,   r.   r$   r
   r
   r
   r   Ú<module>   s   C
ÿ