o
    tf	                     @   sn   d Z ddlZddlZddlmZmZmZ ejdd Zdd Z	ej
jejdko-eo-ed	d
ddd ZdS )zTest QtSql.    N)PYSIDE2PYSIDE_VERSIONQtSqlc                  c   s     t jd} | V  |   dS )zCreate a database connectionZQSQLITEN)r   QSqlDatabaseZaddDatabaseclose)
connection r   ^/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/qtpy/tests/test_qtsql.pydatabase_connection
   s   r
   c                   C   s   t jdusJ t jdusJ t jdusJ t jdusJ t jdus#J t jdus*J t jdus1J t jdus8J t j	dus?J t j
dusFJ t jdusMJ t jdusTJ t jdus[J t jdusbJ dS )zTest the qtpy.QtSql namespaceN)r   r   ZQSqlDriverCreatorBaseZ
QSqlDriverZ	QSqlErrorZ	QSqlFieldZ	QSqlIndex	QSqlQueryZ
QSqlRecord
QSqlResultZQSqlQueryModelZQSqlRelationalDelegateZQSqlRelationZQSqlRelationalTableModelZQSqlTableModelr   r   r   r	   
test_qtsql   s   r   win32z5.13z7SQLite driver unavailable on PySide 5.13.2 with Windows)reasonc                 C   s   t jjdusJ t jjdusJ t jjdusJ |  sJ | d t j| d t|  dks4J t  }|ds?J t  }|	d |  |
 }| rVJ dS )z
    Test aliased methods over qtpy.QtSql members including:

    * qtpy.QtSql.QSqlDatabase.exec_
    * qtpy.QtSql.QSqlQuery.exec_
    * qtpy.QtSql.QSqlResult.exec_
    Nztest.sqlitez
        CREATE TABLE test (
            id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE NOT NULL,
            name VARCHAR(40) NOT NULL
        )
           zR
        INSERT INTO test (name) VALUES (
            "TESTING"
        )
        z$
        SELECT * FROM test
        )r   r   exec_r   r   openZsetDatabaseNamelenZtablespreparerecordZisEmpty)r
   Zinsert_table_queryZselect_table_queryr   r   r   r	   test_qtsql_members_aliases'   s*   
r   )__doc__sysZpytestZqtpyr   r   r   Zfixturer
   r   markZskipifplatform
startswithr   r   r   r   r	   <module>   s    
