python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_docxmlrpc.cpython-311.pyc

ee$ddlmZddlZddlZddlZddlZddlZddlm	Z	e	j
ddZdZGdd	ej
Zed
krejdSdS))DocXMLRPCServerN)supportT)modulec|sdSfd}|S)Nc|SN)funcs G/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_docxmlrpc.py<lambda>z)make_request_and_skipIf.<locals>.<lambda>sDcfd}|S)Nc|jdd|jtj)NGET/)clientrequestgetresponseunittestSkipTest)selfreasons rmake_request_and_skipzImake_request_and_skipIf.<locals>.decorator.<locals>.make_request_and_skips@Ks+++K##%%%#F+++r
r	)r
rrs  r	decoratorz*make_request_and_skipIf.<locals>.decorators$	,	,	,	,	,%$r
r	)	conditionrrs ` rmake_request_and_skipIfrs7!   %%%%%r
cTtdd}	|d|d|dGddt}|||d	}d
tfd}Gdd
}|||d|||||S#|	xYw)N)	localhostrF)logRequestsz"DocXMLRPCServer Test DocumentationzDocXMLRPCServer Test DocszmThis is an XML-RPC server's documentation, but the server can be used by POSTing to /RPC2. Try self.add, too.ceZdZdZdS)make_server.<locals>.TestClassc||_dS)z7Test method's docs. This method truly does very little.N)arg)rr#s  rtest_methodz*make_server.<locals>.TestClass.test_method&s
r
N)__name__
__module____qualname__r$r	r
r	TestClassr!%s#




r
r(c||zS)aAdd two instances together. This follows PEP008, but has nothing
            to do with RFC1952. Case should matter: pEp008 and rFC1952.  Things
            that start with http and ftp should be auto-linked, too:
            http://google.com.
            r	xys  raddzmake_server.<locals>.add-s
q5Lr
r+c|S)z Use function annotations. r	)r+s r
annotationzmake_server.<locals>.annotation5sHr
ceZdZdefdZdS)(make_server.<locals>.ClassWithAnnotationr+c*|Sr)decode)rr+s  rmethod_annotationz:make_server.<locals>.ClassWithAnnotation.method_annotation:sxxzz!r
N)r%r&r'bytesr4r	r
rClassWithAnnotationr19s/
"5
"
"
"
"
"
"r
r6c||z
Srr	r*s  rrzmake_server.<locals>.<lambda>>s
AaCr
)
rset_server_titleset_server_nameset_server_documentationobject register_introspection_functionsregister_instanceintregister_functionserver_close)servr(r-r/r6s     rmake_serverrBs+???D(BCCC8999%%
B	C	C	C
								
	
--///yy{{+++				#					"	"	"	"	"	"	"	"	
s###//000z***2244555
sC<DD'ceZdZdZdZdZdZdZdZe	e
jjdkdd	Z
e	e
jjdkdd
ZdZdZd
ZdS)DocXMLRPCHTTPGETServerc0dt_t|_t	j|jj|_|j|jj	d}tjd|z|_dS)NT)targetzlocalhost:%d)
r_send_traceback_headerrBrA	threadingThread
serve_foreverthreadstartserver_addresshttprHTTPConnection)rPORTs  rsetUpzDocXMLRPCHTTPGETServer.setUpGsr15.MM	&di.EFFFy'*k00$1FGGr
c|jdt_|j|j|jdS)NF)	rcloserrHrAshutdownrLjoinr@)rs rtearDownzDocXMLRPCHTTPGETServer.tearDownRsb27.		     r
c|jdd|j}||jd||dd|dS)NrrContent-typeztext/html; charset=UTF-8rrrassertEqualstatus	getheaderreadrresponses  rtest_valid_get_responsez.DocXMLRPCHTTPGETServer.test_valid_get_response[s}E3''';**,,#...++N;;=WXXX	

r
c|jdd|j}||jd||dd|dS)Nrz
/pydoc.cssrYrZztext/css; charset=UTF-8r[r`s  rtest_get_cssz#DocXMLRPCHTTPGETServer.test_get_csses}E<000;**,,#...++N;;=VWWW	

r
c|jdd|j}||jd||dd|dS)Nrz/spamirZz
text/plainr[r`s  rtest_invalid_get_responsez0DocXMLRPCHTTPGETServer.test_invalid_get_responseoszE7+++;**,,#...++N;;\JJJ

r
c|jdd|j}|d|dS)zTest that lambda functionality stays the same.  The output produced
        currently is, I suspect invalid because of the unencoded brackets in the
        HTML, "<lambda>".

        The subtraction lambda method is tested.
        rrsU<dl><dt><a name="-&lt;lambda&gt;"><strong>&lt;lambda&gt;</strong></a>(x, y)</dt></dl>NrrrassertInr_r`s  rtest_lambdaz"DocXMLRPCHTTPGETServer.test_lambdaxs`	
E3''';**,,

Fmmoo	'	'	'	'	'r
z)Docstrings are omitted with -O2 and abovec|jdd|j}|d|dS)aTest that the server correctly automatically wraps references to
        PEPS and RFCs with links, and that it linkifies text starting with
        http or ftp protocol prefixes.

        The documentation for the "add" method contains the test material.
        rrsG<dl><dt><a name="-add"><strong>add</strong></a>(x, y)</dt><dd><tt>Add&nbsp;two&nbsp;instances&nbsp;together.&nbsp;This&nbsp;follows&nbsp;<a href="https://peps.python.org/pep-0008/">PEP008</a>,&nbsp;but&nbsp;has&nbsp;nothing<br>
to&nbsp;do&nbsp;with&nbsp;<a href="https://www.rfc-editor.org/rfc/rfc1952.txt">RFC1952</a>.&nbsp;Case&nbsp;should&nbsp;matter:&nbsp;pEp008&nbsp;and&nbsp;rFC1952.&nbsp;&nbsp;Things<br>
that&nbsp;start&nbsp;with&nbsp;http&nbsp;and&nbsp;ftp&nbsp;should&nbsp;be&nbsp;auto-linked,&nbsp;too:<br>
<a href="http://google.com">http://google.com</a>.</tt></dd></dl>Nrrrr_rir`s  rtest_autolinkingz'DocXMLRPCHTTPGETServer.test_autolinkingsk	
E3''';**,,1133

	69A
	B
	B
	B
	B
	Br
c|jdd|j}|d|dS)zTest the presence of three consecutive system.* methods.

        This also tests their use of parameter type recognition and the
        systems related to that process.
        rrs<dl><dt><a name="-system.methodHelp"><strong>system.methodHelp</strong></a>(method_name)</dt><dd><tt><a href="#-system.methodHelp">system.methodHelp</a>('add')&nbsp;=&gt;&nbsp;"Adds&nbsp;two&nbsp;integers&nbsp;together"<br>
&nbsp;<br>
Returns&nbsp;a&nbsp;string&nbsp;containing&nbsp;documentation&nbsp;for&nbsp;the&nbsp;specified&nbsp;method.</tt></dd></dl>
<dl><dt><a name="-system.methodSignature"><strong>system.methodSignature</strong></a>(method_name)</dt><dd><tt><a href="#-system.methodSignature">system.methodSignature</a>('add')&nbsp;=&gt;&nbsp;[double,&nbsp;int,&nbsp;int]<br>
&nbsp;<br>
Returns&nbsp;a&nbsp;list&nbsp;describing&nbsp;the&nbsp;signature&nbsp;of&nbsp;the&nbsp;method.&nbsp;In&nbsp;the<br>
above&nbsp;example,&nbsp;the&nbsp;add&nbsp;method&nbsp;takes&nbsp;two&nbsp;integers&nbsp;as&nbsp;arguments<br>
and&nbsp;returns&nbsp;a&nbsp;double&nbsp;result.<br>
&nbsp;<br>
This&nbsp;server&nbsp;does&nbsp;NOT&nbsp;support&nbsp;system.methodSignature.</tt></dd></dl>Nrmr`s  rtest_system_methodsz*DocXMLRPCHTTPGETServer.test_system_methodsse	
E3''';**,,1133

14<!	=	=	=	=	=r
c|jdd|j}|d|dS)zTTest that selfdot values are made strong automatically in the
        documentation.rrs-Try&nbsp;self.<strong>add</strong>,&nbsp;too.Nrhr`s  rtest_autolink_dotted_methodsz3DocXMLRPCHTTPGETServer.test_autolink_dotted_methodss]	
E3''';**,,

Jmmoo	'	'	'	'	'r
c|jdd|j}tjjdkrdnd}|d|zdz|dS)	z) Test that annotations works as expected rrrkr
s5<dd><tt>Use&nbsp;function&nbsp;annotations.</tt></dd>sJ<dl><dt><a name="-annotation"><strong>annotation</strong></a>(x: int)</dt>se</dl>
<dl><dt><a name="-method_annotation"><strong>method_annotation</strong></a>(x: bytes)</dt></dl>N)rrrsysflagsoptimizerir_)rra	docstrings   rtest_annotationsz'DocXMLRPCHTTPGETServer.test_annotationssE3''';**,,I.!33SSM	

 )*-CC
MMOO					r
c|jd|jd|d|jj|d|jj|j}tjd|	}tjd|	}|d||d|dS)Nztest_title<script>ztest_documentation<script>z<title>(.+?)</title>z<p><tt>(.+?)</tt></p>z/<title>Python: test_title&lt;script&gt;</title>z0<p><tt>test_documentation&lt;script&gt;</tt></p>)
rAr8r:r\server_titleserver_documentationgenerate_html_documentationresearchgroup)r	generatedtitle
documentations    rtest_server_title_escapez/DocXMLRPCHTTPGETServer.test_server_title_escapes	
	""#7888	**+GHHH-ty/EFFF5	.	0	0	0I99;;		19==CCEE	":IFFLLNN
JERRRK][[[[[r
N)r%r&r'rRrWrbrdrfrjrrtrurvrnrprrrxrr	r
rrDrDFs"	H	H	H!!!'''SY/14@BBBBBBB,SY/14@BB==BB=6'''
\
\
\
\
\r
rD__main__)
xmlrpc.serverrhttp.clientrOr}rtrIrtestrrequires_working_socketrrBTestCaserDr%mainr	r
r<module>rs))))))				



t,,,,+++ZX\X\X\X\X\X.X\X\X\vzHMOOOOOr