python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_pyclbr.cpython-312.pyc

Αe(dZddlZddlmZddlmZmZmZddlZddl	m
Z
mZddl
mZddlZeedZeedZGd	d
e
ZGdde
Zed
k(reyy)z/
   Test cases for pyclbr.py
   Nick Mathewson
N)dedent)FunctionType
MethodTypeBuiltinFunctionType)TestCasemain)utilcyNrD/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_pyclbr.py<lambda>rr
cyrr)cs rrrrr
cDeZdZdZdZdZdZddZdZdZ	d	Z
d
Zy)
PyclbrTestct|t|zt|z
}|rGtd|d|d|tj|j	d|jzyy)z0 succeed iff {l1} - {ignore} == {l2} - {ignore} zl1=z
l2=z
ignore=filez
%r missingN)setprintsysstderrfailpop)selfl1l2ignoremissings     rassertListEqzPyclbrTest.assertListEqsQr7SW$F3r2v>SZZPIIlW[[]23r
c||vryt||std||jt||d|d|dy)z2 succeed iff hasattr(obj,attr) or attr in ignore. Nz???zexpected hasattr(z, ))hasattrr
assertTrue)robjattrr!s    r
assertHasattrzPyclbrTest.assertHasattr"s<6>6sD!5#5T*694@	Br
cr||vry||vrtd|tj|j||y)z* succeed iff key in obj or key in ignore. Nz***r)rrrassertIn)rr(keyr!s    rassertHaskeyzPyclbrTest.assertHaskey*s0&=&c>%#**-

c3r
c<||vr||vr|j||yyy)z2 succeed iff a == b or a in ignore or b in ignore N)assertEqual)rabr!s    rassertEqualsOrIgnoredz PyclbrTest.assertEqualsOrIgnored1s&F?qQ" /?r
Nc	<t|tdgz}|t|tidg}tj|}d}|jD]\}}||vr|j
|||t||}t|tjrS|j|ttf|j|k7rq|j|j|j|j|t |j|k7r|j"D	cgc]}	|	j$}
}	|j&D	cgc]}	t|	d|	}}		|j)|
||g}|j0j3D](}
||t||
|
s|j5|
*g}|j6j3D];}
|
ddd	k(r |
d
dd	k7r|j5d|z|
z+|j5|
=	|j)||||j|j|j|j9|j$|j:|d}t=|D]B}t||}t|t tfs&|||s0|j?|||Dycc}	wcc}	w#t+d|zt,j.xYw#t+d|zt,j.xYw)
z succeed iff pyclbr.readmodule_ex(modulename) corresponds
            to the actual module object, module.  Any identifiers in
            ignore are ignored.   If no module is provided, the appropriate
            module is loaded with __import__.objectNz<silly>c(|j}t|tr"t||tr|j|uryt|t
sy|j}|jdr"|jdsd|j|}||k(S)NF___)	__dict__
isinstancerClassMethodType__self__r__name__
startswithendswith)oclassr(name	classdictobjnames     rismethodz(PyclbrTest.checkModule.<locals>.ismethodEs{I#z*"9T?ODLL. \2llG!!$'0@0@0F%+__g>d?"r
rAzclass=%srr7r8ct|tr|j|jk(St|tr|j
|juSy)NF)r:type
__module__r=r__globals__r9)itemmodules  r
defined_inz*PyclbrTest.checkModule.<locals>.defined_insA$%&//99$-''6??::r
) r
__import__globalspyclbr
readmodule_exitemsr*getattrr:FunctionassertIsInstancerrrIr0rLrH	__bases__r=superr#rrrr9keysappendmethodsr3rAdirr.)r
moduleNamerLr!dictrDrAvaluepy_itembase
real_basespyclbr_bases
actualMethodsmfoundMethodsrMrKs                 rcheckModulezPyclbrTest.checkModule6sVsH:.> 
GIrI;GF##J/
	#  ::<-	KD%v~vtV4fd+G%1%%g>Q/RS%%3  !3!3U\\B%%gt4%%38?8I8IJdmmJ
J-2[[ ;%)")vt!< ; ;%%j,G
!#
 ))..00A!)<a@%,,Q/0 "++-/A!u}234$++CHQJ7$++A.	/	%%lM6J$$W%7%7F..w/?/?/57Q-	`	K	:D64(D$$!56dF+%%dD&9		:OK ;
*w.SZZ@(*w.SZZ@s%&K	K KA K:!K7:!Lcr|jd|jdd|jddy)NrPdoctest)TestResults	_SpoofOutDocTestCase
_DocTestSuiter!difflib)Matchrfrs r	test_easyzPyclbrTest.test_easys?"	
,L	M:6r
c,|jddgy)Nztest.pyclbr_inputomrmrprqs rtest_decoratorszPyclbrTest.test_decoratorss,dV<r
ctdddidf\}}}}}td}j||||||}j|d|dd}j	|d	d
d}	j	|	dd
d
}
j|ddd}j
|dd|dd}j	|ddd}
j|ddd}j|ddd}j	|ddd}||d}fdd|d|y)Ntestztest.pya        def f0():
            def f1(a,b,c):
                def f2(a=1, b=2, c=3): pass
                return f1(a,b,d)
            class c1: pass
        class C0:
            "Test class."
            def F1():
                "Method."
                return 'return'
            class C1():
                class C2:
                    "Class nested within nested class."
                    def F3(): return 1+1

        f0)
end_linenof1rEf2c1C0F1
C1C2F3)ryrcPj|j|j|jD]}j|j| |jD]}j|j| |jD]}||||}}t||j|j|j|j|jf}t||j|j|j|j|jf}	j||	t|jur&j|j|j
||j||jy)aReturn equality of tree pairs.

            Each parent,children pair define a tree.  The parents are
            assumed equal.  Comparing the children dictionaries as such
            does not work due to comparison by identity and double
            linkage.  We separate comparing string and number attributes
            from comparing the children of input children.
            N)r0rXvaluesassertIsparentrHrArrLlinenor|ClassrZchildren)
parent1	children1parent2	children2obr-o1o2t1t2comparembrs
          rrz'PyclbrTest.test_nested.<locals>.compares@
Y^^-y~~/?@&&(
2

bii1
2&&(
2

bii1
2 ~~'
:"33B"XrwwBIIr}}T"XrwwBIIr}}T  R(8rxx'$$RZZ<BKKR[[9
:r
)rPr_create_treerT_nest_function_nest_classr)rrdpftisourceactualryr}rrrrrrrexpectedrrs`                 @@rtest_nestedzPyclbrTest.test_nesteds2
Ir47
1aA
"Aq&!Q7[[D!Q1[
5


r4A
.


r4A
.
^^Ba
+
XXatQbX
9


r4B
/
^^Bb"
-
^^Bb"
-


r4R
0"%	:0	fdH-r
c|j}|ddtj5tjdt|ddddd|ddtj5tjdt|d	d
ddd|dd|d
d|d|dy#1swYyxYw#1swY:xYw)Nrandom)Randomrmr!cgi)logpickle)partialPickleBuffer	sre_parse)dumpgroupspospdb)Union
_ModuleTarget
_ScriptTargetpydoc)inputoutputzemail.parserztest.test_pyclbr)rfwarningscatch_warningssimplefilterDeprecationWarning)rcms  rtest_otherszPyclbrTest.test_otherss


	8K(

$
$
&	'!!(,>?uX&	'	878

$
$
&	>!!(,>?{#<=	>	>	

	7/0	>
!	'	'	>	>s%C6%CCC)Nr)r=rI__qualname__r#r*r.r3rfrrrurrrr
rrrs34B #
Y:v7=;.zr
rc$eZdZdZdZdZdZy)ReadmoduleTestscJtjj|_yr)rP_modulescopyrqs rsetUpzReadmoduleTests.setUps,,.
r
c.|jt_yr)rrPrqs rtearDownzReadmoduleTests.tearDowns
--r
cN|jttjdy)Nzasyncio.foo)assertRaisesImportErrorrPrQrqs rtest_dotted_name_not_a_packagez.ReadmoduleTests.test_dotted_name_not_a_packages
	
+v';';]Kr
cd}|tjvsJtj|5|j	t
5tj|ddddddy#1swYxYw#1swYyxYw)Ndoesnotexist)rPrtest_importlib_utiluncacherModuleNotFoundErrorrQ)rmodule_names  rtest_module_has_no_specz'ReadmoduleTests.test_module_has_no_specsp$&//11
 
(
(
5	2""#67
2$$[1
2	2	2
2
2	2	2s#A5A)A5)A2	.A55A>N)r=rIrrrrrrr
rrrs/(L2r
r__main__)__doc__rtextwraprtypesrrrrPunittestrr
unittest_maintest.test_importlibr	rrrHstaticmethodStaticMethodTypeclassmethodr;rrr=rr
r<module>rst
??
4;\23{>23UUp2h20zOr