+
    xȇi              
          R t ^ RIt^ RIHt ^ RIt^ RIHt ^ RIHt ^ RI	H
t ]P                  P                  R4      t]P                  R 4       tR tR tR	 t]P                  P)                  R
. RO4      ]P                  P)                  R. RO4      R 4       4       t]P                  P)                  RRR/R3RR/]3RR/R3RR/R3RR/]3RR/]3.. ROR7      R 4       tR# )zf
Tests that dialects are properly handled during parsing
for all of the parsers defined in parsers.py
N)StringIO)ParserWarning)	DataFramez=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc                  (    R p RRRRRRRRRR	R
^/pW3# )weirddoublequoteF
escapechar~	delimiter:skipinitialspace	quotechar`quoting )dialect_namedialect_kwargss     s/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/io/parser/test_dialect.pycustom_dialectr      s7    LucSES1N ''    c                 
   T pR p\         P                  ! 4       p\         P                  Vn        VP                  R8X  dN   Rp\
        P                  ! \        VR7      ;_uu_ 4        VP                  \        V4      VR7       RRR4       R# VP                  \        V4      VR7      pRpVP                  \        V4      4      pVP                  RRR	R
7       \        P                  ! WV4       R#   + '       g   i     R# ; i)z0label1,label2,label3
index1,"a,c,e
index2,b,d,f
pyarrow?The 'dialect' option is not supported with the 'pyarrow' enginematchdialectNz/label1,label2,label3
index1,a,c,e
index2,b,d,f
az"aT)inplace)csvexcel
QUOTE_NONEr   enginepytestraises
ValueErrorread_csvr   replacetmassert_frame_equal)all_parsersparserdatadiamsgdfexps   &      r   test_dialectr1   #   s    FD ))+C..CK}}	!O]]:S11OOHTNCO8 2	$	5BD
 //(4.
)CKKT4K("" 21s   &C11D	c           	      
   R pT pRp\        RRR.RRR./4      p\        P                  ! VRR	7      ;_uu_ 4        VP                  R
8X  dW   Rp\        P
                  ! \        VR7      ;_uu_ 4        VP                  \        V4      VR7       RRR4        RRR4       R# VP                  \        V4      VR7      p\        P                  ! Wd4       RRR4       R#   + '       g   i     LW; i  + '       g   i     R# ; i)	mydialectz+fruit:vegetable
apple:broccoli
pear:tomato
fruitapplepear	vegetablebroccolitomator   )r
   r   r   r   r   N)
r   r(   with_csv_dialectr"   r#   r$   r%   r&   r   r)   )r*   r   r+   r,   r0   r.   r/   s   &      r   test_dialect_strr;   @   s    LFD
 Ww/z8>TU
VC			\S	9	9==I%SCz55E 6 
:	9 __Xd^\_B
b& 
:	9 65 
:	9	9s)   8C12C		C1"2C1C.)C11D	c                      ! R  R4      pRpT pRp\         P                  ! \        VR7      ;_uu_ 4        VP                  \	        V4      VR7       RRR4       R#   + '       g   i     R# ; i)c                       ] tR t^VtRtR# ),test_invalid_dialect.<locals>.InvalidDialectr   N)__name__
__module____qualname____firstlineno____static_attributes__r   r   r   InvalidDialectr>   V   s    r   rD   za
1zInvalid dialectr   r   N)r#   r$   r%   r&   r   )r*   rD   r,   r+   r.   s   &    r   test_invalid_dialectrE   U   sQ      DF
C	z	-	-? 
.	-	-	-s   AA-	argvaluec                    Vw  rET p\        R ^.R^./4      pRpRp	/ p
Ve5   VR8X  d   WR,          W&   M"VR8X  d   ^ RIHp W,          W&   M
\        p	RW&   \        P
                  ! V3/ VB ;_uu_ 4        VP                  R8X  d[   R	p\        P                  ! \        VR
7      ;_uu_ 4        VP                  ! RR\        V4      3RV/V
B  RRR4        RRR4       R# VP                  ! V	R\        V4      3RV/V
B p\        P                  ! W4       RRR4       R#   + '       g   i     L[; i  + '       g   i     R# ; i)r   ba:b
1:2Nr   default)parser_defaultsblahr   r   r   zConflicting values for)r   pandas.io.parsers.base_parserrL   r   r(   r:   r"   r#   r$   r%   read_csv_check_warningsr   r)   )r*   r   rF   rG   r   r   r+   expectedr,   warning_klasskwdsrL   r.   results   &&&&          r   &test_dialect_conflict_except_delimiterrT   a   sJ    $2 LF#sC!-.HDMD I&+DIiE',DI)MDI			\	<^	<	<==I%SCz55..,TN	
 )  6  
=	< //$TN
 !	

 
 	f/) 
=	< 65 
=	<	<s*   58D4-!D!		D4!6D4!D1,D44E	zkwargs,warning_klasssep,.r
   r   )idsc                    Vw  rET p\        R ^.R^./4      pRp\        P                  ! V3/ VB ;_uu_ 4        VP                  R8X  d[   Rp	\        P
                  ! \        V	R7      ;_uu_ 4        VP                  ! RR\        V4      3RV/VB  RRR4        RRR4       R# VP                  ! VR\        V4      3RV/VB p
\        P                  ! W4       RRR4       R#   + '       g   i     L[; i  + '       g   i     R# ; i)	r   rI   rJ   r   r   r   Nz"Conflicting values for 'delimiter'r   )
r   r(   r:   r"   r#   r$   r%   rO   r   r)   )r*   r   kwargsrQ   r   r   r+   rP   r,   r.   rS   s   &&&&       r   test_dialect_conflict_delimiterr[      s   * $2 LF#sC!-.HD			\	<^	<	<==I%SCz55..8TN	
 )  6  
=	< //0TN
 !	

 
 	f/) 
=	< 65 
=	<	<s)   8C81!C%		C8%6C8%C50C88D		)Nr   r   r   r   r   )r   rK   other)zsep-override-truezsep-override-falsezdelimiter-no-conflictzdelimiter-default-argzdelimiter-conflictzdelimiter-conflict2)__doc__r   ior   r#   pandas.errorsr   pandasr   pandas._testing_testingr(   markfilterwarnings
pytestmarkfixturer   r1   r;   rE   parametrizerT   r[   r   r   r   <module>rh      s%  
    '  [[''C

 
( 
(#:'*	@ 	S "AB+0 C	
+0\ 
t
}%
s	T"
t	d#
s	]+
s	]+	  &0'&0r   