+
    Bi8                        ^ RI t ^ RIt^ RIt^ RIt^ RIHtHtHtHtHt ] P                  P                  R4      ] P                  P                  R4      8H  t] P                  P                  R4      ] P                  P                  R4      8H  t ! R R]P                  4      t ! R	 R
]P                  4      t ! R R]P                  4      t ! R R]P                  4      t]R8X  d   ]P&                  ! 4        R# R# )    N)fnmatchfnmatchcase	translatefilterfilterfalsePp\/c                   v   a  ] tR t^t o R]3R ltR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tRtV tR# )FnmatchTestCaseTc                    V'       d#   V P                  V! W4      R V: RV: 24       R# V P                  V! W4      R V: RV: 24       R# )z	expected z to match pattern z not to match pattern N)
assertTrueassertFalse)selffilenamepatternshould_matchfns   &&&&&(/usr/lib/python3.14/test/test_fnmatch.pycheck_matchFnmatchTestCase.check_match   sC    OOBx1$g/0 R2$g/0    c                l   V P                   pV! R R 4       V! R R4       V! R R4       V! R R4       V! R R4       V! R R4       V! R R4       V! R R4       V! R RR	4       V! R
RR	4       V! R
RR	4       V! RR4       V! R
R4       V! RRR	4       V! RR4       V! RR4       V! RRR	4       V! RR4       R# )abcz?*?z???*z*???z???*zab[cd]zab[!de]zab[de]Faz??br
   [\]z[!\]zfoo
barzfoo*zfoo
bar
z
foo
Nr   r   checks   & r   test_fnmatchFnmatchTestCase.test_fnmatch   s      eUeUeVeVeUeSeXeYeXu%c4c3 	dFc7dGU# 	j&!lF#gvu%dCr   c                D    V P                   pV! RR4       V! RRR4       R# )r   z*a*a*a*a*a*a*a*a*a*aFN2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabr!   r"   s   & r   test_slow_fnmatch!FnmatchTestCase.test_slow_fnmatch5   s'      h./ 	n4e<r   c                    V P                  \        \        R R4       V P                  \        \        RR4       V P                  \        \        R R4       V P                  \        \        RR4       R# test   *   testr   N)assertRaises	TypeErrorr   r   r   s   &r   test_mix_bytes_str"FnmatchTestCase.test_mix_bytes_str<   sR    )Wfd;)Wgs;)[&$?)['3?r   c                   V P                   pV! R R R\        4       V! RR R\        4       V! R RR\        4       V! RRR\        4       V! RRR\        4       V! RRR\        4       V! RRR\        4       V! RRR\        4       R# )r   TAbCFusr/binusr\binN)r   r   r"   s   & r   test_fnmatchcase FnmatchTestCase.test_fnmatchcaseB   s}      eUD+.eUE;/eUE;/eUD+.iD+6j)UK8iUK8j*dK8r   c                r    V P                  R R4       V P                  RR4       V P                  RR4       R# )r/   s   te*s   tests   te*s   foo
bars   foo*Nr!   r2   s   &r   
test_bytesFnmatchTestCase.test_bytesN   s2    &)j1g.r   c                z    V P                   pV! R R 4       V! RR \        4       V! R R\        4       V! RR4       R# )r   r6   N)r   
IGNORECASEr"   s   & r   	test_caseFnmatchTestCase.test_caseS   s9      eUeUJ'eUJ'eUr   c                z    V P                   pV! R R 4       V! RR \        4       V! R R\        4       V! RR4       R# )r7   r8   Nr   NORMSEPr"   s   & r   test_sepFnmatchTestCase.test_sepZ   s9      i#j)W-iW-j*%r   c                   V P                   p\        P                  \        P                  ,           \        P                  ,           pV F  pV! VR VR9   4       V! VRVR9  4       K  	  V F>  pT! TRVR9   ;'       d    \
        4       T! TRVR9  ;'       g    \
        '       * 4       K@  	  \        P                   F>  pT! TR VR9   ;'       d    \
        4       T! TRVR9  ;'       g    \
        '       * 4       K@  	  V F  pV! VRVR8H  4       K  	  V F*  pV! VRVR	9   4       V! VR
VR9   4       V! VRVR8g  4       K,  	  V! RR4       V! RR4       V! RR4       V! RR4       R# )z[az]azz[!az]z[AZ]z[!AZ]AZz[aa]r   z[^az]z^azz[[az]z[azz[!]]][[][!z[!]N)r   stringascii_lowercasedigitspunctuationr?   ascii_uppercaser   r#   tescasescs   &   r   test_char_setFnmatchTestCase.test_char_seta   sY     ))FMM9F<N<NNA!VQ$Y'!Watm,  A!Va4i77Z8!Wq}??Z@  ''A!Va4i77Z8!Wq}??Z@ ( A!VQ#X&  A!Wa5j)!Wa5j)!Wa3h'  	c3dDdDeUr   c                   V P                   p\        P                  \        P                  ,           \        P                  ,           pV F7  pV! VR VR9   4       V! VRVR9  4       V! VRVR9   4       V! VRVR9  4       K9  	  V F>  pT! TRVR9   ;'       d    \
        4       T! TRVR9  ;'       g    \
        '       * 4       K@  	  \        P                   F>  pT! TR VR9   ;'       d    \
        4       T! TRVR9  ;'       g    \
        '       * 4       K@  	  V F  pV! VR	VR
8H  4       K  	  V F  pV! VRVR9  4       V! VRVR9  4       V! VRVR9   4       \        '       d   VR8X  g   V! VRVR9   4       V! VRVR9   4       V! VRVR9   4       V! VRVR9  4       V! VRVR9   4       V! VRVR9  4       V! VRVR9   4       V! VRVR9  4       K  	  V F`  pV! VRR4       V! VR R!4       V! VR"VR#9   4       V! VR$VR#9  4       V! VR%VR9   4       \        '       d
   VR8X  d   KS  V! VR&VR9   4       Kb  	  R'# )(z[b-d]bcdz[!b-d]z[b-dx-z]bcdxyzz	[!b-dx-z]z[B-D]z[!B-D]BCDz[b-b]r   z[!-#]z-#z[!--.]z-.z[^-`]z^_`r   z[[-^]z[\]^z[\-^]z\]^z[b-]z-bz[!b-]z[-b]z[!-b]z[-]-z[!-]z[d-b]Fz[!d-b]Tz[d-bx-z]xyzz	[!d-bx-z]z[d-b^-`]z[d-b[-^]N)r   rN   rO   rP   rQ   r?   rR   rD   rS   s   &   r   
test_rangeFnmatchTestCase.test_range{   sK     ))FMM9F<N<NNA!Wa5j)!Xq~.!Zh/![!8"34	  A!WqEz99z:!XAAz>B  ''A!WqEz99z:!XAAz>B ( A!Wa3h'  A!Watm,!Xq}-!Wa5j)GSa!w,/a1;/!VQ$Y'!Watm,!VQ$Y'!Watm,!UAH%!VQc\*  A!We$!Xt$!Ze,![!5.1!Ze,GSaQ'\2 r   c                    V P                   pV! R R4       V! RR4       V! R R\        4       V! RR\        4       V! RRR4       V! RRR4       V! RR4       V! R R\        4       V! RR4       V! RRR4       R	# )
r   z[/]r
   r   F[\\]z[\t]t	NrC   r"   s   & r   test_sep_in_char_set$FnmatchTestCase.test_sep_in_char_set   s}      c6dFc67#dFG$eVU#gvu%dGc7G$c7dGU#r   c                   V P                   pV! R R\        '       * 4       V! RRR4       V! RR\        '       * 4       V! R RR4       V! R R\        '       * 4       V! RRR4       V! RRR4       V! RRR4       V! R R4       V! RR\        4       V! RRR4       V! RRR4       V! RR	4       V! R R	\        4       V! R	R	R4       V! R
R	R4       V! RR\        '       * 4       V! R RR4       V! RRR4       V! RRR4       R# )za/bza[.-0]bza\bFza[Z-^]bza[/-0]bza[\-0]bza[.-/]bza[.-\]bza[\-^]bza[/-^]bza[Z-\]bza[Z-/]bNrC   r"   s   & r   test_sep_in_range!FnmatchTestCase.test_sep_in_range   s     eYG,fi'fiW-eY&eYG,fi'iE*j)U+eYfi)iE*j)U+fj!eZ)j*e,iU+fjg+.eZ'j*e,iU+r   c                4   \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        4       V P                  pV! RR4       V! RR4       V! RR4       V! RR4       V! R	R
4       V! RR4       RRR4       R#   + '       g   i     R# ; i)errorrK   [[]&z[a&&b]|z[a||b]~z[a~~b],z[a-z+--A-Z].z[a-z--/A-Z]N)warningscatch_warningssimplefilterWarningr   r"   s   & r   test_warningsFnmatchTestCase.test_warnings   sw    $$&&!!'73$$E#u#x #x #x #}%#}% '&&&s   ABB	 N)__name__
__module____qualname____firstlineno__r   r   r$   r)   r3   r9   r<   r@   rE   rV   r^   rd   rg   ru   __static_attributes____classdictcell____classdict__s   @r   r   r      sR     :>7 06=@
9/
&4(3T$,6	& 	&r   r   c                   8   a  ] tR t^t o R tR tR tR tRtV t	R# )TranslateTestCasec                v   ^ RI pV P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R	4       V P                  \        R
4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       \        R4      pV P                  VR4       \        R4      p\        R4      p\        R4      pR P                  W4V.4      pV P	                  VP                  VR!4      4       V P	                  VP                  VR"4      4       V P	                  VP                  VR#4      4       V P                  VP                  VR$4      4       R# )%r   Nr   z	(?s:.*)\z?z(?s:.)\zza?b*z(?s:a.b.*)\z[abc](?s:[abc])\zz[]]z
(?s:[]])\zz[!x]z(?s:[^x])\zz[^x]z(?s:[\^x])\zz[xz
(?s:\[x)\zz*.txtz(?s:.*\.txt)\zz	*********z
A*********z
(?s:A.*)\zz
*********Az
(?s:.*A)\zzA*********?[?]?z(?s:A.*.[?].)\zz
**a*a****az(?s:(?>.*?a)(?>.*?a).*a)\zz
**a**a**a*z
**b**b**b*z*c*c*c*rm   abaccadabxbcabcbabcaxcdabccbad)reassertEqualr   joinr   matchr   )r   r   rb   r1r2r3fatres   &      r   test_translate TranslateTestCase.test_translate   s   36356*O<7+_=5)=96*N;6*O<4-87+->?;/><0-@<0-@#457IJl#9: |$|$y!""&	23	23
34%45r   c                ~   R FD  w  rV P                  V4      ;_uu_ 4        \        V4      pV P                  W2V4       RRR4       KF  	  R FD  w  rV P                  V4      ;_uu_ 4        \        V4      pV P                  W2V4       RRR4       KF  	  R#   + '       g   i     K  ; i  + '       g   i     Ko  ; i)ab*N))r   z(?s:ab.*)\z)zab*cdz(?s:ab.*cd)\z)zab*cd*z(?s:ab(?>.*?cd).*)\z)zab*cd*12z(?s:ab(?>.*?cd).*12)\z)z	ab*cd*12*z(?s:ab(?>.*?cd)(?>.*?12).*)\z)zab*cd*12*34z(?s:ab(?>.*?cd)(?>.*?12).*34)\z)zab*cd*12*34*z&(?s:ab(?>.*?cd)(?>.*?12)(?>.*?34).*)\z))z*abz(?s:.*ab)\z)z*ab*z(?s:(?>.*?ab).*)\z)z*ab*cdz(?s:(?>.*?ab).*cd)\z)z*ab*cd*z(?s:(?>.*?ab)(?>.*?cd).*)\z)z	*ab*cd*12z(?s:(?>.*?ab)(?>.*?cd).*12)\z)z
*ab*cd*12*z$(?s:(?>.*?ab)(?>.*?cd)(?>.*?12).*)\z)z*ab*cd*12*34z&(?s:(?>.*?ab)(?>.*?cd)(?>.*?12).*34)\z)z*ab*cd*12*34*z-(?s:(?>.*?ab)(?>.*?cd)(?>.*?12)(?>.*?34).*)\zsubTestr   r   r   r   expect
translateds   &   r   test_translate_wildcards*TranslateTestCase.test_translate_wildcards   s     
OG g&&&w/
  W= '& 
	 
OG g&&&w/
  W= '&	 
	 '&& '&&s   B+B+B(+B<c                    R FD  w  rV P                  V4      ;_uu_ 4        \        V4      pV P                  W2V4       RRR4       KF  	  R#   + '       g   i     K[  ; i)rK   N))rK   z	(?s:\[)\z)rM   z
(?s:\[!)\z)rL   z(?s:\[\])\z)z[abcz(?s:\[abc)\z)z[!abcz(?s:\[!abc)\z)r   r   )z[!abc]z(?s:[^abc])\z)z[!abc][!def]z(?s:[^abc][^def])\z)z[[z(?s:\[\[)\z)[[az(?s:\[\[a)\z)rk   z(?s:[\[])\z)z[[]az(?s:[\[]a)\z)z[[]]z(?s:[\[]\])\z)z[[]a]z(?s:[\[]a\])\z)z[[a]z(?s:[\[a])\z)z[[a]]z(?s:[\[a]\])\z)z[[a]bz(?s:[\[a]b)\z)z[\z(?s:\[\\)\z)r   z(?s:[\\])\z)ra   z(?s:[\\\\])\zr   r   s   &   r   test_translate_expressions,TranslateTestCase.test_translate_expressions  sO     
OG0 g&&&w/
  W= '&1 
0 '&&s   AAc                    ^ RI Hp . ROpV! RP                  V4      RR4      w  r4. ROpV P                  W54       V P                  V^^.4       R# )r   )
_translater    rp   N)	za^bz***r   r   [a-z][1-9]r   z++r   )r   z\^r   r   rp   rp   r   r   r   \+r   \[r   r   )r   r   r   assertListEqual)r   r   blockspartsstar_indicesexpect_partss   &     r   test_star_indices_locations-TranslateTestCase.test_star_indices_locations3  sN    &M(#sC9 	U1\Aq62r   rw   N)
rx   ry   rz   r{   r   r   r   r   r|   r}   r~   s   @r   r   r      s     6>>8>:	3 	3r   r   c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )FilterTestCasei?  c                    V P                  \        . ROR4      R R.4       V P                  \        . ROR4      RR.4       R# )	PythonPerlP*   Python   Perl   P*Nr   Rubyr   Tclr      Rubyr      Tcl)r   r   r2   s   &r   test_filterFilterTestCase.test_filterA  sB     A4H"F+	- EuM#W-	/r   c                z    V P                  \        \        R .R4       V P                  \        \        R.R4       R# r,   )r0   r1   r   r2   s   &r   r3   !FilterTestCase.test_mix_bytes_strG  s.    )VfXt<)VgY<r   c                    T P                  \        . ROR4      \        '       d   R R.MR .4       T P                  \        . ROR4      \        '       d   R R.4       R# R.4       R# )Test.pyTest.PL*.p**.P*Nr   Test.rbr   )r   r   r?   r2   s   &r   r@   FilterTestCase.test_caseK  s[     A6J3=:)Y/I;	P A6J3=:)Y/	PDM;	Pr   c                    T P                  \        . ROR4      \        '       d   R R.MR .4       T P                  \        . ROR4      \        '       d   R R.4       R# R.4       R# )r7   usr\libusr/*usr\*Nr7   usrr   )r   r   rD   r2   s   &r   rE   FilterTestCase.test_sepQ  s[     >H4;G)Z0)	N >I4;G)Z0	OBL	Or   rw   N)
rx   ry   rz   r{   r   r3   r@   rE   r|   r}   r~   s   @r   r   r   ?  s!     /=PO Or   r   c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )FilterFalseTestCaseiX  c                    \        . ROR4      pV P                  VRR.4       \        . R	OR4      pV P                  VRR.4       R# )
r   r   r   r   r   r   r   Nr   r   )r   r   )r   actuals   & r   test_filterfalse$FilterFalseTestCase.test_filterfalseZ  sE    >EVfe_5BEJVgv%67r   c                z    V P                  \        \        R .R4       V P                  \        \        R.R4       R# r,   )r0   r1   r   r2   s   &r   r3   &FilterFalseTestCase.test_mix_bytes_str`  s.    )[6(DA)[7)SAr   c                    T P                  \        . ROR4      \        '       d   R.MRR.4       T P                  \        . ROR4      \        '       d
   R.4       R# R R.4       R# )r   r   r   r   r   Nr   )r   r   r?   r2   s   &r   r@   FilterFalseTestCase.test_cased  s[    %FO(2
)I8N	P%FO(2
)	Q9BI8O	Qr   c                    T P                  \        . ROR4      \        '       d   R.MRR.4       T P                  \        . ROR4      \        '       d
   R.4       R# R R.4       R# )r7   r   r   r   r   Nr   )r   r   rD   r2   s   &r   rE   FilterFalseTestCase.test_sepj  s[    %CWM$+G%%1D	F%CXN$+G%	E2;U1C	Er   rw   N)
rx   ry   rz   r{   r   r3   r@   rE   r|   r}   r~   s   @r   r   r   X  s"     8BQE Er   r   __main__)osrN   unittestrq   r   r   r   r   r   pathnormcaser?   rD   TestCaser   r   r   r   rx   mainrw   r   r   <module>r      s    
    H H WWc"bgg&6&6s&;;

''

4
 BGG$4$4S$9
9H&h'' H&Vc3)) c3LOX&& O2E(++ E2 zMMO r   