§
    {hþhŒ  ã            
       óÌ  — d Z ddlZddlmZ ddlZddlmZmZ ddlm	Z	 ddl
mZ ddlmZ ej                             d¦  «        Zej                             d¦  «        Zej                             d	¦  «        Zerd
ZdZndZdZej                             dddide› �fdej        dœdfddide› d�fg¦  «        ed„ ¦   «         ¦   «         Zej                             dddg¦  «        ed„ ¦   «         ¦   «         Zd„ Zej                             dg d¢¦  «        d„ ¦   «         Zeej                             dej        ej        g¦  «        ej                             dd
dg¦  «        d „ ¦   «         ¦   «         ¦   «         Zej                             d!i g d"¢gfd#ej        dœg d"¢gfd#ej        dœg d"¢gfd#ej        dœg d$¢gfd#ej         dœg d%¢gfg¦  «        ed&„ ¦   «         ¦   «         Z!ej                             d'd(d)d*ggfd+d)d,ggfg¦  «        d-„ ¦   «         Z"ej                             dd#d.g¦  «        d/„ ¦   «         Z#ej                             d0d(d+g¦  «        d1„ ¦   «         Z$dS )2zt
Tests that quoting specifications are properly handled
during parsing for all of the parsers defined in parsers.py
é    N)ÚStringIO)ÚPY311ÚPY314)ÚParserError)Ú	DataFramez=ignore:Passing a BlockManager to DataFrame:DeprecationWarningÚpyarrow_xfailÚpyarrow_skipÚ 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 ¦  «         d S # 1 swxY w Y   d S )Nú1,2,3©Úmatch©ÚpytestÚraisesÚ	TypeErrorÚread_csvr   )Úall_parsersÚkwargsÚmsgÚdataÚparsers        úZ/var/www/histauto/venv/lib/python3.11/site-packages/pandas/tests/io/parser/test_quoting.pyÚtest_bad_quote_charr    $   s§   € ð €DØ€Få	Œ•y¨Ð	,Ñ	,Ô	,ð 2ð 2ØˆŒ� ™œÐ1Ð1¨&Ð1Ð1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð 2ð 2s    A	Á	AÁAzquoting,msg)r   z%"quoting" must be an integer|Argument)é
   zbad "quoting" valuec                 ó¾   — d}| }t          j        t          |¬¦  «        5  |                     t	          |¦  «        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   )r   r   )r   r   r   r   r   s        r   Útest_bad_quotingr#   8   s£   € ð €DØ€Få	Œ•y¨Ð	,Ñ	,Ô	,ð 9ð 9Ø�Š� ™œ°ˆÑ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9s    %AÁAÁAc                 ó¬   — | }d}t          g d¢gg d¢¬¦  «        }|                     t          |¦  «        d¬¦  «        }t          j        ||¦  «         d S )Núa,b,c
1,2,"cat"©é   r   Úcat©ÚaÚbÚc©Úcolumnsú"©r   ©r   r   r   ÚtmÚassert_frame_equal)r   r   r   ÚexpectedÚresults        r   Útest_quote_char_basicr6   H   s\   € Ø€FØ€DÝ˜-˜-˜-˜°/°/°/ÐBÑBÔB€Hà�_Š_�X d™^œ^°sˆ_Ñ;Ô;€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+ó    Ú
quote_char)ú~Ú*ú%ú$ú@ÚPc                 óØ   — | }t          g d¢gg d¢¬¦  «        }d}|                     d|¦  «        }|                     t          |¦  «        |¬¦  «        }t	          j        ||¦  «         d S )Nr&   r)   r-   r%   r/   r0   )r   Úreplacer   r   r2   r3   )r   r8   r   r4   r   Únew_datar5   s          r   Útest_quote_char_variousrB   Q   sq   € à€FÝ˜-˜-˜-˜°/°/°/ÐBÑBÔB€Hà€DØ�|Š|˜C Ñ,Ô,€Hà�_Š_�X hÑ/Ô/¸:ˆ_ÑFÔF€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r7   r   c                 óä  — ||dœ}d}| }|t           j        k    r|t          sd}nd}t          r| j        dk    r|dk    rd|› �nd}t          j        t          |¬	¦  «        5   |j        t          |¦  «        fi |¤Ž d d d ¦  «         d S # 1 swxY w Y   d S t          r| j        dk    sHt          g d
¢gg d¢¬¦  «        } |j        t          |¦  «        fi |¤Ž}t          j        ||¦  «         d S d S )Nr   za,b,c
1,2,3z1-character stringzunicode character or NoneÚpythonr
   z"quotechar" must be a r   r   ©r'   r   é   r)   r-   )ÚcsvÚ
QUOTE_NONEr   r   Úenginer   r   r   r   r   r   r2   r3   )	r   r   r8   r   r   r   r   r4   r5   s	            r   Útest_null_quote_charrJ   ]   s‚  € ð &°'Ð:Ð:€FØ€DØ€Fà•#”.Ò Ð åð 	.Ø&ˆCˆCà-ˆCõ ð<Ø$Ô+¨xÒ7Ð7¸JÈ"Ò<LÐ<Lð + SÐ*Ð*Ð*à;ð 	õ Œ]�9¨CÐ0Ñ0Ô0ð 	6ð 	6ØˆFŒO�H T™NœNÐ5Ð5¨fÐ5Ð5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð 	6ð 	6åð 0˜Ô*¨hÒ6Ð6å˜i˜i˜i˜[°/°/°/ÐBÑBÔBˆØ �”¥¨$¡¤Ð:Ð:°6Ð:Ð:ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/ð	 7Ð6s   Á B	Â	BÂBzkwargs,exp_data)r'   r   r   r/   )r'   r   z"foo")g      ð?g       @r   c                 óœ   — d}| }g d¢} |j         t          |¦  «        fd|i|¤Ž}t          ||¬¦  «        }t          j        ||¦  «         d S )Nz	1,2,"foo"r)   Únamesr-   )r   r   r   r2   r3   )r   r   Úexp_datar   r   r.   r5   r4   s           r   Útest_quoting_variousrN   z   sf   € ð$ €DØ€FØˆoˆo€GàˆVŒ_�X d™^œ^ÐEÐE°7ÐE¸fÐEÐE€FÝ˜¨7Ð3Ñ3Ô3€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r7   zdoublequote,exp_dataTrF   z4 " 5Fz4 " 5"c                 ó,  — | }d}|j         dk    r7|s5t          j                             d¬¦  «        }|                     |¦  «         |                     t          |¦  «        d|¬¦  «        }t          |ddg¬	¦  «        }t          j	        ||¦  «         d S )
Nza,b
3,"4 "" 5"ÚpyarrowúMismatched result©Úreasonr/   )r   Údoublequoter*   r+   r-   )
rI   r   ÚmarkÚxfailÚapplymarkerr   r   r   r2   r3   )	r   rT   rM   Úrequestr   r   rU   r5   r4   s	            r   Útest_double_quoterY   •   s™   € ð €FØ€Dà„}˜	Ò!Ð!¨+Ð!ÝŒ{× Ò Ð(;Ð Ñ<Ô<ˆØ×Ò˜DÑ!Ô!Ð!à�_Š_�X d™^œ^°sÈˆ_ÑTÔT€FÝ˜¨C°¨:Ð6Ñ6Ô6€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r7   úc                 ó¤   — d}| }t          ddgi¦  «        }|                     t          |¦  «        |¬¦  «        }t          j        ||¦  «         d S )Nza
1r*   r'   r0   r1   )r   r   r   r   r4   r5   s         r   Útest_quotechar_unicoder\   ¥   sU   € ð €DØ€FÝ˜# ˜s˜Ñ$Ô$€Hà�_Š_�X d™^œ^°yˆ_ÑAÔA€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r7   Úbalancedc                 ó  — | }d}|j         dk    r7|s5t          j                             d¬¦  «        }|                     |¦  «         |rRt          g d¢gg d¢¬¦  «        }|                     t          |dz   ¦  «        ¦  «        }t          j	        ||¦  «         d S |j         d	k    rd
nd}t          j
        t          |¬¦  «        5  |                     t          |¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nza,b,c
1,2,"3rP   rQ   rR   rE   r)   r-   r/   r,   z#EOF inside string starting at row 1zunexpected end of datar   )rI   r   rU   rV   rW   r   r   r   r2   r3   r   r   )	r   r]   rX   r   r   rU   r4   r5   r   s	            r   Útest_unbalanced_quotingr_   °   sY  € ð €FØ€Dà„}˜	Ò!Ð!¨(Ð!ÝŒ{× Ò Ð(;Ð Ñ<Ô<ˆØ×Ò˜DÑ!Ô!Ð!àð ,å˜i˜i˜i˜[°/°/°/ÐBÑBÔBˆØ—’¥¨$°©*Ñ!5Ô!5Ñ6Ô6ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/ð Œ} Ò#Ð#ð 2Ð1à)ð 	õ Œ]�;¨cÐ2Ñ2Ô2ð 	,ð 	,Ø�OŠO�H T™NœNÑ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,s   Ã#C5Ã5C9Ã<C9)%Ú__doc__rG   Úior   r   Úpandas.compatr   r   Úpandas.errorsr   Úpandasr   Úpandas._testingÚ_testingr2   rU   ÚfilterwarningsÚ
pytestmarkÚusefixturesÚxfail_pyarrowÚskip_pyarrowÚMSG1ÚMSG2ÚparametrizeÚQUOTE_MINIMALr    r#   r6   rB   rH   rJ   Ú	QUOTE_ALLÚQUOTE_NONNUMERICrN   rY   r\   r_   © r7   r   ú<module>rs      sô  ððð ð
 €
€
€
Ø Ð Ð Ð Ð Ð à €€€ðð ð ð ð ð ð ð ð &Ð %Ð %Ð %Ð %Ð %à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð àŒ[×'Ò'ØCñô €
ð ”×'Ò'¨Ñ8Ô8€ØŒ{×&Ò& ~Ñ6Ô6€ð 	ð à€DØ€D€Dà%€DØ€Dð „×ÒØà
�uÐ	Ð<°dÐ<Ð<Ð=à¨3Ô+<Ð=Ð=Ø6ð	
ð �qÐ	ÐA°$ÐAÐAÐAÐBðñ
ô 
ð ð2ð 2ñ „ñ
ô 
ð2ð „×ÒØà8Ø#ðñô ð ð9ð 9ñ „ñô ð9ð,ð ,ð ,ð „×Ò˜Ð'EÐ'EÐ'EÑFÔFð,ð ,ñ GÔFð,ð Ø„×Ò˜ SÔ%6¸¼Ð$GÑHÔHØ„×Ò˜¨¨D zÑ2Ô2ð0ð 0ñ 3Ô2ñ IÔHñ „ð0ð4 „×ÒØà	ˆmˆmˆmˆ_Ðà sÔ'8Ð	9Ð	9¸M¸M¸M¸?ÐKà s¤}Ð	5Ð	5¸¸¸°ÐGð  s¤~Ð	6Ð	6¸¸¸Ð8IÐJð  sÔ';Ð	<Ð	<Ð?PÐ?PÐ?PÐ>QÐRðñô ð  ð,ð ,ñ „ñ!ô ð",ð „×ÒØ˜d a¨ \ NÐ3°e¸qÀ(¸m¸_Ð5MÐNñô ð
,ð 
,ñô ð
,ð „×Ò˜ s¨H oÑ6Ô6ð,ð ,ñ 7Ô6ð,ð „×Ò˜ d¨E ]Ñ3Ô3ð,ð ,ñ 4Ô3ð,ð ,ð ,r7   