403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python315/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/__pycache__/test_csv.cpython-315.opt-1.pyc
R
>lqj�'c���]PHs]PHs]PHs]QHGs]QHGs]PHs]PH s]PH$s	]QH(Gs]QH0G
s
GsGs]QH@Gs]QHHGs]QHPGs]QHXGsQ	Q
2sQQ\O22sQ
Q\O22sQQ\O22sQQ\2sQQ\O<2sQQ\2s QQ\2s!QQ\O<2s"QQ\2s#QQ\O22s$QQ \O22s%Q!Q"\O22s&Q#Q$\O22s'Q%Q&2s(\OR\*\Q'2Q(2Q)Q*\O222s+Q+Q,\O22s,Q-Q.\O22s-Q/Q0\O22s.Q1Q2\O22s/\0Q36Xc\Ob2P!P!)4�)�StringIO)�
TemporaryFile)�support)�cpython_only�
import_helper�check_disallow_instantiation��ensure_lazy_imports)�permutations)�dedent)�OrderedDictc�(`�\sQs]snQsQsUsP!)�BadIterablec��[g�N��OSError��selfs&�"C:\Python315\\Lib\test\test_csv.py�__iter__�BadIterable.__iter__s���
��)�__name__�
__module__�__qualname__�__firstlineno__r�__static_attributes__�__classdictcell__��
__classdict__s@rrrs�����rrc�`�\sQs]snQsQsQsQsQsQs	Qs
QsQ	sQ
s
QsQsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQs Qs!Qs"Q s#Q!s$Q"s%Q#s&Q$s'Q%s(Q&s)Q's*Q(s+Q)s,Q*s-Us.P!)+�Test_Csvz�
Test the underlying C csv parser in ways that are not appropriate
from the high level interface. Further tests of this nature are done
in TestDialectRegistry.
c��UU2UO[U2UO[UP2UO[V]Q5UO[VPQ5UO[VPQ5UO[VPQ5UO[VQQ5UO[VQQ5UO[VQQ5UO[OVQ2UO[VPQ5UO[V]Q5UO[V]Q5UO[V]Q5UO[VPQ5UO[V]Q5UO[VPQ5UO[V[OPQ	5UO[V[OPQ	5UO[V[O
PQ	5UO[VQ
Q5UO[VQ
Q5UO[VQ
Q5UO[VQQ5UO[VQQ5UO[VQQ5UUQQ5UUQQ5UUQQ5UUQ
P	Q5UUQ
P	Q5UUQ
P	Q5UUQP	Q5UO[VQP	Q5UO[VQP	Q5UUQQ5UUQQ5UUQQ5UO[VQQQ5UO[VQQQ5UO[VQQQ5UUQQ5UUQQ5UUQQ5UUQQ5UO[VQQQ5UO[VQQQ5UO[VQQQ5P!)N)�bad_attr��	delimiter��
escapechar��	quotecharz^^�foo��lineterminator��quoting)r0r+�
�
� �	�r'�skipinitialspace)r)r6)r+r6�^)r'r))r'r+)r)r+�…)r'r.)r)r.)r+r.)�assertRaises�	TypeError�csv�Error�	QUOTE_ALL�
QUOTE_NONE�
ValueError)r�ctor�args&&&r�_test_arg_valid�Test_Csv._test_arg_valids����S�	����)�T�*����)�T�4�0����)�T���;����)�T�"��=����)�T�2��>����)�T�"��=����)�T�$��?����)�T�4��@����)�T�$��?����#�)�)�T��6����)�T�$��?����)�T�!��<����)�T�1��=����)�T�!��<����)�T�t��D����)�T�q��A����)�T���=����)�T�"%�-�-�2�	�	?����)�T�"%�-�-�4�	�	A����)�T�"%�.�.�B�	�	@����*�d�4��@����*�d�D��A����*�d�4��@����*�d�4��@����*�d�D��A����*�d�4��@��S�C� ��S�S�!��S�C� ��S�D�4�8��S�T�D�9��S�D�4�8��S�C�$�7����*�d�%(�4�	�	A����*�d�$'�$�	�	@��S�C� ��S�S�!��S�C� ����*�d�3�3��O����*�d�3�#��N����*�d�C�3��O��S�F�#��S�V�$��S�F�#��S��(����*�d�$*�6�	�	C����*�d�%+�F�	�	D����*�d�$*�6�	�	Crc��UO[O,2UO[[O[22P!r)rBr;�readerr9rrrs&r�test_reader_arg_valid�Test_Csv.test_reader_arg_validZs.�����S�Z�Z��,����'�3�:�:�{�}�=rc��UO[O[22QQ2oUO	[
[OU22P!)c�2`�\sQs]`sn\Q2sQsUsP!)�1Test_Csv.test_writer_arg_valid.<locals>.BadWriterc��[grrrs&r�write�7Test_Csv.test_writer_arg_valid.<locals>.BadWriter.writeas���
rr)rrrr�propertyrLrrr s@r�	BadWriterrJ`s����
�
��
rrO)rBr;�writerrr9r)rrOs& r�test_writer_arg_valid�Test_Csv.test_writer_arg_valid^s<�����S�Z�Z���4�	�	�	
���'�3�:�:�y�{�;rc���UUoUOUOOQ2UOUOOP	2UOUOO
P2UOUOOQ2UOUOOQ2UOUOO[O2UOUOOP
2UOUOOP
2UO[[UOQ2UO[[ UOQQ2UO[[UOQ2UO[[ UOQP2P!)�,�
�"r'�:r0)�assertEqual�dialectr'�assertIs�doublequoter)r.r+r0r;�
QUOTE_MINIMALr6�strictr9�AttributeError�delattr�setattr)rr@�args�objs&&* r�_test_default_attrs�Test_Csv._test_default_attrsfsB���D�k��������.�.��4��
�
�c�k�k�-�-�t�4�������/�/��6�������3�3�V�<�������.�.��4�������,�,�c�.?�.?�@��
�
�c�k�k�2�2�E�:��
�
�c�k�k�(�(�%�0����.�'�3�;�;��L����.�'�3�;�;��S�Q����.�'�3�;�;�	�J����.�'�3�;�;�#�T�	+rc�H�UO[O,2P!r)rcr;rErs&r�test_reader_attrs�Test_Csv.test_reader_attrsx���� � ����R�0rc�X�UO[O[22P!r)rcr;rPrrs&r�test_writer_attrs�Test_Csv.test_writer_attrs{���� � ����X�Z�8rc���[QP
QQQ[OP	P	Q5oUU-U@oUOUOO
Q2UO
UOOP
2UOUOOQ2UOUOOQ2UOUOOQ2UOUOO[O2UO
UOOP	2UO
UOOP	2P!)rW�\r2�*)r'r[r)r.r+r0r6r])�dictr;r>rXrYr'rZr[r)r.r+r0r6r])rr@ra�kwargsrbs&&*  r�_test_kw_attrs�Test_Csv._test_kw_attrs~s�����4�%)�S�!�n�n�t�!�#���D�#�F�#��������.�.��4��
�
�c�k�k�-�-�u�5�������/�/��6�������3�3�T�:�������.�.��4�������,�,�c�n�n�=��
�
�c�k�k�2�2�D�9��
�
�c�k�k�(�(�$�/rc�H�UO[O,2P!r)rrr;rErs&r�test_reader_kw_attrs�Test_Csv.test_reader_kw_attrs�s�����C�J�J��+rc�X�UO[O[22P!r)rrr;rPrrs&r�test_writer_kw_attrs�Test_Csv.test_writer_kw_attrs�s�����C�J�J��
�3rc��QQ2oV#1*oUUoUOUOOQ2UOUOOP
2UOUOO
Q2UOUOOQ2UOUOOQ2UOUOO[O2UOUOOP	2UOUOOP
2P!)c�L�\sQs]�sQsP
sQsQsQs\	OsP	sP
s
QsP!)�-Test_Csv._test_dialect_attrs.<locals>.dialect�-r7�$�#r)rrrrr'r[r)r.r+r;r=r0r6r]rrrrrYr|�s/���I��K��J��N��I��M�M�G�!���FrrYr}r7r~r)
rXrYr'rZr[r)r.r+r0r;r=r6r])rr@rarYrbs&&*  r�_test_dialect_attrs�Test_Csv._test_dialect_attrs�s���	�	��j� ���D�k��������.�.��4��
�
�c�k�k�-�-�u�5�������/�/��5�������3�3�S�9�������.�.��4�������,�,�c�m�m�<��
�
�c�k�k�2�2�D�9��
�
�c�k�k�(�(�%�0rc�H�UO[O,2P!r)r�r;rErs&r�test_reader_dialect_attrs�"Test_Csv.test_reader_dialect_attrs�rhrc�X�UO[O[22P!r)r�r;rPrrs&r�test_writer_dialect_attrs�"Test_Csv.test_writer_dialect_attrs�rlrc�V�[QQPQ59^tt^2o[OU1-U@oUOU2UO	]2UOUO
2V%OO*2PPP2P!)%fhP!9h��w+�utf-8��encoding�newline)	rr;rP�writerow�seekrX�readrYr.)r�fields�expectrq�fileobjrPs&&&,  r�_write_test�Test_Csv._write_test�ss��
�4�'�2�
>�
>�'��Z�Z��2�6�2�F��O�O�F�#��L�L��O����W�\�\�^�#�n�n�&C�&C�C�
E�	?�
>�
>�
>�s�A5B�B(	� B(	c	��[QQPQ59^tt^2o[OU1-U@oUOU29^tt^2UO	U2PPP2UO]2UO
UO2P2PPP2P!)%fhKK9h)%fhP!9hr�)rr;rPr9r�r�rXr�)r�excr�rqr�rPs&&&,  r�_write_error_test�Test_Csv._write_error_test�s���
�4�'�2�
>�
>�'��Z�Z��2�6�2�F��"�"�3�'�'�����'�(��L�L��O����W�\�\�^�R�0�?�
>�'�'��?�
>�
>�s/�2B2�
B	�9B2�B/
�(B/
�*B2�2C	�;C	c��UO[OP2UO[[	22QQ2oUO[U22QQ2oUO[U2,2P!)Nc�.`�\sQs]�snQsQsQsUsP!)�.Test_Csv.test_write_arg_valid.<locals>.BadListc��]
!)�
rrs&r�__len__�6Test_Csv.test_write_arg_valid.<locals>.BadList.__len__�s��rc�"�U]6�c[gP!)�r)r�is&&r�__getitem__�:Test_Csv.test_write_arg_valid.<locals>.BadList.__getitem__�s���q�5�!�M�rr)rrrrr�r�rrr s@r�BadListr��s����
�
"�
"rr�c�(`�\sQs]�snQsQsUsP!)�.Test_Csv.test_write_arg_valid.<locals>.BadItemc��[grrrs&r�__str__�6Test_Csv.test_write_arg_valid.<locals>.BadItem.__str__�����
rr)rrrrr�rrr s@r�BadItemr�������
�
rr�)r�r;r<rr)rr�r�s&  r�test_write_arg_valid�Test_Csv.test_write_arg_valid�sf�����s�y�y�$�/����w��
�6�	"�	"�	
���w��	�2�	�	�	
���w����4rc�N�QQ*oUOV,U8QU802P!)�X�P�rT)r�)r�	bigstrings& r�test_write_bigfield�Test_Csv.test_write_bigfield�s(���%�K�	����)�.�#�Y�10�	1rc�D�UO,Q	NQ2UO[O,Q	N[OQ5UO,Q	NQ[O
Q5UO,Q	NQ[OQ5UO,Q	NQ[OQ5UOQ],Q[OQ5UO,Q
NQ[OQ5UO,Q
NQ[OQ5P!)�a�	a,1,"p,q"r/z"a",1,"p,q"z
"a","1","p,q"�a
bz	"a
b","1"z	"a","",,1z"a","",,"1"�r��zp,q)r��Nr�)
r�r�r;r<r>r\�QUOTE_NONNUMERICr=�
QUOTE_STRINGS�
QUOTE_NOTNULLrs&r�test_write_quoting�Test_Csv.test_write_quoting�s��������4����s�y�y�-�),���	�	9������#&�#4�#4�	�	6�����
�#&�#7�#7�	�	9������#&�=�=�	�	2����&���\�#&�=�=�	�	2�����+�#&�#4�#4�	�	6�����-�#&�#4�#4�	�	6rc���UO,QNQQQ5UO[O,QNPP
Q5UO,QNQQP
Q5UOQ,QQ[OQ5UOQ,Q	Q[OP
Q
5UOQ,Q	Q[O
Q5UO,QNQQ[O
Q5UOQQ,QQ[O
Q5UOQQ,QQ[OQ5UOQQ,Q
Q[OQ5UOQQ,QQ[OQ5UOQQ,QQ[O
Q5UOQQ,QQ[OQ5UO,QNQQ[OQ5P!)r�r�rnr()r)r[z
a,1,"p,\"q\""rV�"""")r)r0z\")r)r0r[za,1,p\,qz\\,az"\\","a"z\ z\\ ,az\,z\\\,,az,\z",\\",az
C\\,6,7,"X"""r�)r�r�zp,"q")zC\�6�7zX")r�r�r;r<r\r>r=rs&r�test_write_escape�Test_Csv.test_write_escape�s��������$(�	�	*����s�y�y�/�*.�E�	�	C�����*;�$(��	�	?����#���$(�C�4E�4E�	�	G����#���$(�C�4E�4E�',�	�	.�	
���#���$(�C�N�N�	�	D������$(�C�N�N�	�	D����$���h�$(�#�.�.�	�	B����$���h�$(�#�2C�2C�	�	E����$���l�$(�#�-�-�	�	A����%���y�$(�#�2C�2C�	�	E����%���{�$(�#�.�.�	�	B����%���{�$(�#�2C�2C�	�	E����0�2C�$(�#�2C�2C�	�	Erc���Q	FD�oUOUQ59^tt^2[29^tt^2o[OV!Q5oUO	QQ,2UO	]],2UO	QQ,2UOUO
2QUQUQU02PPP2PPP2J�	P!)%fhK9h)%fhJ�9h)
rUr1r2r-r��b�a,bz1,2z"
","
")rUr1r2z!@#�)�subTestrr;rPr�rX�getvalue)rr.�siorPs&   r�test_write_lineterminator�"Test_Csv.test_write_lineterminators���=�N����^��<�<��Z�Z�3� �Z�Z��K�F��O�O�S�#�J�/��O�O�Q��F�+��O�O�T�4�L�1��$�$�S�\�\�^�'*�>�*:�'*�>�*:�'0��0@�&B�C� �=�<�>��Z��=�<�<�s/�C	�A:C
�/C	�C�C�C	�C)
�!C)
c��UO[,QN2Q2UO[,QN2Q2UO[,2P2UO[P,2Q2UO[O[P,2[O
Q5UO[PP,2Q2P!)r�r�za,1,�""r/rTr�)r�r�N)r��iterr�r;r<r>rs&r�test_write_iterable�Test_Csv.test_write_iterables�������o�.��<�����n�-�v�6�����b��2�&�����t�f��t�,����s�y�y�$��v�,�����O�����t�T�l�+�S�1rc��QQ2o[OU22oUO[UOQ,,2[QQPQ59^tt^2o[OU2oUO[UOP2UO	QQ,QQ,,2UO]2UOUO2Q	2PPP2P!)%fhP!9h)
c�(`�\sQsQsnQsQsUsP!)�+Test_Csv.test_writerows.<locals>.BrokenFile�c��[grr)r�bufs&&rrL�1Test_Csv.test_writerows.<locals>.BrokenFile.writer�rr)rrrrrLrrr s@r�
BrokenFiler�r�rr�r�r�r�r�r��c�dz
a,b
c,d
)
r;rPr9r�	writerowsrr:r�rXr�)rr�rPr�s&   r�test_writerows�Test_Csv.test_writerowss���	�	����J�L�)�����'�6�#3�#3�s�e�W�=�
�4�'�2�
>�
>�'��Z�Z��(�F����i��)9�)9�4�@����s�C�j�3��*�5�6��L�L��O����W�\�\�^�-=�>�?�
>�
>�
>�s� BC*�*C;	�3C;	c�d�[QQPQ59^tt^2o[OU2oUOQP,PQ,,2UO	]2UOUO
2Q2PPP2[QQPQ59^tt^2o[OU2oUOP,Q,,2UO	]2UOUO
2Q2PPP2[QQPQ59^tt^2o[OU2oUOQ,P,,2UO	]2UOUO
2Q2PPP2P!)%fhCK	9h)%fhK�9h)%fhP!9h)r�r�r�r�r�za,
,d
z""
a
za
""
)rr;rPr�r�rXr��rr�rPs&  r�test_writerows_with_none�!Test_Csv.test_writerows_with_none)s@��
�4�'�2�
>�
>�'��Z�Z��(�F����s�D�k�D�#�;�7�8��L�L��O����W�\�\�^�^�<�	?��4�'�2�
>�
>�'��Z�Z��(�F����t�f�s�e�_�-��L�L��O����W�\�\�^�]�;�	?��4�'�2�
>�
>�'��Z�Z��(�F����s�e�d�V�_�-��L�L��O����W�\�\�^�]�;�	?�
>�?�
>�
>��?�
>��?�
>�
>�s8�AE7�AF�AF�7F	�F	�F	�F	�F/	�'F/	c���UOQP2UOP,Q2UO[OP,[OQ5UOP,Q[O
Q5UOP,Q[OQ5UOP,Q2UO[OP,[OQ5UO[OP,[O
Q5UO[OP,[OQ5UOPP,Q2UOPP,Q2P!)r�r�r/rTr)r�r�r;r<r>r�r�rs&r�test_write_empty_fields� Test_Csv.test_write_empty_fields=s������R� ����"��t�$����s�y�y�2�$�����G����"��t�S�->�->��?����"��t�S�->�->��?����$���&����s�y�y�4�&�#�.�.��I����s�y�y�4�&�#�:K�:K��L����s�y�y�4�&�#�:K�:K��L����"�b��3�'����$���s�+rc
��UOP,QQP
Q5UOP,QQP	Q5UOP,QQP
Q5UOP,QQP	Q5UOPP,QQP
Q5UOPP,QQP	Q5UOPP,QQP
Q5UOPP,QQP	Q5UOPP,QQP
[OQ5UO[OPP,QP	[OQ5[O
[O1FD3oUOPP,QQP
UQ5UOPP,QQP	UQ5J5	[O[O
[O1FDAoUOPP,QQP
UQ5UO[OPP,QP	UQ5JC	P!)r�r�r3r5z"" "")r'r6r0)r�r;r>r�r<r�r�)rr0s& r�'test_write_empty_fields_space_delimiter�0Test_Csv.test_write_empty_fields_space_delimiterJs������"��t�s�U��K����"��t�s�T��J����$����u��M����$����t��L����"�b��3�#���N����"�b��7�c�D��Q����$���s�c�E��R����$���w�#�PT��U����"�b��3�#��!$���	�	1����s�y�y�2�r�(�),�t�'*�~�~�	�	7��(�(�#�*;�*;�;�G����b�"�X�w�#�PU�%,�
�
.����b�"�X�w�#�PT�%,�
�
.�<��~�~�s�'8�'8�#�:K�:K�K�G����d�D�\�3�#�PU�%,�
�
.��"�"�3�9�9�t�T�l�-0�4�+2�
#�
4�Lrc�.�[QQPQ59^tt^2o[OU2oUO[UO
P2UO[UO
[22PPP2P!)%fhP!9hr�)rr;rPr9r:r�rrr�s&  r�test_writerows_errors�Test_Csv.test_writerows_errorsgsb��
�4�'�2�
>�
>�'��Z�Z��(�F����i��)9�)9�4�@����g�v�'7�'7���G�?�
>�
>�
>�s�A!B�B	�B	c�p�[OU1-U@o[U2oUOVR2P!r)r;rE�listrX)r�inputr�rqrE�results&&&,  r�
_read_test�Test_Csv._read_testms,�����E�,�V�,���f�������(rc�:�UO,,2UOP,,,2UO[OUOQ,P]Q5UOQ,Q,,]Q5UO[OUOQ,P2P!)r�z"ab"c�r]�abc)r[sabc�r�r9r;r<rs&r�test_read_oddinputs�Test_Csv.test_read_oddinputsrs�������B�������r�d�#����#�)�)�T�_�_�"�)�T�A�	�	7�����	�U�G�9�A��>����#�)�)�T�_�_�!�(�D�	*rc�6�UOQQ,QQ,QQ,,2UOQQ,QQ,QQ,,2UOQQ	,QQ,QQ,,2UOQ
Q,QQ,QQ,,2QoUO[OU29^tt^2[	[O
Q
,22PPP2UO[OU29^tt^2[	[O
Q,22PPP2UO[OU29^tt^2[	[O
Q,22PPP2P!)%fhK�9h)%fhKv9h)%fhP!9h)r�zc,dr�r�r�r�za,b
zc,d
za,b
zc,d
za,b
zc,d
zwith newline=''za,b
c,dza,b
c,dza,b
c,d)r��assertRaisesRegexr;r<�nextrE)r�errmsgs& r�
test_read_eol�Test_Csv.test_read_eol|s0��������#�c��S��I�(>�?�����'�*�c�#�Y��S�	�,B�C�����I�.�#�c��S��I�0F�G�����'�*�c�#�Y��S�	�,B�C�"��
�
#�
#�C�I�I�v�
6�
6�����Z�L�)�*�7�
�
#�
#�C�I�I�v�
6�
6�����Z�L�)�*�7�
�
#�
#�C�I�I�v�
6�
6�����\�N�+�,�7�
6�	7�
6��
6�
6��
6�
6�
6�s6�!E!�%!E4�6!F�!E1	�*E1	�4F	�=F	�F	�F	c	��UOQ,QP,,2UOQ,Q,,2UOQ,Q,,QQ5UO[OUOQ,,P	Q5UO[OUOQ,,P	Q5UO[OUOQ,,QP	Q5P!)za,"r�z"ar7r1r(r�)r)r]r�rs&r�
test_read_eof�Test_Csv.test_read_eof�s��������3��)��-������#���(��������x�C��8����#�)�)�T�_�_�u�g�r�$��O����#�)�)�T�_�_�t�f�b���N����#�)�)�T�_�_��%���D�	�	Brc���UOQ,Q,,2UOQ,,QN,2UOQ,,QN,2UOQ,,QN,QQ5UOQ,,QN,2P!)	r��a,b,cza,b,cza,b\,crnr(za,"b",c)r�zbr�)r�zbr��r�rs&r�
test_read_nul�Test_Csv.test_read_nul�sj�������$���)������&7�%8�9������&7�%8�9�����
�(9�':�t��L�����
�(9�':�;rc��UOQ,,QN,2UOQ,,QN,QQ5UOQ,,QN,QQ5P!)za,b,cza;b;c�;r&zabcr��r�r�r�r	rs&r�test_read_delimiter�Test_Csv.test_read_delimiter�sC������	�O�#4�5�����	�O�#4���D������o�%6�$��Grc���UOQ,,QN,QQ5UOQ,QQ,,QQ5UOQ,QQ,,QQ5UOQ,QQ,,QQ5UOQ,QQ	,,QQ5UOQ
,QQ,,QQ5UOQ,,QN,Q
Q5UOQ,,QN,QQ5UOQ,,QN,PQ5UOQ,,QN,2P!)za,\b,cr�rnr(za,b\,czb,cza,"b\,c"za,"b,\c"z	a,"b,c\""zb,c"za,"b,c"\zb,c\za,^b,cr7rr�r)r�z\br�r	rs&r�test_read_escape�Test_Csv.test_read_escape�s��������o�%6�4��H������s�E�l�^���E�����
��e��~�$��G�����
��e��~�$��G������#�v���D��I�����
��g��'7�D��I�����
�_�$5�#��F������o�%6�4��H������&7�%8�T��J������&7�%8�9rc��UOQ,,QN,2UOQ,,QN,PQQ5UOQ,,QN,[OQQ5UOQ,,QN,[OQ5UOQ,,QN,[OQ5UOQ,,QN,[O
Q5UOQ,,QN,2UOQ,,QN,[OQ5UOQ,,QN,[OQ5UOQ,,QN,[O
Q5UOQ,QQ	,,2UO
[UOQ
,,,[OQ5UO
[UOQ
,,,[O
Q5UOQ,,QN,QQ
5UOQ,,QN,QQ
5UOQ,,QN,[OQQ5UOQ,,QN,[O
QQ5P!)z	1,",3,",5rn)r+r)�r0r)z
,3,"5",7.3, 9r/z,,"",z"a
b", 7r�z 7zabc,3z	1,@,3,@,5�@r*z	1,,3,,5r�z1\.5,\.5,.5z1\.5,\.5,"\.5")�1z,3,�5)rrV�3rVr)r��r�333333@�	)Nrrz7.3z 9)Nrrrr)r�r�r�r�)NNr�N)��?��?r)rrz.5)r�r;r>r�r�r�r9r?rs&r�test_read_quoting�Test_Csv.test_read_quoting�sE������
�(9�':�;�����
�(A�'B�"&�4�	�	9�����
�(A�'B� #���4�	�	A�	
����)�,@�+A� #� 4� 4�	�	6�����)�,I�+J� #� 1� 1�	�	3�����)�,B�+C� #� 1� 1�	�	3�	
����	�$4�#5�6�����	�$4�#5� #� 4� 4�	�	6�����	�$:�#;� #� 1� 1�	�	3�����	�$:�#;� #� 1� 1�	�	3�	
����
����'7�8����*�d�o�o�"�)�b�T�"%�"6�"6�	�	8�	
���*�d�o�o�"�)�b�T�"%�"3�"3�	�	5�	
����
�(9�':�c��J������*;�)<���M�����)�O�+<� #� 4� 4��	�	G����,�-�0@�/A� #� 1� 1�d�	�	Drc��UOQ,,QN,P	Q5UOQ,,QN,P	Q5UOQ,,QN,P	[OQ5UOQ,,QN,P	[OQ5P!)zno space, space,  spaces,	tab�r6z , , )r6r0)zno space�space�spacesz	tab�r�r�r�)NNN)r�r;r�r�rs&r�test_read_skipinitialspace�#Test_Csv.test_read_skipinitialspace�s������9�:�A�B�)-�	�	/�	
����	�%��)-�	�	/�	
����	�+�,�)-�s�7H�7H�	�	J�	
����	�+�,�)-�s�7H�7H�	�	Jrc��UO,QN,QN,QN,QN,,QP
Q5UO,QNQQ,QP,P,,,QP	Q5P!)	�a   br�r�r3r5)r)z  a  z  r�)r�r�r�r�)r�r�r�r�r�r%r	rs&r�test_read_space_delimiter�"Test_Csv.test_read_space_delimiter�sZ�����4�+�-B�L�RT�U�"%��	�	?�	
���4��s��c�2�Y���b�9�"%��	�	>rc��[O2oQoQU*oU8QU80oUOU,V3,,2[OU2UOU,V3,,2UO[O2U2[OU]*
2UO	[O
UOU,,2UO	[[OP2UO	[[O]P2[OU2P![OS2h9h)r�r�rT)r;�field_size_limitr�rXr9r<r:)r�limit�sizer��biglines&    r�test_read_bigfield�Test_Csv.test_read_bigfield�s���$�$�&��
	(��D��d�
�I�!*�I�6�G��O�O�W�I��(>�'?�@�� � ��&��O�O�W�I��(>�'?�@����S�1�1�3�T�:�� � ��a��(����c�i�i����7�)�R�H����i��)=�)=�t�D����i��)=�)=�q�$�G�� � ��'��C� � ��'�s�DD>�>Ec���[O,QN2oUOUO]2[	U2UOUO]2[	U2UOUO]2[	U2UOUO]2UO[[U2UOUO]2P!)�line,1)r4zline,2zline,3)r;rErX�line_numrr9�
StopIteration)r�rs& r�test_read_linenum�Test_Csv.test_read_linenum�s����J�J�5�6��������Q�'��Q��������Q�'��Q��������Q�'��Q��������Q�'����-��q�1�������Q�'rc
�
�,QN,QN,QN,QN,Q	N,Q
N,oQFD�oUOUQ59^tt^2[QQPQ59^tt^2o[OV2Q5oUO	U2UO]2[
[OU22FDvqVUOVaU*2J	PPP2PPP2J�	P!)%fhK9h)%fhJ�9h)�
ar-r�r�r��r;zb
czd
�z
ezf
gzh
�z
izj
kzl
�z

mzn

ozp

�z

qzr

szt

�z

uzv

wzx

�rUr1r2)	r�rr;rPr�r��	enumeraterErX�r�rowsr.r�rPr��rows&      r�test_roundtrip_quoteed_newlines�(Test_Csv.test_roundtrip_quoteed_newliness���"�"�(�(�(�(�

��1�N����^��<�<�"�4�'�2�F�F�'� �Z�Z��O�F��$�$�T�*��L�L��O�"+�C�J�J�w�,?�"@����(�(��1�g�6�#A�	G�=�<�1�F�F��=�<�<�s0�C1	�
A;C
�C1	�C.�'C.�)C1	�1D
�:D
c�N�,QN,Q	N,Q
N,QN,QN,Q
N,oQFD�oUOUQ59^tt^2[QQPQ59^tt^2o[OV2[OQQ5oUOU2UO
]2[[OU[OQQ52FDvqVUOVaU*2J	PPP2PPP2J�	P!)%fhK9h)%fhCJ9h)r;r-r�r�r�rn)r.r0r)rr<r=r>r?r@rArB)
r�rr;rPr>r�r�rCrErXrDs&      r�(test_roundtrip_escaped_unquoted_newlines�1Test_Csv.test_roundtrip_escaped_unquoted_newliness���"�"�(�(�(�(�

��1�N����^��<�<�"�4�'�2�F�F�'� �Z�Z��03���4�Q�F��$�$�T�*��L�L��O�"+�C�J�J�w�?B�~�~�BF�-H�#I����(�(��1�g�6�#I�G�=�<�1�F�F��=�<�<�s0�D	�
BC?
�)D	�?D�D�
D	�D$
�D$
c��QQ2oU2o[OU2oV2mUO[O29^tt^2[	U2PPP2P!)%fhP!9h)c�4`�\sQsQsnQsQsQsQsUsP!)�>Test_Csv.test_reader_reentrant_iterator.<locals>.ReentrantIter�.c�$�PUm]UmP!r)rE�nrs&r�__init__�GTest_Csv.test_reader_reentrant_iterator.<locals>.ReentrantIter.__init__/s��"�����rc��U!rrrs&rr�GTest_Csv.test_reader_reentrant_iterator.<locals>.ReentrantIter.__iter__2s���rc���U9O]*
tmUO]6Xc[UO2Q!UO]6XcQ![g[cQ!h9h)r�r��x)rQrrEr6rs&r�__next__�GTest_Csv.test_reader_reentrant_iterator.<locals>.ReentrantIter.__next__4s[�����!����6�6�Q�;���T�[�[�)�!��6�6�Q�;��#�#��)��� ��s�A�	A,�'A,�+A,)rQrE)	rrrrrRrrXrrr s@r�
ReentrantIterrN.s����
�
�

$�

$rrZ)r;rEr9r<r)rrZ�itrEs&   r�test_reader_reentrant_iterator�'Test_Csv.test_reader_reentrant_iterator,sR��	$�	$�$�_�����B����	�
�
�
�s�y�y�
)�
)���L�*�
)�
)�
)�s�A,�,A=	�5A=	r)/rrrr�__doc__rBrFrQrcrfrjrrrurxr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr
rrrr&r*r1r8rGrJr\rrr s@rr#r#s������
9C�v>�<�+�$1�9�0� ,�4�1�,1�9�E�1�5�1�6�"E�>C�2�?�<�(,�4�:H�)�
*�-�B�<�H�

:�"D�HJ�>�(�&
(�7�$7�,�rr#c�^`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsUsP!)
�TestDialectRegistry�Gc�$�UO[[OP2UO[[O2UO[O
[OP2UO[O
[OQ2UO[[O2UO[O
[OP2UO[O
[OQ2UO[[OP2UO[[OPP2UO[[OQ]]2UO[[OQPQ5UO[[OQPQ5UO[[O,2P!)N�nonesuch)�badargumentr/)r9r:r;�
list_dialects�get_dialectr<�unregister_dialect�register_dialectrs&r�test_registry_badargs�)TestDialectRegistry.test_registry_badargsHsZ�����)�S�%6�%6��=����)�S�_�_�5����#�)�)�S�_�_�d�;����#�)�)�S�_�_�j�A����)�S�%;�%;�<����#�)�)�S�%;�%;�T�B����#�)�)�S�%;�%;�Z�H����)�S�%9�%9�4�@����)�S�%9�%9�4��F����)�S�%9�%9�:�q�!�L����)�S�%9�%9�:�&*�	�	,����)�S�%9�%9�:�"&�	�	(����)�S�%9�%9�2�>rc���QQ[O2oQo[O2U,*oUO2[OV!2UO[OU2UO[OU2OQ2[[O22oUOV42P!)c��\sQsQsQsQsP!)�5TestDialectRegistry.test_registry.<locals>.myexceltsv�Zr4r�rrrrr'rrrr�
myexceltsvrmZ����Irrpr4)r;�excelre�sortrh�
addCleanuprgrXrfr'�sorted)rrp�name�expected_dialects�got_dialectss&    r�
test_registry�!TestDialectRegistry.test_registryYs���	����	����-�-�/�4�&�8����� ����T�.�����.�.��5��������.�8�8�$�?��c�/�/�1�2�����*�9rc	�D�Qo[OUQQ5UO[OU2UO	[O
U2OQ2UO	,QN,[[OQ,U222P!)�fedcbar
r&zX;Y;Z)r��Y�Z)	r;rhrtrgrXrfr'r�rE�rrvs& r�test_register_kwargs�(TestDialectRegistry.test_register_kwargseso�������T�S�1�����.�.��5��������.�8�8�#�>����/�*�D����W�I�t�1L�,M�Nrc�l�QQ[O2oQo[OV!QQP
P	Q[OQ5UO	[O
U2[OU2oUOUOQ2UOUOQ2UOUOP
2UOUOP	2UOUOQ2UOUO[O2P!)c�D�\sQsQsQsQsP	sP
sQs\	OsQsP!)�DTestDialectRegistry.test_register_kwargs_override.<locals>.mydialect�mr4rVrUr)
rrrrr'r+r[r6r.r;r\r0rrrr�	mydialectr�ms'���I��I��K�$��#�N��'�'�Grr��test_dialectr
�'r1)r'r+r[r6r.r0)r;�Dialectrhr=rtrgrfrXr'r+r[r6r.r0)rr�rvrYs&   r�test_register_kwargs_override�1TestDialectRegistry.test_register_kwargs_overridels���	(����	(������T�'*�'*�).�.2�,0�%(�]�]�
	4�	
����.�.��5��/�/�$�'������*�*�C�0�����*�*�C�0�����,�,�e�4�����1�1�4�8�����/�/��6�������#�-�-�8rc�z�QQ[O2oUO[OU2P!)c��\sQsQsQsQsP!)�?TestDialectRegistry.test_incomplete_dialect.<locals>.myexceltsv�r4rrorrrrpr��rqrrp)r;r�r9r<)rrps& r�test_incomplete_dialect�+TestDialectRegistry.test_incomplete_dialect�s&��	����	����#�)�)�Z�0rc��QQ[O2o[QQQ59^tt^2oUOQ2UO	]2[O
V!2Q5oUO
[U2,Q	N2UO
[U2QQ,2PPP2P!)%fhP!9h)
c�8�\sQsQsQs\OsQsQs	P!)�5TestDialectRegistry.test_space_dialect.<locals>.space�r3rnr)
rrrrr'r;r>r0r)rrrrr#r��s���I��n�n�G��Jrr#r�r��r�zabc   def
c1ccccc1 benzene
�rY�c1ccccc1�benzene)r�r�r��def)r;rrrrLr�rErXr)rr#r�rEs&   r�test_space_dialect�&TestDialectRegistry.test_space_dialect�s���	�C�I�I�	�
�4�'�
2�
2�g��M�M�9�:��L�L��O��Z�Z����9�F����T�&�\�+A�B����T�&�\�J�	�+B�C�3�
2�
2�
2�s�A9B3�3C	�<C	c�,�[QPQQ59^tt^2o[OU,UN3-U@oUO,QN2UO	]2UOUO
2U2PPP2P!)%fhP!9h)r�r��r�r��r�r�r)rr;rPr�r�rXr�)r�expected�	writeargs�kwwriteargsr�rPs&&*,  r�compare_dialect_123�'TestDialectRegistry.compare_dialect_123�sg��
�4��g�
>�
>�'��Z�Z��C�)�C�{�C�F��O�O�G�$��L�L��O����W�\�\�^�X�6�?�
>�
>�
>���A B�B	�B	c��QQ[O2oQQ[O2oQQ[O2oQQ[O2oQQ	2o[OQU2UOQ
2UOQ
PQ5UOQ
UQ5UOQU2UOQ
U2Q5UOQQQ5UOQUQQ5UOQUQ5[OQ2P![OQ2h9h)c��\sQsQsQsQsP!)�5TestDialectRegistry.test_dialect_apply.<locals>.testA�r4rrorrr�testAr��rqrr�c��\sQsQsQsQsP!)�5TestDialectRegistry.test_dialect_apply.<locals>.testB�rWrrorrr�testBr������Irr�c��\sQsQsQsQsP!)�5TestDialectRegistry.test_dialect_apply.<locals>.testC��|rrorrr�testCr��r�rr�c��\sQsQsQsQsP!)�7TestDialectRegistry.test_dialect_apply.<locals>.testUni�uΛrrorrr�testUnir��s�� �Irr�c��\sQsQsQsP!)�;TestDialectRegistry.test_dialect_apply.<locals>.unspecified�r�rrrrrrrr�unspecifiedr��s��rr�z1,2,3
r�z1	2	3
z1:2:3
z1|2|3
z1;2;3
r
)rYr'u	1Λ2Λ3
)r;rrrhr�rg)rr�r�r�r�r�s&     r�test_dialect_apply�&TestDialectRegistry.test_dialect_apply�s!��	�C�I�I�	�	�C�I�I�	�	�C�I�I�	�	!�c�i�i�	!�	�	�	���W�e�,�
	,��$�$�[�1��$�$�[�$�$�?��$�$�[�+�$�F��$�$�]�E�:��$�$�[�%�'�$�B��$�$�[�'�$�B��$�$�[�%�/2�
%�
4��$�$�%:�-4�
%�
6�
�"�"�7�+��C�"�"�7�+�s
�BD;�;Ec��[O2FD>o[OU2oUO[[
O
U2J@	P!r)r;rerfr9r:�copy)rrvrYs&  r�	test_copy�TestDialectRegistry.test_copy�s9���%�%�'�D��o�o�d�+�G����i����G�<�(rc
��[O2FDfo[OU2o[[O
]*2FD(oUO
[[OV#2J*	Jh	P!)r�)	r;rerf�range�pickle�HIGHEST_PROTOCOLr9r:�dumps)rrvrY�protos&   r�test_pickle�TestDialectRegistry.test_pickle�sS���%�%�'�D��o�o�d�+�G��v�6�6��:�;���!�!�)�V�\�\�7�J�<�(rr)rrrrriryr�r�r�r�r�r�r�r�rrr s@rr`r`Gs@����?�"
:�O�9�81�
D�7�,�<=�
K�Krr`c�.`�\sQsQsnQsQsQsUsP!)�TestCsvBase��c�,�[QQPQ59^tt^2oUOU2UO]2[OV0O
Q5o[
U2oUOVR2PPP2P!)%fhP!9h�r�r�r�r�)rrLr�r;rErYr�rX)rr��expected_resultr�rEr�s&&&   r�readerAssertEqual�TestCsvBase.readerAssertEqual�sb��
�4�'�2�
>�
>�'��M�M�%� ��L�L��O��Z�Z��<�<�@�F��&�\�F����V�5�?�
>�
>�
>�r�c�4�[QQPQ59^tt^2o[OV0OQ5oUO	U2UO]2UO
UO2U2PPP2P!)%fhP!9hr�)rr;rPrYr�r�rXr�)rr�r�r�rPs&&&  r�writerAssertEqual�TestCsvBase.writerAssertEqual�sc��
�4�'�2�
>�
>�'��Z�Z��<�<�@�F����U�#��L�L��O����W�\�\�^�_�=�	?�
>�
>�
>�s�A$B�B	�B	r)rrrrr�r�rrr s@rr�r��s����6�>�>rr�c�`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsUsP!)�TestDialectExcel��rrc�0�UOQQ,,2P!)r��r�rs&r�test_single�TestDialectExcel.test_single�������u��w�i�0rc�2�UOQ,QN,2P!)z	1,2,3,4,5)r�2r�4rr�rs&r�test_simple�TestDialectExcel.test_simple�s�����{�-B�,C�Drc�,�UOP,2P!�r�r�rs&r�test_blankline�TestDialectExcel.test_blankline�������r�2�&rc�2�UOQPP,,2P!)rTr�rs&r�test_empty_fields�"TestDialectExcel.test_empty_fields�s�����s�b�"�X�J�/rc�0�UOQP,,2P!)r�r�rs&r�test_singlequoted�"TestDialectExcel.test_singlequoted�s�����t�r�d�V�,rc�2�UOQPP,,2P!)�"",r�rs&r�test_singlequoted_left_empty�-TestDialectExcel.test_singlequoted_left_empty�������u��2�w�i�0rc�2�UOQPP,,2P!)z,""r�rs&r�test_singlequoted_right_empty�.TestDialectExcel.test_singlequoted_right_empty�r�rc�0�UOQQ,,2P!)r�rVr�rs&r�test_single_quoted_quote�)TestDialectExcel.test_single_quoted_quote�s�����v���w�/rc�0�UOQQ,,2P!)z""""""r�r�rs&r�test_quoted_quotes�#TestDialectExcel.test_quoted_quotes�s�����x�4�&��2rc�0�UOQQ,,2P!)za""br�rs&r�test_inline_quote�"TestDialectExcel.test_inline_quote�������v���z�2rc�0�UOQQ,,2P!)za"b"cr�rs&r�test_inline_quotes�#TestDialectExcel.test_inline_quotes�s�����w�'���4rc�0�UOQQ,,2P!)z"a"b�abr�rs&r�test_quotes_and_more�%TestDialectExcel.test_quotes_and_mores��	
���v���x�0rc�0�UOQQ,,2P!)za"br�rs&r�test_lone_quote� TestDialectExcel.test_lone_quoter�rc�0�UOQQ,,2P!)z"a" "b"za "b"r�rs&r�test_quote_and_quote�%TestDialectExcel.test_quote_and_quotes��	
���y�G�9�+�6rc�0�UOQQ,,2P!)z "a"r�rs&r�test_space_and_quote�%TestDialectExcel.test_space_and_quote
rrc�2�UOQ,QN,2P!)z#1,2,3,"I think, therefore I am",5,6)rr�rzI think, therefore I amrr�r�rs&r�test_quoted�TestDialectExcel.test_quoteds�����D�!+� ,�	-rc�2�UOQ,QN,2P!)zJ1,2,3,"""I see,"" said the blind man","as he picked up his hammer and saw")rr�rz"I see," said the blind manz"as he picked up his hammer and sawr�rs&r�test_quoted_quote�"TestDialectExcel.test_quoted_quotes �����k�!G� H�	Irc�<�QoUOU,QN,QN,2P!)zR1,2,3,"""I see,""
said the blind man","as he picked up his
hammer and saw"
9,8,7,6)rr�rz"I see,"
said the blind manz"as he picked up his
hammer and saw)�9�8r�r�r�)rr�s& r�test_quoted_nl�TestDialectExcel.test_quoted_nls+����
	
���u�!J�!2� 3�	4rc�2�UOQ,QN,2P!)z	12,12,1",)�12rz1"r�r�rs&r�test_dubious_quote�#TestDialectExcel.test_dubious_quote(s�����{�-C�,D�Erc�,�UO,P2P!r��r�rs&r�	test_null�TestDialectExcel.test_null+r�rc�0�UOQ,,Q2P!)r�zabc
r!rs&r�test_single_writer�#TestDialectExcel.test_single_writer.s�������y�)�4rc�2�UO,QN,Q2P!)r�z
1,2,abc,3,4
)r�r�r�r�r!rs&r�test_simple_writer�#TestDialectExcel.test_simple_writer1s����� 3�4�6G�Hrc�2�UO,QN,Q2P!)r�z1,2,"a""bc""",3,4
)r�r�za"bc"rr(r!rs&r�test_quotes�TestDialectExcel.test_quotes4������ 5�6�8O�Prc�0�UOQ,,Q2P!��abc,defz"abc,def"
r!rs&r�test_quote_fieldsep�$TestDialectExcel.test_quote_fieldsep7��������}�o�>rc�2�UO,QN,Q2P!)r�z1,2,"a
bc",3,4
)r�r�za
bcrr(r!rs&r�
test_newlines�TestDialectExcel.test_newlines:s����� 5�6�8M�Nrr) rrrrrYr�r�r�r�r�r�r�r�r�r�rrr	rrrrrrr"r%r)r,r2r6rrr s@rr�r��s������G�1�E�'�0�-�1�1�0�3�3�5�1�
1�7�
3�-�I�
4�F�'�5�I�Q�?�O�Orr�c�4�\sQsQs\O
sQsQsP!)�EscapedExcel�=rnr)	rrrrr;r>r0r)rrrrr9r9=s���n�n�G��Jrr9c�<`�\sQsQsn\2sQsQsQsUs	P!)�TestEscapedExcel�Ac�0�UOQ,,Q2P!)r1�
abc\,def
r!rs&r�test_escape_fieldsep�%TestEscapedExcel.test_escape_fieldsepDr4rc�0�UOQQ,,2P!)r?r1r�rs&r�test_read_escape_fieldsep�*TestEscapedExcel.test_read_escape_fieldsepGs������)��
�>rr)
rrrrr9rYr@rCrrr s@rr<r<As�����n�G�?�?�?rr<c�2`�\sQsQsnQsQsQsQsUsP!)�TestDialectUnix�J�unixc�2�UO,QN,Q2P!)r��"1","abc def","abc"
)r��abc defr�r!rs&rr)�"TestDialectUnix.test_simple_writerMr.rc�2�UOQ,QN,2P!)rJ)rrKr�r�rs&r�test_simple_reader�"TestDialectUnix.test_simple_readerPs�����6�9P�8Q�Rrr)	rrrrrYr)rNrrr s@rrFrFJs�����G�Q�S�SrrFc�4�\sQsQs\O
sQsQsP!)�QuotedEscapedExcel�Srnr)	rrrrr;r�r0r)rrrrrQrQSs���"�"�G��JrrQc�<`�\sQsQsn\2sQsQsQsUs	P!)�TestQuotedEscapedExcel�Wc�0�UOQ,,Q2P!r0r!rs&r�test_write_escape_fieldsep�1TestQuotedEscapedExcel.test_write_escape_fieldsepZr4rc�0�UOQQ,,2P!)z"abc\,def"
r1r�rs&rrC�0TestQuotedEscapedExcel.test_read_escape_fieldsep]s�����0�I�;�-�@rr)
rrrrrQrYrWrCrrr s@rrTrTWs���� �"�G�?�A�ArrTc�`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsUsP!)�TestDictFields�`c���[QQPQ59^tt^2o[OU,QNQ5oUO2oUO	U]
2PPP2P!)%fhP!9h)r�r�r���
fieldnames��f1�f2�f3)rr;�
DictWriter�writeheaderrX)rr�rP�writeheader_return_values&   r�test_writeheader_return_value�,TestDictFields.test_writeheader_return_valuecsS��
�4�'�2�
>�
>�'��^�^�G�:L�M�F�'-�'9�'9�';�$����5�r�:�?�
>�
>�
>�s�=A�A0	�(A0	c���[QQPQ59^tt^2o[OU,Q	NQ5oUO2UO	]2UOUO
2Q2UOQ]
QQ-2UO	]2UO
2UOUO2Q2PPP2P!)%fhP!9h)
r�r�r�rbrdr_�
f1,f2,f3
r�z	10,,abc
ra)	rr;rerfr�rX�readliner�r�r�s&  r�test_write_simple_dict�%TestDictFields.test_write_simple_dictis���
�4�'�2�
>�
>�'��^�^�G�:L�M�F���� ��L�L��O����W�-�-�/��@��O�O�T�2�t�U�3�4��L�L��O��������W�\�\�^�]�;�?�
>�
>�
>�s�B2C�C%	�C%	c	�.�[2o[OU,Q	NQ5oUO2UO	UO2Q2UO
Q]QQQQ-Q]Q]QQ-,2UO	UO2Q2P!)
rbrcrdr_rkr��f�xyzzf1,f2,f3
1,abc,f
2,5,xyz
ra)rr;rerfrXr�r�r�s&  r�test_write_multiple_dict_rows�,TestDictFields.test_write_multiple_dict_rowsts����*������4F�G����������)�)�+�^�<����4��D�%��s�;���D�!�T�5�9�;�	<�����)�)�+�=�	?rc�f�[2oUO[[OU2P!r)rr9r:r;re�rr�s& r�test_write_no_fields�#TestDictFields.test_write_no_fields~s���*�����)�S�^�^�W�=rc��[QQPQ59^tt^2o[OU,QNQ5oUO[29^tt^2oUOQ]
QQ]Q-2PPP2[
WO2oUOQU2UOQ	U2UOQ
U2UOQU2PPP2P!)%fhKw9h)%fhP!9h)
r�r�r�rcr_�f4�spamr�r`z'f4'z'f2'rra)
rr;rer9r?r��str�	exception�assertIn�assertNotIn)rr�rP�cxr|s&    r�#test_write_fields_not_in_fieldnames�2TestDictFields.test_write_fields_not_in_fieldnames�s���
�4�'�2�
>�
>�'��^�^�G�:L�M�F��"�"�:�.�.�"�����r�4���E� B�C�/��B�L�L�)�I��M�M�,�	�2��M�M�&�)�,����V�Y�/��M�M�#�y�)�?�
>�/�.��?�
>�
>�s0�8C*�C	�(A%C*�C'
� C'
�"C*�*C;	�3C;	c�p�[2oUO[[OUQQ,QQ5P!)rbrc�raised��extrasaction)rr9r?r;rerus& r�&test_typo_in_extrasaction_raises_error�5TestDictFields.test_typo_in_extrasaction_raises_error�s/���*�����*�c�n�n�g��d�|�'/�	�	1rc�X�[2o[OUQQ,QQ5oQ]Q]Q]Q]-oUO[[OO
V#2[OUQQ,QQ5oUO[[OO
V#2P!)rbrc�raiser��f0rd�RAISE)rr;rer9r?r��rr�rP�dictrows&   r�)test_write_field_not_in_field_names_raise�8TestDictFields.test_write_field_not_in_field_names_raise�s����*������$���G�L����D�!�T�1�d�A�6�����*�c�n�n�&=�&=�v�O�����$���G�L�����*�c�n�n�&=�&=�v�Orc�X�[2o[OUQQ,QQ5oQ]Q]Q]Q]-o[OOV#2UO	UO2Q2[OUQQ,QQ5o[OOV#2P!)rbrc�ignorer�r�rdz1,2
�IGNORE)rr;rer�rXr�r�s&   r�*test_write_field_not_in_field_names_ignore�9TestDictFields.test_write_field_not_in_field_names_ignore�s����*������$���H�M����D�!�T�1�d�A�6��������0�����)�)�+�Y�7�����$���H�M��������0rc��,QNo[2o[OU[U22oUO	UO
U2P!�r�r)rr;�
DictReaderr�rXr`�rr`rprEs&   r�(test_dict_reader_fieldnames_accepts_iter�7TestDictFields.test_dict_reader_fieldnames_accepts_iter��9��$�
��J������4�
�#3�4������*�*�J�7rc��,QNo[2o[OV!2oUOUOU2P!r�)rr;r�rXr`r�s&   r�(test_dict_reader_fieldnames_accepts_list�7TestDictFields.test_dict_reader_fieldnames_accepts_list��2��$�
��J������.������*�*�J�7rc���,QNo[2o[OU2oUOUO2VmUOUOU2P!r�)rr;r��assertIsNoner`rXr�s&   r�test_dict_reader_set_fieldnames�.TestDictFields.test_dict_reader_set_fieldnames�sL��$�
��J������"�����&�+�+�,�&������*�*�J�7rc��,QNo[2o[OU[U22oUO	UO
U2P!r�)rr;rer�rXr`�rr`rprPs&   r�(test_dict_writer_fieldnames_rejects_iter�7TestDictFields.test_dict_writer_fieldnames_rejects_iter�r�rc��,QNo[2o[OV!2oUOUOU2P!r�)rr;rerXr`r�s&   r�(test_dict_writer_fieldnames_accepts_list�7TestDictFields.test_dict_writer_fieldnames_accepts_list�r�rc��[2o[OUPQ5oUOUO2P!)Nr_)rr;r�r�r`)rrprEs&  r�'test_dict_reader_fieldnames_is_optional�6TestDictFields.test_dict_reader_fieldnames_is_optional�s-���J������d�3�����&�+�+�,rc�&�[QQQ59^tt^2oUOQ2UO]2[OU,QNQ5oUO[
U2QQQQ	QQ
-2PPP2P!)%fhP!9h)r�r�r�z	1,2,abc
rbrcrdr_rr�r�ra�rrLr�r;r�rXr�rr�rEs&  r�test_read_dict_fields�$TestDictFields.test_read_dict_fields�sl��
�4�'�
2�
2�g��M�M�-�(��L�L��O��^�^�G�/A�C�F����T�&�\�D�#�t�S�$��+N�O�3�
2�
2�
2�s�AA?�?B	�B	c�Z�[QQQ59^tt^2oUOQ2UO]2[OU2oUO[
U2QQQQQQ	-2UOUO,Q
N2PPP2P!)%fhP!9h)r�r�r��f1,f2,f3
1,2,abc
rbrrcr�rdr�ra)rrLr�r;r�rXrr`r�s&  r�test_read_dict_no_fieldnames�+TestDictFields.test_read_dict_no_fieldnames�s~��
�4�'�
2�
2�g��M�M�3�4��L�L��O��^�^�G�,�F����T�&�\�D�#�t�S�$��+N�O����V�.�.�0B�C�3�
2�
2�
2�s�A8B�B*	�"B*	c��[QQQ59^tt^2oUOQ2UO]2[OU[[OU22Q5oUOUO,QN2UO[U2QQQQ	QQ
-2PPP2P!)%fhP!9h)r�r�r�r�r_rbrcrdrr�r�ra)	rrLr�r;r�rrErXr`r�s&  r�#test_read_dict_fieldnames_from_file�2TestDictFields.test_read_dict_fieldnames_from_file�s���
�4�'�
2�
2�g��M�M�3�4��L�L��O��^�^�G�/3�C�J�J�w�4G�/H�J�F����V�.�.�0B�C����T�&�\�D�#�t�S�$��+N�O�
3�
2�
2�
2�s�BB8�8C		�C		c
��]PHo[QQQ59^tt^2oUOQ2UO]2[O
U2o[
U2oUOU,U2FD9oUOUO,QN2UOUQQQQ	QQ
-2J;	PPP2P!)%fhP!9h)rr�r�r�r�rbrcrdrr�r�ra)
�	itertoolsrrLr�r;r�r�chainrXr`)rr�r�rE�firstrFs&     r�test_read_dict_fieldnames_chain�.TestDictFields.test_read_dict_fieldnames_chain�s����
�4�'�
2�
2�g��M�M�3�4��L�L��O��^�^�G�,�F���L�E� ����w��7��� � ��!2�!2�4F�G�� � ��t�S�$��T�5�&I�J�8�3�
2�
2�
2�s�BB:�:C	�C	c�*�[QQQ59^tt^2oUOQ2UO]2[OUQQ,Q5oUO[
U2QQQQP,Q	N-2PPP2P!)%fhP!9h)
r�r�r��1,2,abc,4,5,6
rbrcr_rr��r�r�rr�r�r�s&  r�test_read_long�TestDictFields.test_read_long�sx��
�4�'�
2�
2�g��M�M�-�.��L�L��O��^�^�G�04�d�|�=�F����T�&�\�D�#�t�S�-1�3I�,K�
L�3�
2�
2�
2�s�A B�B	�
B	c�,�[QQQ59^tt^2oUOQ2UO]2[OUQQ,QQ5oUO[
U2QQQQ	Q,Q
N-2PPP2P!)%fhP!9h)r�r�r�r�rbrc�_rest)r`�restkeyrr�r�r�r�s&  r�test_read_long_with_rest�'TestDictFields.test_read_long_with_rest�s{��
�4�'�
2�
2�g��M�M�-�.��L�L��O��^�^�G�04�d�|�W�N�F����T�&�\�D�#�t�S�-4�6L�,N�
O�3�
2�
2�
2�s�A!B�B	�B	c�b�[QQQ59^tt^2oUOQ2UO]2[OUQQ5oUOUOQQ,2UO[U2QQQQ	Q,Q
N-2PPP2P!)%fhP!9h)r�r�r�zf1,f2
1,2,abc,4,5,6
r��r�rbrcrr�r�)rrLr�r;r�rXr`rr�s&  r�&test_read_long_with_rest_no_fieldnames�5TestDictFields.test_read_long_with_rest_no_fieldnamess���
�4�'�
2�
2�g��M�M�6�7��L�L��O��^�^�G�W�=�F����V�.�.��t��=����T�&�\�D�#�t�S�-4�6L�,N�
O�3�
2�
2�
2�s�A<B�B.	�&B.	c��[QQQ59^tt^2oUOQ2UO]2[OUQO2QQ5oUO
[U2QQQQQ	Q
QQQQQ
Q
-2UO
[U2QQQQQ	Q
QQQQQ
Q-2PPP2P!)%fhP!9h)r�r�r�z1,2,abc,4,5,6
1,2,abc
�1 2 3 4 5 6�DEFAULT)r`�restvalrr�rr�r�rr�)rrLr�r;r��splitrXrr�s&  r�test_read_short�TestDictFields.test_read_shorts���
�4�'�
2�
2�g��M�M�8�9��L�L��O��^�^�G�/<�/B�/B�/D�,5�7�F�
���T�&�\�C��c�3��U�-0�#�s�C��c�,K�
L����T�&�\�C��c�3��U�-0�)�S�)�-0�)�,=�
>�3�
2�
2�
2�s�BB9�9C
	�C
	c
��,Q
No[OUQO2Q5oUO[	U2QQQQQQQ	Q
QQ-2P!)�2147483648,43.0e12,17,abc,def
zi1 float i2 s1 s2r_�i1�
2147483648�floatz43.0e12�i2�17�s1r��s2r�)r�z147483648,43.0e2,17,abc,def
z47483648,43.0,170,abc,def
�r;r�r�rXr)r�samplerEs&  r�test_read_multi�TestDictFields.test_read_multisY��������+>�+D�+D�+F�H������f���l�)0�)�)-�t�)-�u�)-�u�	(6�	7rc���[O,Q
NQO2Q5oUO[	U2QQQQQQQQQQQ	Q	-2UO[	U2QQQQQQQQQQQ	Q	-2P!)r�r�r_rr�rr�r�rr�)r�rUr�r��rrEs& r�test_read_with_blanks�$TestDictFields.test_read_with_blanks*s������!6�+8�+>�+>�+@�B��	
����f���S�#�s�C��),�c�3��S�#�(G�	H�����f���S�#�s�C��),�c�3��S�#�(G�	Hrc��[OQ,QO2QQ5oUO[	U2QQQQQQQQQ	Q	Q
Q
-2P!)z1;2;abc;4;5;6
r�r
)r`r'rr�rr�r�rr�r�r�s& r�test_read_semi_sep�!TestDictFields.test_read_semi_sep3s[�����!4� 5�+8�+>�+>�+@�*-�/��	
����f���S�#�s�C��),�c�3��S�#�(G�	Hrr)rrrrrhrmrrrvr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr s@rr\r\`s�����;�	<�?�>�
*�1�
P�	1�8�8�8�8�8�-�
P�D�P�	K�L�O�O�>�
7�H�H�Hrr\c�:`�\sQsQsnQsQsQsQsQsUs	P!)�TestArrayWritesi:c�
�]PHo[]2Tt,tFDo]U*
MJ	ooUOQU2o[QQPQ59^tt^2o[OUQQ5oUOU2QO
STt,tFDo[U2MJ	to2Q*oUO]2UOUO2U2PPP2P!ttohttoh)%fhP!9h)	rr�r�r�r�rrr�rTrU��arrayr�rr;rPr��joinr{r�rXr��rr�r��contentsr�r�rPr�s&       r�test_int_write�TestArrayWrites.test_int_write;s����$)�"�I�.�I�q�R��T�T�I��.��K�K��X�&��
�4�'�2�
>�
>�'��Z�Z���9�F��O�O�A���x�x�� 3��A��Q��� 3�4�V�;�H��L�L��O����W�\�\�^�X�6�?�
>��/��!4�?�
>�
>�s)�C'�8C1�C,�?C1�,C1�1D	�:D	c��]PHo[]2Tt,tFDo]U*
Q*MJ	ooUOQU2o[QQPQ59^tt^2o[OUQQ5oUOU2QO
STt,tFDo[U2MJ	to2Q	*oUO]2UOUO2U2PPP2P!ttohttoh)%fhP!9h)
r皙�����?r�r�r�r�rrr�rTrUr�r�s&       r�test_double_write�!TestArrayWrites.test_double_writeG�����(-�b�	�2�	�1�R��T�3�J�J�	��2��K�K��X�&��
�4�'�2�
>�
>�'��Z�Z���9�F��O�O�A���x�x�� 3��A��Q��� 3�4�V�;�H��L�L��O����W�\�\�^�X�6�?�
>��3��
!4�?�
>�
>��)�C.�8C8�C3�%?C8�3C8�8D		�D		c��]PHo[]2Tt,tFDo]U*
Q*MJ	ooUOQU2o[QQPQ59^tt^2o[OUQQ5oUOU2QO
STt,tFDo[U2MJ	to2Q	*oUO]2UOUO2U2PPP2P!ttohttoh)%fhP!9h)
rr�rpr�r�r�rrr�rTrUr�r�s&       r�test_float_write� TestArrayWrites.test_float_writeRr�r�c��]PHo]PHoUOQUO2o[QQPQ59^tt^2o[O
UQQ5oUO
U2QOU2Q*oUO]2UOUO2U2PPP2P!)%fhP!9h)	r�wr�r�r�rrr�rTrU)r��string�
ascii_lettersrr;rPr�r�r�rXr�)rr�r�r�r�rPr�s&      r�test_char_write�TestArrayWrites.test_char_write]s�����K�K��V�1�1�2��
�4�'�2�
>�
>�'��Z�Z���9�F��O�O�A���x�x��{�6�)�H��L�L��O����W�\�\�^�X�6�?�
>�
>�
>�s�A3B9�9C
	�C
	r)
rrrrr�r�r�rrrr s@rr�r�:s����
7�	7�	7�	7�	7rr�c�F`�\sQsQsnQsQsQsQsQsQs	Qs
UsP!)	�TestDialectValidityihc��QQ[O2oU2oUOUO[O2PUmUO[OU2]*UmUO[O29^tt^2oU2PPP2UO[WO2Q2P	Um	[OUmQUmU2oUOUO[O2UOUOQ2UOUO2PUmUO[O29^tt^2oU2PPP2UO[UO2Q2QUmUO[O29^tt^2oU2PPP2UO[UO2Q2]UmUO[O29^tt^2oU2PPP2UO[UO2Q2P!)%fhCK�9h)%fhCK9h)%fhK�9h)%fhKr9h)c�D�\sQsQsQsQsP
sP	sQs\	OsQsP!)�3TestDialectValidity.test_quoting.<locals>.mydialectijr
rnrUr�
rrrrr'r)r[r6r.r;r>r0rrrrr�rj�%���I��J��K�#��#�N��n�n�Grr�zbad "quoting" valuerVzI"quotechar" must be a unicode character or None, not a string of length 0z''zI"quotechar" must be a unicode character or None, not a string of length 2z8"quotechar" must be a unicode character or None, not int)
r;r�rXr0r>r9r<r{r|r[r=r+�
assertTrue�rr�r��cms&   r�test_quoting� TestDialectValidity.test_quotingis���	%����	%�
�K��������C�N�N�3� �	�����#�)�)�Y�/��	��
�
�
�s�y�y�
)�
)�R��K�*�����R�\�\�*�.�	0�!%�	���M�M�	��!�	���K��������C�M�M�2�������c�*�����
�
�&� �	��
�
�
�s�y�y�
)�
)�R��K�*�����R�\�\�*�4�	5�#�	��
�
�
�s�y�y�
)�
)�R��K�*�����R�\�\�*�4�	5� �	��
�
�
�s�y�y�
)�
)�R��K�*�����R�\�\�*�#�	$�=*�
)�
)��*�
)�
)��*�
)��*�
)�sH�!J�J �2J4�K�J	�J	� J1	�)J1	�4K	�=K	�K	�K	c�"�QQ[O2oU2oUOUOQ2QUmUO	[O
29^tt^2oU2PPP2UO[
WO2Q2PUmUO	[O
29^tt^2oU2PPP2UO[
UO2Q2QUmUO	[O
29^tt^2oU2PPP2UO[
UO2Q2]UmUO	[O
29^tt^2oU2PPP2UO[
UO2Q2PUmUO	[O
29^tt^2oU2PPP2UO[
UO2Q	2P!)%fhCK�9h)%fhCKu9h)%fhCK&9h)%fhK�9h)%fhK�9h)
c�D�\sQsQsQsQsP
sP	sQs\	OsQsP!)�5TestDialectValidity.test_delimiter.<locals>.mydialecti�r
rnrUrrrrrr�r�rrr�r
�:::zA"delimiter" must be a unicode character, not a string of length 3zA"delimiter" must be a unicode character, not a string of length 0�,z2"delimiter" must be a unicode character, not bytesz0"delimiter" must be a unicode character, not intz5"delimiter" must be a unicode character, not NoneType)r;r�rXr'r9r<r{r|r
s&   r�test_delimiter�"TestDialectValidity.test_delimiter�s���	%����	%�
�K��������c�*�#�	��
�
�
�s�y�y�
)�
)�R��K�*�����R�\�\�*�4�	5�!�	��
�
�
�s�y�y�
)�
)�R��K�*�����R�\�\�*�\�	^�#�	��
�
�
�s�y�y�
)�
)�R��K�*�����R�\�\�*�M�	O� �	��
�
�
�s�y�y�
)�
)�R��K�*�����R�\�\�*�K�	M�#�	��
�
�
�s�y�y�
)�
)�R��K�*�����R�\�\�*�P�	R�7*�
)�
)��*�
)�
)��*�
)�
)��*�
)��*�
)�sZ�,H/�I�2I�I+�8I>�/I	�8I	�I	�I	�I(	� I(	�+I;	�4I;	�>J	�J	c�4�QQ[O2oU2oUOUOQ2PUmUO	[O
29^tt^2oU2PPP2UO[
WO2Q2QUmUO	[O
29^tt^2oU2PPP2UO[
UO2Q2QUmUO	[O
29^tt^2oU2PPP2UO[
UO2Q2]UmUO	[O
29^tt^2oU2PPP2UO[
UO2Q2P!)%fhCKa9h)%fhCK9h)%fhK�9h)%fhKr9h)	c�D�\sQsQsQsQsP
sP	sQs\	OsQsP!)�6TestDialectValidity.test_escapechar.<locals>.mydialecti�r
rnrUrrrrrr�r�rrr�rnzJ"escapechar" must be a unicode character or None, not a string of length 0z**zJ"escapechar" must be a unicode character or None, not a string of length 2�*z;"escapechar" must be a unicode character or None, not bytesz9"escapechar" must be a unicode character or None, not int)r;r�rXr)r9r<r{r|r
s&   r�test_escapechar�#TestDialectValidity.test_escapechar�s{��	%����	%�
�K��������t�,�!�	��
�
�
�s�y�y�
)�
)�R��K�*�����R�\�\�*�4�	5� $�	��
�
�
�s�y�y�
)�
)�R��K�*�����R�\�\�*�4�	5� $�	��
�
�
�s�y�y�
)�
)�R��K�*�����R�\�\�*�%�	&� !�	��
�
�
�s�y�y�
)�
)�R��K�*�����R�\�\�*�#�	$�/*�
)�
)��*�
)�
)��*�
)��*�
)�sH�,G�G �2G4�H�G	�G	� G1	�)G1	�4H	�=H	�H	�H	c��QQ[O2oU2oUOUOQ2QUmU2oUOUOQ2]UmUO	[O
29^tt^2oU2PPP2UO[
WO2Q2PUmUO	[O
29^tt^2oU2PPP2UO[
UO2Q2P!)%fhK�9h)%fhKJ9h)c�D�\sQsQsQsQsP
sP	sQs\	OsQsP!)�:TestDialectValidity.test_lineterminator.<locals>.mydialecti�r
rnrUrrrrrr�r�rrr�rUrz*"lineterminator" must be a string, not intz/"lineterminator" must be a string, not NoneType)r;r�rXr.r9r<r{r|r
s&   r�test_lineterminator�'TestDialectValidity.test_lineterminator�s���	%����	%�
�K������)�)�6�2�#(�	� ��K������)�)�5�1�#$�	� �
�
�
�s�y�y�
)�
)�R��K�*�����R�\�\�*�E�	G�$(�	� �
�
�
�s�y�y�
)�
)�R��K�*�����R�\�\�*�J�	L�*�
)��*�
)�s$�D0�9E�0E	�9E	�E	�E	c�6�QoQ	FD�oUOUQ59^tt^2UO[OVP2UO[OVQ2UO[OVQ2UO[OV]2UO[VQ2UO[VQ2UQ6wcUO[VQP	Q5PPP2J�	P!)%fhCJ9h)
c��QQ[O2o[V0U2UO2FDvq[V0U2J	U2oP!)c�<�\sQsQsQs\OsQsQs	Qs
P!)�QTestDialectValidity.test_invalid_chars.<locals>.create_invalid.<locals>.mydialectirTrVrUr)rrrrr'r;r=r0r+r.rrrrr�r#s���	��-�-���	�!'�rr�)r;r�r`�items)�
field_name�valuerqr�r�s&&,  r�create_invalid�>TestDialectValidity.test_invalid_chars.<locals>.create_invalidsB��
(�C�K�K�
(�

�I�5�1�%+�\�\�^�!�
��	�u�5�&4���Arr')r%r��xr1r2r3r")r'r)r+)r�r9r;r<r?)rr'r%s&  r�test_invalid_chars�&TestDialectValidity.test_invalid_charss���		�C�J������4�4��!�!�#�)�)�^��L��!�!�#�)�)�^��O��!�!�#�)�)�^��N��!�!�#�)�)�^��K��!�!�*�n�$�O��!�!�*�n�$�O���,��%�%�j�.�c�7;�&�=�5�4�C�4�4�4�s�B9D	�D	�D
�D
c��QQ2oUO[29^tt^2[O,U2Q5PPP2UO[29^tt^2[O[2U2Q5PPP2P!)%fhK]9h)%fhP!9h)c�(`�\sQsQsnQsQsUsP!)�[TestDialectValidity.test_dialect_getattr_non_attribute_error_propagates.<locals>.BadDialecti!c��[Q2g)�boom)�RuntimeErrorrs&&r�__getattr__�gTestDialectValidity.test_dialect_getattr_non_attribute_error_propagates.<locals>.BadDialect.__getattr__"s
��"�6�*�*rr)rrrrr2rrr s@r�
BadDialectr.!s����
+�
+rr4r�)r9r1r;rErPr)rr4s& r�3test_dialect_getattr_non_attribute_error_propagates�GTestDialectValidity.test_dialect_getattr_non_attribute_error_propagatessv��	+�	+��
�
�|�
,�
,��J�J�r�:�<�0�-��
�
�|�
,�
,��J�J�x�z�:�<�8�-�
,�-�
,��-�
,�
,�s#�B�,&B/�B,	�%B,	�/C	�8C	r)rrrrrrrrr*r5rrr s@rrrhs-����/$�b(R�T%$�NL�6=�09�9rrc�`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
Qs\Q
2s\Q2s\Q2s\Q2sQsQsQsQ,s\O1Q\]222\O5Q2QO7\2sQ,s\O1Q\]222\O5Q2QO7\2sQsQsQsQs Qs!Qs"Qs#Q s$Q!s%Q"s&Q#s'Q$s(Q%s)Q&s*Q's+Q(s,Q)s-Q*s.Q+s/Q,s0Q-s1Us2P!).�TestSnifferi,z�Harry's, Arlington Heights, IL, 2/1/03, Kimi Hayes
Shark City, Glendale Heights, IL, 12/28/02, Prezence
Tommy's Place, Blue Island, IL, 12/28/02, Blue Sunday/White Crow
Stonecutters Seafood and Chop House, Lemont, IL, 12/19/02, Week Back
a'Harry''s':'Arlington Heights':'IL':'2/1/03':'Kimi Hayes'
'Shark City':'Glendale Heights':'IL':'12/28/02':'Prezence'
'Tommy''s Place':'Blue Island':'IL':'12/28/02':'Blue Sunday/White Crow'
'Stonecutters ''Seafood'' and Chop House':'Lemont':'IL':'12/19/02':'Week Back'
z+"venue","city","state","date","performers"
z�05/05/03?05/05/03?05/05/03?05/05/03?05/05/03?05/05/03
05/05/03?05/05/03?05/05/03?05/05/03?05/05/03?05/05/03
05/05/03?05/05/03?05/05/03?05/05/03?05/05/03?05/05/03
zT2147483648;43.0e12;17;abc;def
147483648;43.0e2;17;abc;def
47483648;43.0;170;abc;def
zaaa	bbb
AAA	
BBB	
za|b|c
d|e|f
z'a'|'b'|'c'
'd'|e|f
z+"venue"+"city"+"state"+"date"+"performers"
z�Harry's+ Arlington Heights+ IL+ 2/1/03+ Kimi Hayes
Shark City+ Glendale Heights+ IL+ 12/28/02+ Prezence
Tommy's Place+ Blue Island+ IL+ 12/28/02+ Blue Sunday/White Crow
Stonecutters Seafood and Chop House+ Lemont+ IL+ 12/19/02+ Week Back
a'Harry''s'+ Arlington Heights'+ 'IL'+ '2/1/03'+ 'Kimi Hayes'
'Shark City'+ Glendale Heights'+' IL'+ '12/28/02'+ 'Prezence'
'Tommy''s Place'+ Blue Island'+ 'IL'+ '12/28/02'+ 'Blue Sunday/White Crow'
'Stonecutters ''Seafood'' and Chop House'+ 'Lemont'+ 'IL'+ '12/19/02'+ 'Week Back'
z|
                        abc,def
                        ghijkl,mno
                        ghi,jkl
                        z~
                        abc,def
                        ghijkl,mnop
                        ghi,jkl
                         z�"time","forces"
                        1,1.5
                        0.5,5+0j
                        0,0
                        1+1j,6
                        z|"time","forces"
                        0,0
                        1,2
                        a,b
                        zabcdef
ghijklmno
ghijkl
z


zabc
def
ghiz
letter,offsetc#�n�SF �D&o[[Q2U*2QU0w�	J(	P!3h�r�rT��chr�ord��.0r�s& r�	<genexpr>�TestSniffer.<genexpr>��)��	���	�1�s�3�s�8�a�<�(�)��1�#�.�	���.5zv,twenty_oner1c#�n�SF �D&o[[Q2U*2QU0w�	J(	P!3hr:r;r>s& rr@rA�rBrCzGtime,title
2020-10-01,"Pocket - Save news, videos, stories and more"
c���[O2oUOUOUO22UOUOUO22P!r)r;�Snifferr	�
has_header�sample12�assertFalse�sample13�r�sniffers& r�test_issue43625�TestSniffer.test_issue43625�sE���+�+�-������*�*�4�=�=�9�:�����+�+�D�M�M�:�;rc���[O2oUOUOUO22UOUOUO
22P!)zDMore to document existing (unexpected?) behavior than anything else.)r;rFrIrG�sample10�sample11rKs& r�test_has_header_strings�#TestSniffer.test_has_header_strings�sG���+�+�-������+�+�D�M�M�:�;�����+�+�D�M�M�:�;rc��[O2oUOUOUO2P
2UOUOUO
UO*2P	2P!�F)r;rFrZrG�sample1�header1rKs& r�test_has_header�TestSniffer.test_has_header��P���+�+�-���
�
�g�(�(����6��>��
�
�g�(�(�������)D�E�t�Lrc��[O2oUOUOUO2P
2UOUOUO
UO*2P	2P!rU)r;rFrZrG�sample8�header2rKs& r�'test_has_header_regex_special_delimiter�3TestSniffer.test_has_header_regex_special_delimiter�rZrc���[O2oUOUOUO22UOUOUO22P!r)r;rFrIrG�sample17r	�sample18rKs& r�test_has_header_checks_20_rows�*TestSniffer.test_has_header_checks_20_rows�sE���+�+�-������+�+�D�M�M�:�;�����*�*�4�=�=�9�:rc	��[O2oQFD�oUOU29^tt^2UOUQ2oUO	UO
Q2UO	UOQ2UOUOP
2UOUOP
2PPP2J�	P!)%fhJ�9h)�	;'123;4';�,;r
r�)rfz'123;4';z;'123;4'z'123;4')
r;rFr��sniffrXr'r+rZr[r6)rrL�headerrYs&   r�test_guess_quote_and_delimiter�*TestSniffer.test_guess_quote_and_delimiter�s����+�+�-��F�F����f�%�%�!�-�-���5��� � ��!2�!2�C�8�� � ��!2�!2�C�8��
�
�g�1�1�5�9��
�
�g�6�6��>�&�%�G�%�%�%�s�BC	�C
�C
c���[O2oUOUO2oUO	UO
Q2UO	UOQ2UOUOP	2UOUO2oUO	UO
Q2UO	UOQ2UOUOP
2P!)rTrVrWr�)
r;rFrhrVrXr'r+rZr6�sample2�rrLrYs&  r�
test_sniff�TestSniffer.test_sniff�s����+�+�-���-�-����-������*�*�C�0�����*�*�C�0��
�
�g�.�.��5��-�-����-������*�*�C�0�����*�*�C�0��
�
�g�.�.��6rc��[O2oUOUO2oUO	UO
UO2UOUOQQ5oUO
UO
Q2UOUOQQ5oUO
UO
Q2UOUO2oUO
UO
Q2UOUO2oUO
UO
Q2UOUO2oUO
UO
Q2UOUO2oUO
UO
Q2UO
UOQ2UOUO2oUO
UO
Q	2UOUO2oUO
UO
Q	2UO
UOQ2UOUO2oUO
UO
Q
2UO[O QUOUO"2UO[O QUOUO$2UOUO&2oUO
UO
Q2UO
UOQ
2P!)z?,��
delimiters�?z/,�/r
r4r�r��+r��Could not determine delimiterrTrV)r;rFrh�sample3r}r'rX�sample4�sample5�sample6�sample7r+r\�sample9�sample14r�r<�sample15�sample16�sample19rns&  r�test_delimiters�TestSniffer.test_delimiters�s[���+�+�-���-�-����-��	
�
�
�g�'�'����6��-�-�����-�>������*�*�C�0��-�-�����-�>������*�*�C�0��-�-����-������*�*�C�0��-�-����-������*�*�D�1��-�-����-������*�*�C�0��-�-����-������*�*�C�0�����*�*�C�0��-�-����-������*�*�C�0��-�-����-������*�*�C�0�����*�*�C�0��-�-��
�
�.������*�*�D�1����s�y�y�*I�&�}�}�d�m�m�	=����s�y�y�*I�&�}�}�d�m�m�	=��-�-��
�
�.������*�*�C�0�����*�*�C�0rc�N�[O2oUOUO2oUO	UO
2UOUO2oUO	UO
2UOUO2oUOUO
2UOUO2oUO	UO
2UOUO2oUOUO
2P!r)r;rFrhrWrIr[r]rmr	r\r}rns&  r�test_doublequote�TestSniffer.test_doublequote�s����+�+�-���-�-����-������,�,�-��-�-����-������,�,�-��-�-����-������+�+�,��-�-����-������,�,�-��-�-����-������+�+�,rc���[O2oQoUOUOU2OQ2UOUOU2OQ2P!)za|b
c|d
e|f
r�r2)r;rFrXrhr'�assertNotEqual�rrLr�s&  r�$test_guess_delimiter_crlf_not_chosen�0TestSniffer.test_guess_delimiter_crlf_not_chosen�sP���+�+�-��(��������v�.�8�8�#�>����G�M�M�&�1�;�;�T�Brc��[O2oQoUOU2oUOUOQ2P!)za,b:c
d,e
f,g:c
h,i
rT)r;rFrhrXr'�rrLr�rYs&   r�%test_zero_mode_tie_order_independence�1TestSniffer.test_zero_mode_tie_order_independence�s=���+�+�-��
�	��-�-��'������*�*�C�0rc���[O2oQoU]
*oUO[OQ29^tt^2UO	U2PPP2P!)%fhP!9h)za,b
c:d
e,f
g:h
rw�r;rFr�r<rh�rrL�patternr�s&   r�$test_zero_mode_tie_order_comma_first�0TestSniffer.test_zero_mode_tie_order_comma_first�V���+�+�-��
�	��2���
�
#�
#�C�I�I�/N�
O�
O��M�M�&�!�P�
O�
O�
O���
A&�&A7	�/A7	c���[O2oQoU]
*oUO[OQ29^tt^2UO	U2PPP2P!)%fhP!9h)za:b
c,d
e:f
g,h
rwr�r�s&   r�$test_zero_mode_tie_order_colon_first�0TestSniffer.test_zero_mode_tie_order_colon_firstr�r�c��[O2oQoUOUOU2OQ2P!)r�rTa�"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""0""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""0)r;rFrXrhr'r�s&  r�test_sniff_regex_backtracking�)TestSniffer.test_sniff_regex_backtrackings1���+�+�-��@��������v�.�8�8�#�>rc	�v�[O2oQoUOU2oUOUOQ2UOUO
Q2UO
UOP
2UO[[O[U2U22,QN2P!)z",","",","
rTrVz,",","",","
",","",","
",","",","
",","",","
)rTr�rT)r;rFrhrXr'r+rZr[rrErr�s&   r�$test_sniff_doublequote_across_fields�0TestSniffer.test_sniff_doublequote_across_fields%s����+�+�-��#���-�-��'������*�*�C�0�����*�*�C�0��
�
�g�)�)�5�1�����c�j�j��&�)9�7�C�D�'�	)rc	��[O2oQFD�oUOUQ59^tt^2QU*Q*U*]*oUOUO	U2O
P	2QU*]*oUOUO	U2O
P
2PPP2J�	P!)%fhJ�9h)r1)�sepzx,"a""b"zy,"c"z"",",")r1rUr2)r;rFr�rZrhr[)rrLr�r�s&   r�(test_sniff_doublequote_record_separators�4TestSniffer.test_sniff_doublequote_record_separators1s����+�+�-��%�C����#��&�&�$�s�*�W�4�s�:�a�?���
�
�g�m�m�F�3�?�?��F�"�S�.�A�-���
�
�g�m�m�F�3�?�?��G�	'�&�&�&�&�&�s�BC
	�
C
�C
c��[O2oQQQ**oUO[OQ29^tt^2UO	UQQ5PPP2P!)%fhP!9h)z"a"
r3順rwrgrrr�r�s&  r�test_sniff_single_column�$TestSniffer.test_sniff_single_column;sS���+�+�-���3��<�'��
�
#�
#�C�I�I�/N�
O�
O��M�M�&�T�M�2�P�
O�
O�
O�s�A-�-A>	�6A>	c���[O2oQQQ**oUOU2oUOUOQ2UOUOP
2P!)z"a" "b"
r3r�)r;rFrhrXr'rZr[r�s&   r�test_sniff_space_delimiter�&TestSniffer.test_sniff_space_delimiterBsS���+�+�-���s�V�|�+���-�-��'������*�*�C�0��
�
�g�)�)�5�1rc���[O2oQQ*oUO[OQ29^tt^2UO	UQQ5PPP2P!)%fhP!9h)z"abcdefghijklmnopqrstuvwxyz"
i'rwz,:|	rrr�r�s&  r�test_sniff_quoted_single_column�+TestSniffer.test_sniff_quoted_single_columnJsO���+�+�-��1�E�9��
�
#�
#�C�I�I�/N�
O�
O��M�M�&�W�M�5�P�
O�
O�
O�s�A&�&A7	�/A7	r)3rrrrrVrmrWrxryrzr{r|r]r\r}rrPrQrHrJr~rr�ra�extendr��appendr�rbr�rMrRrXr^rcrjror�r�r�r�r�r�r�r�r�r�r�r�rrr s@rr8r8,s������G��G��G��G��G�/�G�"�G�*�G��G��G��G����H����H����H����H��H��H��H�� �H��O�O�B��b�	�B�B��O�O�N�#��y�y��"�H�� �H��O�O�B��b�	�B�B��O�O�N�#��y�y��"�H�P�H�<�
<�M�
M�
;�
?�
7�!1�F-�C�1�$
"�
"�?�
)�H�3�2�6�6rr8c�,`�\sQsQsnQs\sQsUsP!)�NULiRc��P!rr)�sras&*rrL�	NUL.writeSs��rr)rrrrrL�
writelinesrrr s@rr�r�Rs����
��Jrr��gettotalrefcountzrequires sys.gettotalrefcount()c�:`�\sQsQsnQsQsQsQsQsUs	P!)�	TestLeaksiWc��]o[O2o[]2FD�o[O2UO[O,2[O2o[OQ,2[OQ,2[OQ,2VB*
oSoJ�	UOU]2P!�rza,b,c
�
�sysr�r��gc�collectrX�garbager;rE�
assertLess)r�delta�lastrcr��rcs&    r�test_create_read�TestLeaks.test_create_readZs������%�%�'���r��A��J�J�L����R�Z�Z��,��%�%�'�B��J�J��}�%��J�J��}�%��J�J��}�%��I�E��F��	
����q�!rc��]o[O2o[2o[]2FD�o[O
2UO
[O,2[O2o[OU2[OU2[OU2VR*
oSoJ�	UOU]2P!)r)r�r�r�r�r�r�rXr�r;rPr�)rr�r�r�r�r�s&     r�test_create_write�TestLeaks.test_create_writeis������%�%�'���E���r��A��J�J�L����R�Z�Z��,��%�%�'�B��J�J�q�M��J�J�q�M��J�J�q�M��I�E��F��	
����q�!rc�|�]oQ,]*o[O2o[]2FDwo[O2UO[O,2[O2o[OU2oSFDoJ	VS*
oSoJy	UOU]2P!r�r�)rr�rEr�r�r��rdrrFs&       r�	test_read�TestLeaks.test_readys������}�Q����%�%�'���r��A��J�J�L����R�Z�Z��,��%�%�'�B��*�*�T�"�C������I�E��F��	
����q�!rc��]o,QN,]*o[2o[O2o[]2FD�o[O
2UO
[O,2[O2o[OU2oSFDoUOU2J	Vd*
oSoJ�	UOU]2P!)rr�)r�r�r�r�r�r�rXr�r;rPr�r�)	rr�rEr�r�r�r�rPrFs	&        r�
test_write�TestLeaks.test_write�s������y��{���E���%�%�'���r��A��J�J�L����R�Z�Z��,��%�%�'�B��Z�Z��]�F�������$���I�E��F��	
����q�!rr)
rrrrr�r�r�r�rrr s@rr�r�Ws����
"�"� "� "�"rr�c�6`�\sQsQsn,QNsQsQsQsUsP!)�TestUnicodei�c�j�[QPQQ59^tt^2oUOQOUO2Q*2UO	]2[
OU2oUO[U2UO,2PPP2P!)%fhP!9h�r�r�r�rTrU)	rrLr��namesr�r;rErXr�r�s&  r�test_unicode_read�TestUnicode.test_unicode_read�ss��
�4��g�
>�
>�'��M�M�#�(�(�4�:�:�.��7�8��L�L��O��Z�Z��(�F����T�&�\�D�J�J�<�8�	?�
>�
>�
>�s�A?B!�!B2	�*B2	c�v�[QPQQ59^tt^2o[OU2oUOUO2QOUO2Q*oUO
]2UOUO2U2PPP2P!)%fhP!9hr�)	rr;rPr�r�r�r�rXr�)rr�rPr�s&   r�test_unicode_write�TestUnicode.test_unicode_write�sx��
�4��g�
>�
>�'��Z�Z��(�F��O�O�D�J�J�'��x�x��
�
�+�F�2�H��L�L��O����W�\�\�^�X�6�?�
>�
>�
>�s�BB'�'B8	�0B8	r)uMartin von LöwisuMarc André LemburgzGuido van RossumuFrançois Pinard)	rrrrr�r�r�rrr s@rr�r��s����
!�E�
9�7�7rr�c�.`�\sQsQsnQsQsQsUsP!)�KeyOrderingTesti�c	���[2o[Q2FD�o[QPQQ59^tt^2o[OV22oUO2UO
]2[OU2o[UO2oUOV&2UOU2PPP2J�	UO[U2]xQ2P!)%fhJ�9h)�abcder�r�r�z@Key ordering: some key permutations not collected (expected 120))
�setr
rr;rerfr�r��tupler`rX�add�len)r�	resultset�keys�
fileobject�dw�dr�kts&      r�,test_ordering_for_the_dict_reader_and_writer�<KeyOrderingTest.test_ordering_for_the_dict_reader_and_writer�s����E�	� ��)�D��t�R�'�B�B�j��^�^�J�5����� �����"��^�^�J�/���2�=�=�)��� � ��*��
�
�b�!�C�B�*�	
����Y���.p�q�C�B�B�s�BC 	� C1
�)C1
c��[Q2O2oUO[[O
U22[
QQ	,2[
Q
QPQQ,1,2[
QQ
,2[
QQ,2,2UO[[O
UQQ52[
QQ	,2[
Q
QQQQ,1,2[
QQ
,2[
QQ,2,2U]UO[[O
UQQ,Q52[
QQ,2[
QQPQQ,1,2[
QQ,2[
QQ,2,2P!)z�            FirstName,LastName
            Eric,Idle
            Graham,Chapman,Over1,Over2

            Under1
            John,Cleese
        �Over1�Over2�	OtherInfor��fname�lnamer_)�	FirstName�Eric)�LastName�Idle)r��Graham)r��Chapman)r��Under1)r�N)r��John)r��Cleese)r�r�)r�r�)r�r�)r�r�)r�r�)r�N)r�r�)r�r�)r�
splitlinesrXr�r;r�r)r�datas& r�test_ordered_dict_reader�(KeyOrderingTest.test_ordered_dict_reader�s�����
��Z�\�	
�	
����c�n�n�T�2�3�
�/�1E�F�
G�
�1�3J��'�7�!3�4�6�7�
�1�3E�F�
G�
�/�1G�H�
I�	
�	�	
����c�n�n�T�;�G�H�
�/�1E�F�
G�
�1�3J�&��'�(:�;�=�>�
�1�3E�F�
G�
�/�1G�H�
I�	
�	�
��G�����c�n�n�T�w��>P�Q�R�
�+�->�?�
@�
�-�/C��'�7�!3�4�6�7�
�-��?�
@�
�+�-@�A�
B�	
�	rr)rrrrr�r�rrr s@rr�r��s����r�!�!rr�c�b`�\sQsQsnQs\Q2sQs\O
Q2s	Qs
UsP!)�MiscTestCasei�c�@�[OU[Q2P!)r;)r;�_csv)r�check__all__r;rs&r�test__all__�MiscTestCase.test__all__�s�����T�3��8rc�"�[QQ.2P!)r;�rerrs&r�test_lazy_import�MiscTestCase.test_lazy_import�s���E�D�6�*rc�:�QQ[O2oP!)c��\sQsQsQsP!)�+MiscTestCase.test_subclassable.<locals>.Fooi�rr�rrr�Foor�s��crr)r;r<)rrs& r�test_subclassable�MiscTestCase.test_subclassable�s��!�#�)�)�!rc	��[OQ2oUOUO1FD1oUO	UQ59^tt^2[V2PPP2J3	P!)%fhJH9h)r)�tp)r�
import_module�Reader�Writerr�r)rrrs&  r�test_disallow_instantiation�(MiscTestCase.test_disallow_instantiation�sT���*�*�6�2���+�+�t�{�{�*�B������$�$�,�T�6�%�$�+�$�$�$�s�A(	�(A9
�1A9
r)rrrrrrrr
rrrrr s@rr�r��s=����9��+��+�"�
���7��7rr�c�(`�\sQsQsnQsQsUsP!)�
TestModulei�c���UO[Q29^tt^2o[[Q2PPP2UO	WO
[2P!)%fhK29h)zA'__version__' is deprecated and slated for removal in Python 3.20�__version__)�assertWarnsRegex�DeprecationWarning�getattrr;rX�filename�__file__)rrs& r�test_deprecated__version__�%TestModule.test_deprecated__version__�sP��
�
"�
"��O�
�
���C��'�	
�
	
������h�/�
�
�s�A�A+	�$A+	r)rrrrrrrr s@rrr�s����0�0rr�__main__)2r�r��unittest�ior�tempfilerr;r�r��testr�test.supportrrr�test.support.import_helperr	r�r
�textwrapr�collectionsrr�TestCaser#r`r�r�rrr9r<rFrQrTr\r�rr8r��
skipUnless�hasattrr�r�r�r�rr�mainrrr�<module>r.s����
���"�
�	�
��R�R�:�"��#���
k�x� � �k�\CK�(�+�+�CK�J>�(�#�#�>� _O�{�_O�B�3�9�9��?�{�?�S�k�S������A�[�A�XH�X�&�&�XH�t,7�h�'�'�,7�\A9�(�+�+�A9�Hc6�(�#�#�c6�L	��

���W�S�"4�5�6�8�?"��!�!�?"�8�?"�B7�(�#�#�7�.1�h�'�'�1�h7�8�$�$�7�(0��"�"�0��z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit