Ë
    u™ãjÍ  ã            
       ó  — d Z ddlZddlmZ ddlZddlmZ ddlmZ ddl	Z
ddlmZ erdZdZndZd	Zej                   j#                  d
ddide› �fdej$                  dœdfddide› d�fg«      d„ «       Zej                   j#                  dddg«      d„ «       Zd„ Zej                   j#                  dg d¢«      d„ «       Zej                   j#                  dej$                  ej.                  g«      ej                   j#                  dddg«      d„ «       «       Zej                   j#                  di g d¢gfdej$                  dœg d¢gfdej2                  dœg d¢gfdej.                  dœg d ¢gfdej4                  dœg d!¢gfg«      d"„ «       Zej                   j#                  d#d$d%d&ggfd'd%d(ggfg«      d)„ «       Zej                   j#                  ddd*g«      d+„ «       Zej                   j#                  d,d$d'g«      d-„ «       Zy).zt
Tests that quoting specifications are properly handled
during parsing for all of the parsers defined in parsers.py
é    N)ÚStringIO)ÚPY314)ÚParserErrorÚ z[\s\S]*za(n)? 1-character stringzstring( or None)?z
kwargs,msgÚ	quotecharÚfooz"quotechar" must be ©r   Úquotingú(quotechar must be set if quoting enabledé   z	, not intc                 ó¤   — d}| }t        j                  t        |¬«      5   |j                  t	        |«      fi |¤Ž d d d «       y # 1 sw Y   y xY w)Nú1,2,3©Úmatch)ÚpytestÚraisesÚ	TypeErrorÚread_csvr   )Úall_parsersÚkwargsÚmsgÚdataÚparsers        ún/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/io/parser/test_quoting.pyÚtest_bad_quote_charr      sH   € ð €DØ€Fä	�‰”y¨Ô	,ñ 2Øˆ�‰œ ›Ñ1¨&Ò1÷2÷ 2ñ 2ús    AÁAzquoting,msg)r   z%"quoting" must be an integer|Argument)é
   zbad "quoting" valuec                 óØ   — d}| }|j                   dk(  r	d}t        }nt        }t        j                  ||¬«      5  |j                  t        |«      |¬«       d d d «       y # 1 sw Y   y xY w)Nr   Úpyarrowú?The 'quoting' option is not supported with the 'pyarrow' enginer   )r
   )ÚengineÚ
ValueErrorr   r   r   r   r   )r   r
   r   r   r   Úerrs         r   Útest_bad_quotingr#   -   s`   € ð €DØ€Fà‡}�}˜	Ò!àOˆÜ‰äˆÜ	�‰�s #Ô	&ñ 9Ø�‰œ ›°ˆÔ8÷9÷ 9ñ 9ús   ºA Á A)c                 ó¨   — | }d}t        j                  g d¢gg d¢¬«      }|j                  t        |«      d¬«      }t	        j
                  ||«       y )Núa,b,c
1,2,"cat"©é   r   Úcat©ÚaÚbÚc©Úcolumnsú"©r   ©ÚpdÚ	DataFramer   r   ÚtmÚassert_frame_equal)r   r   r   ÚexpectedÚresults        r   Útest_quote_char_basicr8   B   sD   € Ø€FØ€DÜ�|‰|š]˜O²_ÔE€Hà�_‰_œX d›^°sˆ_Ó;€FÜ×Ñ˜& (Õ+ó    Ú
quote_char)ú~Ú*ú%ú$ú@ÚPc                 óÌ   — | }t        j                  g d¢gg d¢¬«      }d}|j                  d|«      }|j                  t	        |«      |¬«      }t        j                  ||«       y )Nr&   r)   r-   r%   r/   r0   )r2   r3   Úreplacer   r   r4   r5   )r   r:   r   r6   r   Únew_datar7   s          r   Útest_quote_char_variousrD   K   sU   € à€FÜ�|‰|š]˜O²_ÔE€Hà€DØ�|‰|˜C Ó,€Hà�_‰_œX hÓ/¸:ˆ_ÓF€FÜ×Ñ˜& (Õ+r9   r
   c                 óÀ  — ||dœ}d}| }|j                   dk(  rV|t        j                  k7  rCd}t        j                  t
        |¬«      5   |j                  t        |«      fi |¤Ž d d d «       y |t        j                  k7  rgt        sd}nd}| j                   dk(  r
|d	k(  rd
|› �nd}t        j                  t        |¬«      5   |j                  t        |«      fi |¤Ž d d d «       y | j                   dk7  rOt        j                  g d¢gg d¢¬«      } |j                  t        |«      fi |¤Ž}t        j                  ||«       y y # 1 sw Y   y xY w# 1 sw Y   y xY w)Nr	   za,b,c
1,2,3r   r   r   z1-character stringzunicode character or NoneÚpythonr   z"quotechar" must be a r   ©r'   r   é   r)   r-   )r    ÚcsvÚQUOTE_MINIMALr   r   r!   r   r   Ú
QUOTE_NONEr   r   r2   r3   r4   r5   )	r   r
   r:   r   r   r   r   r6   r7   s	            r   Útest_null_quote_charrL   W   sD  € ð &°'Ñ:€FØ€DØ€Fà‡}�}˜	Ò! g´×1BÑ1BÒ&BàOˆÜ�]‰]œ:¨SÔ1ñ 	6ØˆF�O‰OœH T›NÑ5¨fÒ5÷	6àà”#—.‘.Ò åØ&‰Cà-ˆCð ×!Ñ! XÒ-°*ÀÒ2Bð % S EÑ*à;ð 	ô �]‰]œ9¨CÔ0ñ 	6ØˆF�O‰OœH T›NÑ5¨fÒ5÷	6ð 	6à	×	Ñ	˜xÒ	'ä—<‘<¢ ²_ÔEˆØ �—‘¤¨$£Ñ:°6Ñ:ˆÜ
×Ñ˜f hÕ/ð	 
(÷%	6àú÷	6ð 	6ús   Á	EÃEÅEÅEzkwargs,exp_data)r'   r   r   r/   )r'   r   z"foo")g      ð?g       @r   c                 ó.  — d}| }g d¢}|j                   dk(  r§|j                  dt        j                  «      t        j                  k7  rEd}t	        j
                  t        |¬«      5   |j                  t        |«      fd|i|¤Ž d d d «       y t        j                  j                  d¬	«      }|j                  |«        |j                  t        |«      fd|i|¤Ž}	t        j                  ||¬
«      }
t        j                  |	|
«       y # 1 sw Y   y xY w)Nz	1,2,"foo"r)   r   r
   r   r   Únamesz$ParserError: Empty CSV file or block©Úreasonr-   )r    ÚgetrI   rJ   r   r   r!   r   r   ÚmarkÚxfailÚapplymarkerr2   r3   r4   r5   )r   r   Úexp_dataÚrequestr   r   r.   r   rR   r7   r6   s              r   Útest_quoting_variousrW   z   sê   € ð" €DØ€FÚ€Gà‡}�}˜	Ò!Ø�:‰:�i¤×!2Ñ!2Ó3´s×7HÑ7HÒHàSˆCÜ—‘œz°Ô5ñ IØ�—‘¤¨£ÑH°gÐHÀÒH÷IàÜ�{‰{× Ñ Ð(NÐ ÓOˆØ×Ñ˜DÔ!àˆV�_‰_œX d›^ÑE°7ÐE¸fÑE€FÜ�|‰|˜H¨gÔ6€HÜ×Ñ˜& (Õ+÷Iàús   Á&DÄDzdoublequote,exp_dataTrH   z4 " 5Fz4 " 5"c                 ó(  — | }d}|j                   dk(  r3|s1t        j                  j                  d¬«      }|j	                  |«       |j                  t        |«      d|¬«      }t        j                  |ddg¬	«      }t        j                  ||«       y )
Nza,b
3,"4 "" 5"r   úMismatched resultrO   r/   )r   Údoublequoter*   r+   r-   )r    r   rR   rS   rT   r   r   r2   r3   r4   r5   )	r   rZ   rU   rV   r   r   rR   r7   r6   s	            r   Útest_double_quoter[   ž   s~   € ð €FØ€Dà‡}�}˜	Ò!©+Ü�{‰{× Ñ Ð(;Ð Ó<ˆØ×Ñ˜DÔ!à�_‰_œX d›^°sÈˆ_ÓT€FÜ�|‰|˜H¨s°C¨jÔ9€HÜ×Ñ˜& (Õ+r9   úc                 ó    — d}| }t        j                  ddgi«      }|j                  t        |«      |¬«      }t	        j
                  ||«       y )Nza
1r*   r'   r0   r1   )r   r   r   r   r6   r7   s         r   Útest_quotechar_unicoder^   ®   sH   € ð €DØ€FÜ�|‰|˜S 1 #˜JÓ'€Hà�_‰_œX d›^°yˆ_ÓA€FÜ×Ñ˜& (Õ+r9   Úbalancedc                 óî  — | }d}|j                   dk(  r3|s1t        j                  j                  d¬«      }|j	                  |«       |rPt        j                  g d¢gg d¢¬«      }|j                  t        |dz   «      «      }t        j                  ||«       y |j                   d	k(  rd
nd}t        j                  t        |¬«      5  |j                  t        |«      «       d d d «       y # 1 sw Y   y xY w)Nza,b,c
1,2,"3r   rY   rO   rG   r)   r-   r/   r,   z#EOF inside string starting at row 1zunexpected end of datar   )r    r   rR   rS   rT   r2   r3   r   r   r4   r5   r   r   )	r   r_   rV   r   r   rR   r6   r7   r   s	            r   Útest_unbalanced_quotingra   ¹   sÎ   € ð €FØ€Dà‡}�}˜	Ò!©(Ü�{‰{× Ñ Ð(;Ð Ó<ˆØ×Ñ˜DÔ!áä—<‘<¢ ²_ÔEˆØ—‘¤¨$°©*Ó!5Ó6ˆÜ
×Ñ˜f hÕ/ð �}‰} Ò#ñ 2à)ð 	ô �]‰]œ;¨cÔ2ñ 	,Ø�O‰OœH T›NÔ+÷	,÷ 	,ñ 	,ús   ÃC+Ã+C4)Ú__doc__rI   Úior   r   Úpandas.compatr   Úpandas.errorsr   Úpandasr2   Úpandas._testingÚ_testingr4   ÚMSG1ÚMSG2rR   ÚparametrizerJ   r   r#   r8   rD   rK   rL   Ú	QUOTE_ALLÚQUOTE_NONNUMERICrW   r[   r^   ra   © r9   r   ú<module>ro      sx  ðñó
 Ý ã å Ý %ã Ý áà€DØ�Dà%€DØ€Dð ‡�×ÑØà
�uÐ	Ð!5°d°VÐ<Ð=à¨3×+<Ñ+<Ñ=Ø6ð	
ð �qÐ	Ð1°$°°yÐAÐBðó
ñ2ó
ð2ð ‡�×ÑØà8Ø#ðóñ9óð9ò,ð ‡�×Ñ˜Ò'EÓFñ,ó Gð,ð ‡�×Ñ˜ S×%6Ñ%6¸¿¹Ð$GÓHØ‡�×Ñ˜¨¨D zÓ2ñ0ó 3ó Ið0ðB ‡�×ÑØà	Šmˆ_Ðà s×'8Ñ'8Ñ	9ºM¸?ÐKà s§}¡}Ñ	5º°ÐGð  s§~¡~Ñ	6ºÐ8IÐJð  s×';Ñ';Ñ	<Ò?PÐ>QÐRðóñ ,ó!ð ,ð( ‡�×ÑØ˜d a¨ \ NÐ3°e¸qÀ(¸m¸_Ð5MÐNóñ
,óð
,ð ‡�×Ñ˜ s¨H oÓ6ñ,ó 7ð,ð ‡�×Ñ˜ d¨E ]Ó3ñ,ó 4ñ,r9   