python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_docxmlrpc.cpython-312.opt-2.pyc

͑ee$ddlmZddlZddlZddlZddlZddlZddlm	Z	e	jddZdZGdd	ejZed
k(rej yy))DocXMLRPCServerN)supportT)modulec|sdSfd}|S)Nc|SN)funcs G/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_docxmlrpc.py<lambda>z)make_request_and_skipIf.<locals>.<lambda>sDcfd}|S)Nc|jjdd|jjtj)NGET/)clientrequestgetresponseunittestSkipTest)selfreasons rmake_request_and_skipzImake_request_and_skipIf.<locals>.decorator.<locals>.make_request_and_skips8KKs+KK##%##F++r
r	)r
rrs  r	decoratorz*make_request_and_skipIf.<locals>.decorators	,%$r
r	)	conditionrrs ` rmake_request_and_skipIfrs  %r
ctdd}	|jd|jd|jdGddt}|j|j
|d	}d
tfd}Gdd
}|j||jd|j||j
||S#|jxYw)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.ceZdZdZy)make_server.<locals>.TestClassc	||_yr)arg)rr#s  rtest_methodz*make_server.<locals>.TestClass.test_method&sMr
N)__name__
__module____qualname__r$r	r
r	TestClassr!%s
r
r(c	||zSrr	xys  raddzmake_server.<locals>.add-s

q5Lr
r+c	|Srr	)r+s r
annotationzmake_server.<locals>.annotation5s
-Hr
ceZdZdefdZy)(make_server.<locals>.ClassWithAnnotationr+c"|jSr)decode)rr+s  rmethod_annotationz:make_server.<locals>.ClassWithAnnotation.method_annotation:sxxz!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(BC89%%
B	C
		
	
--/y{+		#		"	"	
s#/0z*245
sC
CC-ceZdZdZdZdZdZdZdZe	e
jjdk\dd	Z
e	e
jjdk\dd
ZdZdZd
Zy)DocXMLRPCHTTPGETServercJdt_t|_t	j
|jj|_|jj|jjd}tjjd|z|_y)NT)targetzlocalhost:%d)
r_send_traceback_headerrBrA	threadingThread
serve_foreverthreadstartserver_addresshttprHTTPConnection)rPORTs  rsetUpzDocXMLRPCHTTPGETServer.setUpGsn15.M	&&dii.E.EFyy''*kk00$1FGr
c|jjdt_|jj|jj|jjy)NF)	rcloserrHrAshutdownrLjoinr@)rs rtearDownzDocXMLRPCHTTPGETServer.tearDownRsL27.				 r
c
|jjdd|jj}|j|jd|j|jdd|j
y)NrrContent-typeztext/html; charset=UTF-8rrrassertEqualstatus	getheaderreadrresponses  rtest_valid_get_responsez.DocXMLRPCHTTPGETServer.test_valid_get_response[scE3';;**,#.++N;=WX	

r
c
|jjdd|jj}|j|jd|j|jdd|j
y)Nrz
/pydoc.cssrYrZztext/css; charset=UTF-8r[r`s  rtest_get_cssz#DocXMLRPCHTTPGETServer.test_get_cssescE<0;;**,#.++N;=VW	

r
c
|jjdd|jj}|j|jd|j|jdd|j
y)Nrz/spamirZz
text/plainr[r`s  rtest_invalid_get_responsez0DocXMLRPCHTTPGETServer.test_invalid_get_responseos`E7+;;**,#.++N;\J

r
c	|jjdd|jj}|jd|j	y)NrrsU<dl><dt><a name="-&lt;lambda&gt;"><strong>&lt;lambda&gt;</strong></a>(x, y)</dt></dl>rrrassertInr_r`s  rtest_lambdaz"DocXMLRPCHTTPGETServer.test_lambdaxsJ		
E3';;**,

Fmmo	'r
z)Docstrings are omitted with -O2 and abovec	|jjdd|jjj}|j	d|y)NrrsG<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>rrrr_rir`s  rtest_autolinkingz'DocXMLRPCHTTPGETServer.test_autolinkingsP		
E3';;**,113

	69A
	Br
c	|jjdd|jjj}|j	d|y)Nrrs<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>rmr`s  rtest_system_methodsz*DocXMLRPCHTTPGETServer.test_system_methodssN	
	
E3';;**,113

14<!	=r
c	|jjdd|jj}|jd|j	y)Nrrs-Try&nbsp;self.<strong>add</strong>,&nbsp;too.rhr`s  rtest_autolink_dotted_methodsz3DocXMLRPCHTTPGETServer.test_autolink_dotted_methodssE	E3';;**,

Jmmo	'r
c	|jjdd|jj}tjj
dk\rdnd}|j
d|zdz|jy)Nrrrkr
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>)rrrsysflagsoptimizerir_)rra	docstrings   rtest_annotationsz'DocXMLRPCHTTPGETServer.test_annotationssw7E3';;**,II..!3SM	

 )*-CC
MMO	r
c|jjd|jjd|jd|jj|jd|jj
|jj
}tjd|j}tjd|j}|jd||jd|y)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	
		""#78		**+GH-tyy/E/EF5		..	0II99;			19=CCE		":IFLLN
JERK][r
N)r%r&r'rRrWrbrdrfrjrrtrurvrnrprrrxrr	r
rrDrDFs	H!'SYY//14@BBBB,SYY//14@B=B=6'
\r
rD__main__)
xmlrpc.serverrhttp.clientrOr}rtrIrtestrrequires_working_socketrrBTestCaserDr%mainr	r
r<module>rsf)	
t,+ZX\X..X\vzHMMOr