ó
¦xxTc           @   s%  d  d l  Z  d  d l Z d  d l m Z d e j f d „  ƒ  YZ d „  Z d e j f d „  ƒ  YZ	 d e  j
 f d	 „  ƒ  YZ d
 e  j
 f d „  ƒ  YZ d e  j
 f d „  ƒ  YZ d e  j
 f d „  ƒ  YZ d e  j
 f d „  ƒ  YZ d e  j
 f d „  ƒ  YZ d „  Z d „  Z e d k r!e ƒ  n  d S(   iÿÿÿÿN(   t   Sequencet   MyConnectionc           B   s   e  Z d  „  Z RS(   c         O   s   t  j j |  | | Ž d  S(   N(   t   sqlitet
   Connectiont   __init__(   t   selft   argst   kwargs(    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR      s    (   t   __name__t
   __module__R   (    (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR      s   c         C   s<   i  } x/ t  |  j ƒ D] \ } } | | | | d <q W| S(   Ni    (   t	   enumeratet   description(   t   cursort   rowt   dt   idxt   col(    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   dict_factory    s    t   MyCursorc           B   s   e  Z d  „  Z RS(   c         O   s#   t  j j |  | | Ž t |  _ d  S(   N(   R   t   CursorR   R   t   row_factory(   R   R   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR   '   s    (   R   R	   R   (    (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR   &   s   t   ConnectionFactoryTestsc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   t  j d d t ƒ|  _ d  S(   Ns   :memory:t   factory(   R   t   connectR   t   con(   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   setUp,   s    c         C   s   |  j  j ƒ  d  S(   N(   R   t   close(   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   tearDown/   s    c         C   s   |  j  |  j t ƒ d  S(   N(   t   assertIsInstanceR   R   (   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   CheckIsInstance2   s    (   R   R	   R   R   R   (    (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR   +   s   		t   CursorFactoryTestsc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   t  j d ƒ |  _ d  S(   Ns   :memory:(   R   R   R   (   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR   6   s    c         C   s   |  j  j ƒ  d  S(   N(   R   R   (   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR   9   s    c         C   s)   |  j  j d t ƒ } |  j | t ƒ d  S(   NR   (   R   R   R   R   (   R   t   cur(    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR   <   s    (   R   R	   R   R   R   (    (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR   5   s   		t   RowFactoryTestsBackwardsCompatc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   t  j d ƒ |  _ d  S(   Ns   :memory:(   R   R   R   (   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR   A   s    c         C   sL   |  j  j d t ƒ } | j d ƒ | j ƒ  } |  j | t ƒ | j ƒ  d  S(   NR   s   select 4+5 as foo(   R   R   R   t   executet   fetchoneR   t   dictR   (   R   R   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   CheckIsProducedByFactoryD   s
    c         C   s   |  j  j ƒ  d  S(   N(   R   R   (   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR   K   s    (   R   R	   R   R$   R   (    (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR    @   s   		t   RowFactoryTestsc           B   sY   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   c         C   s   t  j d ƒ |  _ d  S(   Ns   :memory:(   R   R   R   (   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR   O   s    c         C   s;   d „  |  j  _ |  j  j d ƒ j ƒ  } |  j | t ƒ d  S(   Nc         S   s
   t  | ƒ S(   N(   t   list(   R   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   <lambda>S   s    s   select 1, 2(   R   R   R!   R"   R   R&   (   R   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   CheckCustomFactoryR   s    c         C   s   t  j |  j _ |  j j d ƒ j ƒ  } |  j | t  j ƒ | d | d } } |  j | d d ƒ |  j | d d ƒ | d | d } } |  j | d d	 ƒ |  j | d d
 ƒ |  j | d d d ƒ |  j | d d d ƒ |  j | d d d ƒ |  j | d d d ƒ |  j | d d d ƒ |  j | d d d ƒ |  j | d d d ƒ |  j | d d d ƒ |  j t	 ƒ � | d Wd  QX|  j t	 ƒ � | d Wd  QX|  j t	 ƒ � | d Wd  QX|  j t	 ƒ � | d Wd  QX|  j t	 ƒ � | d Wd  QX|  j t	 ƒ � | d Wd  QXd  S(   Ns   select 1 as a, 2 as bt   at   bi   s$   by name: wrong result for column 'a'i   t   At   Bs$   by name: wrong result for column 'A's$   by name: wrong result for column 'B'i    s#   by index: wrong result for column 0l    s#   by index: wrong result for column 1l    iÿÿÿÿs$   by index: wrong result for column -1lÿÿÿÿ iþÿÿÿs$   by index: wrong result for column -2lÿÿÿÿ t   cl    iýÿÿÿlÿÿÿÿ iè  lC                                                                                                                                        (
   R   t   RowR   R   R!   R"   R   t   assertEqualt   assertRaisest
   IndexError(   R   R   t   col1t   col2(    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   CheckSqliteRowIndexW   s:    c         C   s<   t  j |  j _ |  j j d ƒ j ƒ  } x | D] } q. Wd S(   s$   Checks if the row object is iterables   select 1 as a, 2 as bN(   R   R.   R   R   R!   R"   (   R   R   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   CheckSqliteRowIterz   s    c         C   sU   t  j |  j _ |  j j d ƒ j ƒ  } t | ƒ } |  j | | d | d f ƒ d S(   s4   Checks if the row object can be converted to a tuples   select 1 as a, 2 as bR)   R*   N(   R   R.   R   R   R!   R"   t   tupleR/   (   R   R   t   t(    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   CheckSqliteRowAsTuple�   s    c         C   sg   t  j |  j _ |  j j d ƒ j ƒ  } t | ƒ } |  j | d | d ƒ |  j | d | d ƒ d S(   sC   Checks if the row object can be correctly converted to a dictionarys   select 1 as a, 2 as bR)   R*   N(   R   R.   R   R   R!   R"   R#   R/   (   R   R   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   CheckSqliteRowAsDictˆ   s
    c         C   s  t  j |  j _ |  j j d ƒ j ƒ  } |  j j d ƒ j ƒ  } |  j j d ƒ j ƒ  } |  j | | ƒ |  j | | ƒ |  j | | k ƒ |  j | | k ƒ |  j | | k ƒ |  j | | k ƒ |  j | | ƒ |  j t	 | ƒ t	 | ƒ ƒ |  j
 | | ƒ |  j
 t	 | ƒ t	 | ƒ ƒ d S(   s6   Checks if the row object compares and hashes correctlys   select 1 as a, 2 as bs   select 1 as a, 3 as bN(   R   R.   R   R   R!   R"   R/   t
   assertTruet   assertFalset   hasht   assertNotEqual(   R   t   row_1t   row_2t   row_3(    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   CheckSqliteRowHashCmp�   s    c         C   so   t  j |  j _ |  j j d ƒ j ƒ  } t | ƒ } |  j t t	 | ƒ ƒ t t	 | ƒ ƒ ƒ |  j
 | t ƒ d S(   s2    Checks if the row object can act like a sequence s   select 1 as a, 2 as bN(   R   R.   R   R   R!   R"   R6   R/   R&   t   reversedR   R    (   R   R   t   as_tuple(    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   CheckSqliteRowAsSequence¤   s
    (c         C   s   |  j  j ƒ  d  S(   N(   R   R   (   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR   ­   s    (   R   R	   R   R(   R4   R5   R8   R9   RA   RD   R   (    (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR%   N   s   			#						t   TextFactoryTestsc           B   s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   t  j d ƒ |  _ d  S(   Ns   :memory:(   R   R   R   (   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR   ±   s    c         C   sN   t  d d ƒ } |  j j d | f ƒ j ƒ  } |  j t | d ƒ t  d ƒ d  S(   Ns
   Österreicht   latin1s   select ?i    s   type of row[0] must be unicode(   t   unicodeR   R!   R"   R/   t   type(   R   t   austriaR   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   CheckUnicode´   s    c         C   sz   t  |  j _ t d d ƒ } |  j j d | f ƒ j ƒ  } |  j t | d ƒ t  d ƒ |  j | d | j d ƒ d ƒ d  S(   Ns
   ÖsterreichRF   s   select ?i    s   type of row[0] must be strs   utf-8s(   column must equal original data in UTF-8(	   t   strR   t   text_factoryRG   R!   R"   R/   RH   t   encode(   R   RI   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   CheckString¹   s
    c         C   sƒ   d „  |  j  _ t d d ƒ } |  j  j d | j d ƒ f ƒ j ƒ  } |  j t | d ƒ t d ƒ |  j | d j	 d ƒ d ƒ d  S(	   Nc         S   s   t  |  d d ƒ S(   Ns   utf-8t   ignore(   RG   (   t   x(    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR'   Á   s    s
   ÖsterreichRF   s   select ?i    s   type of row[0] must be unicodeu   reichs!   column must contain original data(
   R   RL   RG   R!   RM   R"   R/   RH   R:   t   endswith(   R   RI   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   CheckCustomÀ   s
    'c         C   s¤   t  j |  j _ t d d ƒ } t d ƒ } |  j j d | f ƒ j ƒ  } |  j j d | f ƒ j ƒ  } |  j t | d ƒ t d ƒ |  j t | d ƒ t	 d ƒ d  S(   Ns
   ÖsterreichRF   t
   Deutchlands   select ?i    s%   type of non-ASCII row must be unicodes"   type of ASCII-only row must be str(
   R   t   OptimizedUnicodeR   RL   RG   R!   R"   R/   RH   RK   (   R   RI   t   germanyt   a_rowt   d_row(    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   CheckOptimizedUnicodeÇ   s    c         C   s   |  j  j ƒ  d  S(   N(   R   R   (   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR   Ð   s    (   R   R	   R   RJ   RN   RR   RX   R   (    (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyRE   °   s   						t%   TextFactoryTestsWithEmbeddedZeroBytesc           B   s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s9   t  j d ƒ |  _ |  j j d ƒ |  j j d d ƒ d  S(   Ns   :memory:s   create table test (value text)s#   insert into test (value) values (?)t   a b(   RZ   (   R   R   R   R!   (   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR   Ô   s    c         C   sJ   |  j  j d ƒ j ƒ  } |  j t | d ƒ t ƒ |  j | d d ƒ d  S(   Ns   select value from testi    RZ   (   R   R!   R"   t   assertIsRH   RG   R/   (   R   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyRN   Ù   s    c         C   sY   d „  |  j  _ |  j  j d ƒ j ƒ  } |  j t | d ƒ t ƒ |  j | d d ƒ d  S(   Nc         S   s   |  S(   N(    (   RP   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR'   á   s    s   select value from testi    RZ   (   R   RL   R!   R"   R[   RH   RK   R/   (   R   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyRR   ß   s    c         C   sY   t  j |  j _ |  j j d ƒ j ƒ  } |  j t | d ƒ t ƒ |  j	 | d d ƒ d  S(   Ns   select value from testi    RZ   (
   R   RT   R   RL   R!   R"   R[   RH   RK   R/   (   R   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   CheckOptimizedUnicodeAsStringæ   s    c         C   s|   t  j |  j _ |  j j d ƒ |  j j d d ƒ |  j j d ƒ j ƒ  } |  j t | d ƒ t ƒ |  j	 | d d ƒ d  S(   Ns   delete from tests#   insert into test (value) values (?)u   Ã¤ Ã¶s   select value from testi    (   u   Ã¤ Ã¶(
   R   RT   R   RL   R!   R"   R[   RH   RG   R/   (   R   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   CheckOptimizedUnicodeAsUnicodeí   s    c         C   s   |  j  j ƒ  d  S(   N(   R   R   (   R   (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyR   ö   s    (   R   R	   R   RN   RR   R\   R]   R   (    (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyRY   Ó   s   						c          C   s‹   t  j t d ƒ }  t  j t d ƒ } t  j t d ƒ } t  j t d ƒ } t  j t d ƒ } t  j t d ƒ } t  j |  | | | | | f ƒ S(   Nt   Check(	   t   unittestt	   makeSuiteR   R   R    R%   RE   RY   t	   TestSuite(   t   connection_suitet   cursor_suitet   row_suite_compatt	   row_suitet
   text_suitet   text_zero_bytes_suite(    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   suiteù   s    c          C   s    t  j ƒ  }  |  j t ƒ  ƒ d  S(   N(   R_   t   TextTestRunnert   runRh   (   t   runner(    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   test  s    t   __main__(   R_   t   sqlite3R   t   collectionsR    R   R   R   R   R   t   TestCaseR   R   R    R%   RE   RY   Rh   Rl   R   (    (    (    s@   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/sqlite3/test/factory.pyt   <module>   s   	
b#&			