
    /hh*                         S SK r S SKrS SKrS SKrS SKJrJrJrJr   " S S\ R                  5      r	 " S S\ R                  5      r
 " S S\ R                  5      r\S	:X  a  \ R                  " 5         gg)
    N)fnmatchfnmatchcase	translatefilterc                   j    \ rS rSrS\4S jrS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rSrg)FnmatchTestCase
   Tc                     U(       a!  U R                  U" X5      SU< SU< 35        g U R                  U" X5      SU< SU< 35        g )Nz	expected z to match pattern z not to match pattern )
assertTrueassertFalse)selffilenamepatternshould_matchfns        :/opt/python-3.13.8/usr/lib/python3.13/test/test_fnmatch.pycheck_matchFnmatchTestCase.check_match   sC    OOBx1$g/0 R2$g/0    c                 j   U R                   nU" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS	S
5        U" SSS
5        U" SSS
5        U" SS5        U" SS5        U" SSS
5        U" SS5        U" SS5        U" SSS
5        U" SS5        g )Nabcz?*?z???*z*???z???*zab[cd]zab[!de]zab[de]Faz??b\[\]z[!\]zfoo
barzfoo*zfoo
bar
z
foo
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                 B    U R                   nU" SS5        U" SSS5        g )N2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz*a*a*a*a*a*a*a*a*a*a3aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFr   r   s     r   test_slow_fnmatch!FnmatchTestCase.test_slow_fnmatch1   s'      h./ 	n4e<r   c                     U R                  [        [        SS5        U R                  [        [        SS5        U R                  [        [        SS5        U R                  [        [        SS5        g Ntest   *   testr   )assertRaises	TypeErrorr   r   r   s    r   test_mix_bytes_str"FnmatchTestCase.test_mix_bytes_str8   sR    )Wfd;)Wgs;)[&$?)['3?r   c                    U R                   nU" SSS[        5        U" SSS[        5        U" SSS[        5        U" SSS[        5        U" SSS[        5        U" SSS[        5        U" SSS[        5        U" SSS[        5        g )Nr   TAbCFusr/binusr\bin)r   r   r   s     r   test_fnmatchcase FnmatchTestCase.test_fnmatchcase>   s}      eUD+.eUE;/eUE;/eUD+.iD+6j)UK8iUK8j*dK8r   c                 p    U R                  SS5        U R                  SS5        U R                  SS5        g )Nr,   s   te*s   tests   te*s   foo
bars   foo*r   r/   s    r   
test_bytesFnmatchTestCase.test_bytesJ   s2    &)j1g.r   c                     [         R                  R                  S5      [         R                  R                  S5      :H  nU R                  nU" SS5        U" SSU5        U" SSU5        U" SS5        g )NABCr   r3   ospathnormcaser   )r   
ignorecaser    s      r   	test_caseFnmatchTestCase.test_caseO   sa    WW%%e,0@0@0GG
  eUeUJ'eUJ'eUr   c                     [         R                  R                  S5      [         R                  R                  S5      :H  nU R                  nU" SS5        U" SSU5        U" SSU5        U" SS5        g )Nr   /r4   r5   r=   r   normsepr    s      r   test_sepFnmatchTestCase.test_sepW   sa    ''""4(BGG,<,<S,AA  i#j)W-iW-j*%r   c                    [         R                  R                  S5      [         R                  R                  S5      :H  nU R                  n[        R
                  [        R                  -   [        R                  -   nU H  nU" USUS;   5        U" USUS;  5        M     U H4  nU" USUS;   =(       a    U5        U" USUS;  =(       d    U(       + 5        M6     [        R                   H4  nU" USUS;   =(       a    U5        U" USUS;  =(       d    U(       + 5        M6     U H  nU" US	US
:H  5        M     U H*  nU" USUS;   5        U" USUS;   5        U" USUS:g  5        M,     U" SS5        U" SS5        U" SS5        U" SS5        g )Nr<   r   z[az]azz[!az]z[AZ]z[!AZ]AZz[aa]r   z[^az]z^azz[[az]z[azz[!]]][z[]z[!z[!]	r>   r?   r@   r   stringascii_lowercasedigitspunctuationascii_uppercase)r   rA   r    tescasescs        r   test_char_setFnmatchTestCase.test_char_set_   su   WW%%e,0@0@0GG
  ))FMM9F<N<NNA!VQ$Y'!Watm,  A!Va4i7Z8!Wq}?Z@  ''A!Va4i7Z8!Wq}?Z@ ( A!VQ#X&  A!Wa5j)!Wa5j)!Wa3h'  	c3dDdDeUr   c                 0   [         R                  R                  S5      [         R                  R                  S5      :H  n[         R                  R                  S5      [         R                  R                  S5      :H  nU R                  n[        R
                  [        R                  -   [        R                  -   nU H7  nU" USUS;   5        U" USUS;  5        U" USUS	;   5        U" US
US	;  5        M9     U H4  nU" USUS;   =(       a    U5        U" USUS;  =(       d    U(       + 5        M6     [        R                   H4  nU" USUS;   =(       a    U5        U" USUS;  =(       d    U(       + 5        M6     U H  nU" USUS:H  5        M     U H  nU" USUS;  5        U" USUS;  5        U" USUS;   5        U(       a  US:X  d  U" USUS;   5        U" USUS;   5        U" USUS;   5        U" USUS;  5        U" USUS;   5        U" USUS;  5        U" USUS ;   5        U" US!US ;  5        M     U HZ  nU" US"S#5        U" US$S%5        U" US&US';   5        U" US(US';  5        U" US)US;   5        U(       a  US:X  a  MM  U" US*US;   5        M\     g )+Nr<   r   r   rE   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^_`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[-^]rO   )r   rA   rG   r    rU   rV   s         r   
test_rangeFnmatchTestCase.test_rangez   s   WW%%e,0@0@0GG
''""4(BGG,<,<S,AA  ))FMM9F<N<NNA!Wa5j)!Xq~.!Zh/![!8"34	  A!WqEz9z:!XAz>B  ''A!WqEz9z:!XAz>B ( A!Wa3h'  A!Watm,!Xq}-!Wa5j)Sa!w,/a1;/!VQ$Y'!Watm,!VQ$Y'!Watm,!UAH%!VQc\*  A!We$!Xt$!Ze,![!5.1!Ze,SaQ'\2 r   c                 Z   [         R                  R                  S5      [         R                  R                  S5      :H  nU R                  nU" SS5        U" SS5        U" SSU5        U" SSU5        U" SSS5        U" SSS5        U" SS5        U" SSU5        U" SS5        U" S	SS5        g )
Nr   rE   z[/]r   Fz[\\]z[\t]t	r=   rF   s      r   test_sep_in_char_set$FnmatchTestCase.test_sep_in_char_set   s    ''""4(BGG,<,<S,AA  c6dFc67#dFG$eVU#gvu%dGc7G$c7dGU#r   c                 N   [         R                  R                  S5      [         R                  R                  S5      :H  nU R                  nU" SSU(       + 5        U" SSS5        U" SSU(       + 5        U" SSS5        U" SSU(       + 5        U" SSS5        U" SSS5        U" S	SS5        U" SS
5        U" SS
U5        U" S
S
S5        U" SS
S5        U" SS5        U" SSU5        U" SSS5        U" SSS5        U" SSU(       + 5        U" SSS5        U" SSS5        U" SSS5        g )Nr   rE   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-/]br=   rF   s      r   test_sep_in_range!FnmatchTestCase.test_sep_in_range   s)   ''""4(BGG,<,<S,AA  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                    [         R                  " 5          [         R                  " S[        5        U R                  nU" SS5        U" SS5        U" SS5        U" SS	5        U" S
S5        U" SS5        S S S 5        g ! , (       d  f       g = f)NerrorrN   z[[]&z[a&&b]|z[a||b]~z[a~~b],z[a-z+--A-Z].z[a-z--/A-Z])warningscatch_warningssimplefilterWarningr   r   s     r   test_warningsFnmatchTestCase.test_warnings   sq    $$&!!'73$$E#u#x #x #x #}%#}% '&&s   AA==
B N)__name__
__module____qualname____firstlineno__r   r   r!   r&   r0   r6   r9   rB   rH   rW   r_   rd   rg   rt   __static_attributes__rv   r   r   r   r   
   sJ    :>7 06=@
9/
&6*3X$,8	&r   r   c                       \ rS rSrS rSrg)TranslateTestCase   c                 t   SS K nU R                  [        S5      S5        U R                  [        S5      S5        U R                  [        S5      S5        U R                  [        S5      S	5        U R                  [        S
5      S5        U R                  [        S5      S5        U R                  [        S5      S5        U R                  [        S5      S5        U R                  [        S5      S5        U R                  [        S5      S5        U R                  [        S5      S5        U R                  [        S5      S5        U R                  [        S5      S5        [        S5      nU R                  US5        [        S5      n[        S5      n[        S5      nS R                  X4U/5      nU R	                  UR                  US!5      5        U R	                  UR                  US"5      5        U R	                  UR                  US#5      5        U R                  UR                  US$5      5        g )%Nr   r   z	(?s:.*)\Z?z(?s:.)\Zza?b*z(?s:a.b.*)\Zz[abc]z(?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*rl   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   rv   N)rw   rx   ry   rz   r   r{   rv   r   r   r}   r}      s    6r   r}   c                   ,    \ rS rSrS rS rS rS rSrg)FilterTestCase   c                     U R                  [        / SQS5      SS/5        U R                  [        / SQS5      SS/5        g )	N)PythonRubyPerlTclzP*r   r   )   Pythons   Ruby   Perls   Tcls   P*r   r   )r   r   r/   s    r   test_filterFilterTestCase.test_filter   sB     A4H"F+	- EuM#W-	/r   c                 x    U R                  [        [        S/S5        U R                  [        [        S/S5        g r)   )r-   r.   r   r/   s    r   r0   !FilterTestCase.test_mix_bytes_str  s.    )VfXt<)VgY<r   c                 4   [         R                  R                  S5      [         R                  R                  S5      :H  nU R                  [	        / SQS5      U(       a  SS/OS/5        U R                  [	        / SQS5      U(       a	  SS/5        g S/5        g )NPp)Test.pyzTest.rbTest.PLz*.p*r   r   z*.P*r>   r?   r@   r   r   )r   rA   s     r   rB   FilterTestCase.test_case	  s    WW%%c*bgg.>.>s.CC
 A6J3=)Y/I;	P A6J3=)Y/	PDM;	Pr   c                 4   [         R                  R                  S5      [         R                  R                  S5      :H  nU R                  [	        / SQS5      U(       a  SS/OS/5        U R                  [	        / SQS5      U(       a	  SS/5        g S/5        g )Nr   rE   )r4   usrusr\libzusr/*r4   r   zusr\*r   )r   rG   s     r   rH   FilterTestCase.test_sep  s    ''""4(BGG,<,<S,AA >H4;)Z0)	N >I4;)Z0	OBL	Or   rv   N)	rw   rx   ry   rz   r   r0   rB   rH   r{   rv   r   r   r   r      s    /=POr   r   __main__)unittestr>   rP   rp   r   r   r   r   TestCaser   r}   r   rw   mainrv   r   r   <module>r      sm     	   ; ;O&h'' O&d6)) 6BOX&& O6 zMMO r   