ó
    ÞÅŸg81  ã                   óÖ   • S SK r S SKJr  S SKJrJrJrJr  S SK	J
r  S SKJ
r  S SKJ
r  S SKJrJr   " S S5      r " S S	\5      r
 " S
 S\\5      r " S S\\5      r " S S\\5      rg)é    N)Úmessages)ÚPYPYÚDoctestScopeÚFunctionScopeÚModuleScope)ÚTest)ÚTestCaseÚskipc                   ó2   ^ • \ rS rSrSrS rU 4S jrSrU =r$ )Ú_DoctestMixiné   Tc                 óZ  • / n[         R                  " U5      R                  5        HØ  nUR                  5       S:X  a  O¯UR	                  S5      (       dŽ  UR	                  S5      (       dx  UR	                  S5      (       db  UR	                  S5      (       dL  UR	                  S5      (       d6  UR	                  S5      (       d   U(       a  US   R	                  S	5      (       a  S
U-  nOSU-  nUR                  U5        MÚ     [         R                  " S5      nUSR                  U5      -  $ )NÚ Ú zexcept:zexcept zfinally:zelse:zelif éÿÿÿÿ)z>>> @z... @z... %sz>>> %szo            def doctest_something():
                """
                   %s
                """
            z
       )ÚtextwrapÚdedentÚ
splitlinesÚstripÚ
startswithÚappendÚjoin)ÚselfÚinputÚlinesÚlineÚdoctestificators        Ú\/var/www/blue/EV-Temp_rev04/venv/lib/python3.13/site-packages/pyflakes/test/test_doctests.pyÚ
doctestifyÚ_DoctestMixin.doctestify   sñ   € ØˆÜ—O’O EÓ*×5Ñ5Ö7ˆDØ�z‰z‹|˜rÓ!ØØ—/‘/ #×&Ñ&Ø—/‘/ )×,Ñ,Ø—/‘/ )×,Ñ,Ø—/‘/ *×-Ñ-Ø—/‘/ '×*Ñ*Ø—/‘/ '×*Ñ*Þ˜U 2™Y×1Ñ1Ð2D×EÑEØ $‘‘à $‘�Ø�L‰L˜Öñ 8ô #Ÿ/š/ð +ó ˆð  ×!1Ñ!1°%Ó!8Ñ8Ð8ó    c                 óJ   >• [         TU ]  " U R                  U5      /UQ70 UD6$ )N)ÚsuperÚflakesr   )r   r   ÚargsÚkwÚ	__class__s       €r   r$   Ú_DoctestMixin.flakes,   s%   ø€ Ü‰wŠ~˜dŸo™o¨eÓ4ÐB°tÒB¸rÑBÐBr!   © )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚwithDoctestr   r$   Ú__static_attributes__Ú__classcell__)r'   s   @r   r   r      s   ø† à€Kò9÷0Có Cr!   r   c                   ó¬   • \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 r\" S5      S 5       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)r   é0   Tc                 ó6  • U R                  S5      nUR                  nU Vs/ sH  o3R                  [        L d  M  UPM     nnU Vs/ sH  o3R                  [        L d  M  UPM     nnU Vs/ sH  o3R                  [
        L d  M  UPM     nnU R                  [        U5      S5        U R                  [        U5      S5        US   nUS   nU R                  U[        5        U R                  U[        5        U R                  U[
        5        U R                  U[        5        U R                  SU5        U R                  SU5        U R                  SU5        U R                  [        U5      S5        U R                  SUS   5        gs  snf s  snf s  snf )	z-Check that a doctest is given a DoctestScope.z§
        m = None

        def doctest_stuff():
            '''
                >>> d = doctest_stuff()
            '''
            f = m
            return f
        é   r   ÚmÚdoctest_stuffÚdÚfN)r$   Ú
deadScopesr'   r   r   r   ÚassertEqualÚlenÚassertIsInstanceÚassertNotIsInstanceÚassertIn©	r   ÚcheckerÚscopesÚscopeÚmodule_scopesÚdoctest_scopesÚfunction_scopesÚmodule_scopeÚdoctest_scopes	            r   Útest_scope_classÚTest.test_scope_class4   s  € à—+‘+ð 	ó 	ˆð ×#Ñ#ˆá%óIÙ%�e¯©¼KÐ)G�E™vð 	ð Iñ  &óJÙ%�e¯©¼LÐ)H�E™vð 	ð Jñ  &óKÙ%�e¯©¼MÐ)I�E™vð 	ð Kð 	×Ñœ˜]Ó+¨QÔ/Ø×Ñœ˜^Ó,¨aÔ0à$ QÑ'ˆØ& qÑ)ˆà×Ñ˜m¬\Ô:Ø×Ñ˜m¬[Ô9Ø× Ñ  ´Ô>Ø× Ñ  ¬|Ô<à�‰�c˜<Ô(Ø�‰�o |Ô4à�‰�c˜=Ô)à×Ñœ˜_Ó-¨qÔ1Ø�‰�c˜?¨1Ñ-Õ.ùò1IùòJùòKs"   ¢F»FÁFÁ FÁ,FÂFc                 ó°  • U R                  S5      nUR                  nU Vs/ sH  o3R                  [        L d  M  UPM     nnU Vs/ sH  o3R                  [        L d  M  UPM     nnU Vs/ sH  o3R                  [
        L d  M  UPM     nnU R                  [        U5      S5        U R                  [        U5      S5        US   nUS   nU R                  SU5        U R                  SU5        U R                  SU5        U R                  [        U5      S5        U R                  SUS   5        U R                  S	US   5        g
s  snf s  snf s  snf )z'Check that nested doctests are ignored.a˜  
        m = None

        def doctest_stuff():
            '''
                >>> def function_in_doctest():
                ...     """
                ...     >>> ignored_undefined_name
                ...     """
                ...     df = m
                ...     return df
                ...
                >>> function_in_doctest()
            '''
            f = m
            return f
        r4   r   r5   r6   Úfunction_in_doctesté   r8   ÚdfN)	r$   r9   r'   r   r   r   r:   r;   r>   r?   s	            r   Útest_nested_doctest_ignoredÚ Test.test_nested_doctest_ignored\   sS  € à—+‘+ð ó ˆð$ ×#Ñ#ˆá%óIÙ%�e¯©¼KÐ)G�E™vð 	ð Iñ  &óJÙ%�e¯©¼LÐ)H�E™vð 	ð Jñ  &óKÙ%�e¯©¼MÐ)I�E™vð 	ð Kð 	×Ñœ˜]Ó+¨QÔ/Ø×Ñœ˜^Ó,¨aÔ0à$ QÑ'ˆØ& qÑ)ˆà�‰�c˜<Ô(Ø�‰�o |Ô4Ø�‰Ð+¨]Ô;à×Ñœ˜_Ó-¨qÔ1à�‰�c˜?¨1Ñ-Ô.Ø�‰�d˜O¨AÑ.Õ/ùò)IùòJùòKs"   ¢E	»E	ÁEÁ EÁ,EÂEc                 óÚ  • U R                  S5      nUR                  nU Vs/ sH  o3R                  [        L d  M  UPM     nnU Vs/ sH  o3R                  [        L d  M  UPM     nnU Vs/ sH  o3R                  [
        L d  M  UPM     nnU R                  [        U5      S5        U R                  [        U5      S5        US   nUS   nU R                  SU5        U R                  SU5        U R                  [        U5      S5        U R                  SUS   5        U R                  SUS   5        U R                  S	US   5        U R                  S	U5        g
s  snf s  snf s  snf )z;Check that global in doctest does not pollute module scope.a[  
        def doctest_stuff():
            '''
                >>> def function_in_doctest():
                ...     global m
                ...     m = 50
                ...     df = 10
                ...     m = df
                ...
                >>> function_in_doctest()
            '''
            f = 10
            return f

        r4   r   r6   rK   rL   r8   rM   r5   N)
r$   r9   r'   r   r   r   r:   r;   r>   ÚassertNotInr?   s	            r   Ú"test_global_module_scope_pollutionÚ'Test.test_global_module_scope_pollution‡   sh  € à—+‘+ð ó ˆð  ×#Ñ#ˆá%óIÙ%�e¯©¼KÐ)G�E™vð 	ð Iñ  &óJÙ%�e¯©¼LÐ)H�E™vð 	ð Jñ  &óKÙ%�e¯©¼MÐ)I�E™vð 	ð Kð 	×Ñœ˜]Ó+¨QÔ/Ø×Ñœ˜^Ó,¨aÔ0à$ QÑ'ˆØ& qÑ)ˆà�‰�o |Ô4Ø�‰Ð+¨]Ô;à×Ñœ˜_Ó-¨qÔ1à�‰�c˜?¨1Ñ-Ô.Ø�‰�d˜O¨AÑ.Ô/Ø�‰�c˜?¨1Ñ-Ô.à×Ñ˜˜lÕ+ùò-IùòJùòKs"   ¢E»EÁE#Á E#Á,E(ÂE(c                 óD   • U R                  S[        R                  5        g )Nzn
        global m

        def doctest_stuff():
            '''
                >>> m
            '''
        ©r$   r5   ÚUndefinedName©r   s    r   Útest_global_undefinedÚTest.test_global_undefined²   s   € Ø�‰ð ô �_‰_õ	r!   c                 ób   • U R                  S[        R                  [        R                  5        g)z*Doctest within nested class are processed.a  
        class C:
            class D:
                '''
                    >>> m
                '''
                def doctest_stuff(self):
                    '''
                        >>> m
                    '''
                    return 1
        NrU   rW   s    r   Útest_nested_classÚTest.test_nested_class¼   s"   € à�‰ð ô �_‰_œaŸo™oõ	/r!   c                 ó&   • U R                  S5        g)z<Doctest module does not process doctest in nested functions.a=  
        def doctest_stuff():
            def inner_function():
                '''
                    >>> syntax error
                    >>> inner_function()
                    1
                    >>> m
                '''
                return 1
            m = inner_function()
            return m
        N©r$   rW   s    r   Útest_ignore_nested_functionÚ Test.test_ignore_nested_functionË   s   € ð 	�‰ð õ 	r!   c                 óD   • U R                  S[        R                  5        g)z#Doctest may not access class scope.z¬
        class C:
            def doctest_stuff(self):
                '''
                    >>> m
                '''
                return 1
            m = 1
        NrU   rW   s    r   Útest_inaccessible_scope_classÚ"Test.test_inaccessible_scope_classà   s   € à�‰ð ô �_‰_õ	r!   c                 ó&   • U R                  S5        g )Nzr
        import foo

        def doctest_stuff():
            '''
                >>> foo
            '''
        r^   rW   s    r   Útest_importBeforeDoctestÚTest.test_importBeforeDoctestì   s   € Ø�‰ð õ 	r!   Útodoc                 óD   • U R                  S[        R                  5        g )Nzž
        import foo

        def doctest_stuff():
            """
                >>> import foo
                >>> foo
            """

        foo
        )r$   r5   ÚRedefinedWhileUnusedrW   s    r   Útest_importBeforeAndInDoctestÚ"Test.test_importBeforeAndInDoctestö   s   € à�‰ð 
ô ×#Ñ#õ
	%r!   c                 ó&   • U R                  S5        g )NzŸ
        def doctest_stuff():
            """
                >>> import foo
                >>> foo
            """

        import foo
        foo()
        r^   rW   s    r   Útest_importInDoctestAndAfterÚ!Test.test_importInDoctestAndAfter  ó   € Ø�‰ð 	õ 		r!   c                 óÎ   • U R                  S[        R                  5      R                  S   nU R	                  UR
                  S5        U R	                  UR                  S5        g )Nzg

        def doctest_stuff():
            """
                >>> x # line 5
            """

        r   é   é   ©r$   r5   rV   r   r:   ÚlinenoÚcol©r   Úexcs     r   Útest_offsetInDoctestsÚTest.test_offsetInDoctests  óV   € Ø�k‰kð ô �_‰_ó÷ '™h qñ*ˆð 	×Ñ˜Ÿ™ QÔ'Ø×Ñ˜Ÿ™ "Õ%r!   c                 óÎ   • U R                  S[        R                  5      R                  S   nU R	                  UR
                  S5        U R	                  UR                  S5        g )Nzo

        def doctest_stuff():
            """
                >>> lambda: x # line 5
            """

        r   rq   é   rs   rv   s     r   Útest_offsetInLambdasInDoctestsÚ#Test.test_offsetInLambdasInDoctests  rz   r!   c                 óÎ   • U R                  S[        R                  5      R                  S   nU R	                  UR
                  S5        U R	                  UR                  S5        g )Nzm

        def doctest_stuff():
            """
                >>> x = 5
            """

        x

        r   é   rs   rv   s     r   Útest_offsetAfterDoctestsÚTest.test_offsetAfterDoctests(  sV   € Ø�k‰kð 	ô �_‰_ó	÷ '™h qñ	*ˆð 	×Ñ˜Ÿ™ QÔ'Ø×Ñ˜Ÿ™ !Õ$r!   c                 ó¢  • U R                  S[        R                  [        R                  [        R                  5      R                  nUS   nU R	                  UR
                  S5        [        (       d  U R	                  UR                  S5        OU R	                  UR                  S5        US   nU R	                  UR
                  S5        [        (       a  U R	                  UR                  S5        OU R	                  UR                  S	5        US
   nU R	                  UR
                  S5        U R	                  UR                  S5        g )NzÐ
            def doctest_stuff():
                """
                    >>> from # line 4
                    >>>     fortytwo = 42
                    >>> except Exception:
                """
            r   é   é   é   r4   rq   é   r   rL   é   )r$   r5   ÚDoctestSyntaxErrorr   r:   rt   r   ru   ©r   Ú
exceptionsrw   s      r   Útest_syntaxErrorInDoctestÚTest.test_syntaxErrorInDoctest6  s  € Ø—[‘[ðô × Ñ Ü× Ñ Ü× Ñ ó"÷ #+¡(ð 	ð ˜‰mˆØ×Ñ˜Ÿ™ QÔ'ßŠtØ×Ñ˜SŸW™W bÕ)à×Ñ˜SŸW™W bÔ)ð
 ˜‰mˆØ×Ñ˜Ÿ™ QÔ'ßŠ4Ø×Ñ˜SŸW™W bÕ)à×Ñ˜SŸW™W bÔ)Ø˜‰mˆØ×Ñ˜Ÿ™ QÔ'Ø×Ñ˜Ÿ™ "Õ%r!   c                 óÎ   • U R                  S[        R                  5      R                  S   nU R	                  UR
                  S5        U R	                  UR                  S5        g )Nz|
        def doctest_stuff():
            """
                >>> if True:
                ... pass
            """
        r   rq   r‡   )r$   r5   r‰   r   r:   rt   ru   rv   s     r   Útest_indentationErrorInDoctestÚ#Test.test_indentationErrorInDoctestW  sX   € Ø�k‰kð ô ×!Ñ!ó#÷ $,¡8¨Añ/ˆð 	×Ñ˜Ÿ™ QÔ'Ø×Ñ˜Ÿ™ "Õ%r!   c                 óZ  • U R                  S[        R                  [        R                  5      R                  u  pU R                  UR                  S5        U R                  UR                  S5        U R                  UR                  S5        U R                  UR                  S5        g )NzÞ
            def doctest_stuff(arg1,
                              arg2,
                              arg3):
                """
                    >>> assert
                    >>> this
                """
            rˆ   é   é   rr   )r$   r5   r‰   rV   r   r:   rt   ru   )r   Úexc1Úexc2s      r   Útest_offsetWithMultiLineArgsÚ!Test.test_offsetWithMultiLineArgsb  s…   € Ø—{‘{ðô × Ñ Ü�O‰Oó÷ &™Xñ 	ˆð 	×Ñ˜Ÿ™ aÔ(Ø×Ñ˜Ÿ™ 2Ô&Ø×Ñ˜Ÿ™ aÔ(Ø×Ñ˜Ÿ™ 2Õ&r!   c                 ó&   • U R                  S5        g )NzT
        def foo():
            '''
                >>> foo
            '''
        r^   rW   s    r   Útest_doctestCanReferToFunctionÚ#Test.test_doctestCanReferToFunctiont  s   € Ø�‰ð õ 	r!   c                 ó&   • U R                  S5        g )Nzµ
        class Foo():
            '''
                >>> Foo
            '''
            def bar(self):
                '''
                    >>> Foo
                '''
        r^   rW   s    r   Útest_doctestCanReferToClassÚ Test.test_doctestCanReferToClass|  ro   r!   c                 óú   • U R                  S[        R                  [        R                  5      R                  nUS   nU R	                  UR
                  S5        US   nU R	                  UR
                  S5        g )NaF  
            def buildurl(base, *args, **kwargs):
                """
                >>> buildurl('/blah.php', ('a', '&'), ('b', '=')
                '/blah.php?a=%26&b=%3D'
                >>> buildurl('/blah.php', a='&', 'b'='=')
                '/blah.php?b=%3D&a=%26'
                """
                pass
            r   r„   r4   rˆ   )r$   r5   r‰   r   r:   rt   rŠ   s      r   Ú!test_noOffsetSyntaxErrorInDoctestÚ&Test.test_noOffsetSyntaxErrorInDoctestˆ  so   € Ø—[‘[ð	ô × Ñ Ü× Ñ ó"÷ #+¡(ð 	ð ˜‰mˆØ×Ñ˜Ÿ™ QÔ'Ø˜‰mˆØ×Ñ˜Ÿ™ QÕ'r!   c                 ó&   • U R                  S5        g )Nz£
        def func():
            """A docstring

            >>> func()
            1
            >>> _
            1
            """
            return 1
        r^   rW   s    r   Útest_singleUnderscoreInDoctestÚ#Test.test_singleUnderscoreInDoctest›  s   € Ø�‰ð 
õ 
	r!   c                 óD   • U R                  S[        R                  5        g )NzŠ
        from gettext import ugettext as _

        def doctest_stuff():
            '''
                >>> pass
            '''
        )r$   r5   ÚUnusedImportrW   s    r   Útest_globalUnderscoreInDoctestÚ#Test.test_globalUnderscoreInDoctest¨  s   € Ø�‰ð ô �^‰^õ	r!   r)   N)r*   r+   r,   r-   r.   rH   rN   rR   rX   r[   r_   rb   re   r
   rj   rm   rx   r}   r�   rŒ   r�   r–   r™   rœ   rŸ   r¢   r¦   r/   r)   r!   r   r   r   0   s‡   † à€Kò&/òP)0òV),òVò/òò*
òñ 
ˆ&ƒ\ñ%ó ð%ò
ò
&ò
&ò%ò&òB	&ò'ò$ò
ò(ò&õr!   r   c                   ó   • \ rS rSrSrSrg)Ú	TestOtheri³  z2Run TestOther with each test wrapped in a doctest.r)   N©r*   r+   r,   r-   Ú__doc__r/   r)   r!   r   r©   r©   ³  s   † Ü<r!   r©   c                   ó   • \ rS rSrSrSrg)ÚTestImportsi·  z4Run TestImports with each test wrapped in a doctest.r)   Nrª   r)   r!   r   r­   r­   ·  s   † Ü>r!   r­   c                   ó   • \ rS rSrSrSrg)ÚTestUndefinedNamesi»  z;Run TestUndefinedNames with each test wrapped in a doctest.r)   Nrª   r)   r!   r   r¯   r¯   »  s   † ÜEr!   r¯   )r   Úpyflakesr   r5   Úpyflakes.checkerr   r   r   r   Úpyflakes.test.test_otherr   r©   Úpyflakes.test.test_importsr­   Ú"pyflakes.test.test_undefined_namesr¯   Úpyflakes.test.harnessr	   r
   r   r)   r!   r   Ú<module>r¶      sl   ðÛ å "÷ó õ 7Ý :Ý Iß 0÷Cñ Cô@@ˆ8ô @ôF=�˜yô =ô?�- ô ?ôF˜Ð(:õ Fr!   