python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_pydoc.cpython-312.opt-1.pyc

ΑeddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddlmZddlmZddlmZmZddlm Z ddlm!Z!ddl"m#Z#m$Z$m%Z%ddlm&Z&dd	lm'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-dd
l.m/Z/m0Z0m1Z1ddlm2Z2Gdd
Z3ejhjjrdZ6ndZ6djoZ8e9de6DZ:dZ;e9de6DZ<dj{dej|Z?dZ@djoZAdjoZBdjoZCdjoZDdjoZEdZFdZGdZHdZId ZJd!ZKd"ZLGd#d$ejZNGd%d&ejZOGd'd(eNZPGd)d*ejZQeje+xse,d+Gd,d-ejZSGd.d/eNZTGd0d1ejZUGd2d3ejZVGd4d5ejZWd6ZXeYd7k(rejyy)8N)StringIO)
namedtuple)urlopen
urlcleanup)
import_helper)	os_helper)assert_python_okassert_python_failurespawn_python)threading_helper)
reap_childrencaptured_outputcaptured_stdoutcaptured_stderr
is_emscriptenis_wasirequires_docstrings)TESTFNrmtreeunlink)	pydoc_modceZdZdZy)nonasciiuЦе не латиницяN__name__
__module____qualname____doc__C/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_pydoc.pyrr%s r r).dictionary for instance variables (if defined)2list of weak references to the object (if defined)r"r#)r$r$r$a
NAME
    test.pydoc_mod - This is a test module for test_pydoc
%s
CLASSES
    builtins.object
        A
        B
        C

    class A(builtins.object)
     |  Hello and goodbye
     |
     |  Methods defined here:
     |
     |  __init__()
     |      Wow, I have no function!
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__%s
     |
     |  __weakref__%s

    class B(builtins.object)
     |  Data descriptors defined here:
     |
     |  __dict__%s
     |
     |  __weakref__%s
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  NO_MEANING = 'eggs'
     |
     |  __annotations__ = {'NO_MEANING': <class 'str'>}

    class C(builtins.object)
     |  Methods defined here:
     |
     |  get_answer(self)
     |      Return say_no()
     |
     |  is_it_true(self)
     |      Return self.get_answer()
     |
     |  say_no(self)
     |
     |  ----------------------------------------------------------------------
     |  Class methods defined here:
     |
     |  __class_getitem__(item) from builtins.type
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables (if defined)
     |
     |  __weakref__
     |      list of weak references to the object (if defined)

FUNCTIONS
    doc_func()
        This function solves all of the world's problems:
        hunger
        lack of Python
        war

    nodoc_func()

DATA
    __xyz__ = 'X, Y and Z'
    c_alias = test.pydoc_mod.C[int]
    list_alias1 = typing.List[int]
    list_alias2 = list[int]
    type_union1 = typing.Union[int, str]
    type_union2 = int | str

VERSION
    1.2.3.4

AUTHOR
    Benjamin Peterson

CREDITS
    Nobody

FILE
    %s
c#.K|]
}|rd|zndyw)z
     |      r$Nr.0ss  r!	<genexpr>r)s(&I*+?@&6&:R&G&Ia
test.pydoc_mod (version 1.2.3.4)
This is a test module for test_pydoc

Modules
    types
    typing

Classes
    builtins.object
    A
    B
    C

class A(builtins.object)
    Hello and goodbye

    Methods defined here:
        __init__()
            Wow, I have no function!

    Data descriptors defined here:
        __dict__
            dictionary for instance variables (if defined)
        __weakref__
            list of weak references to the object (if defined)

class B(builtins.object)
    Data descriptors defined here:
        __dict__
            dictionary for instance variables (if defined)
        __weakref__
            list of weak references to the object (if defined)
    Data and other attributes defined here:
        NO_MEANING = 'eggs'
        __annotations__ = {'NO_MEANING': <class 'str'>}


class C(builtins.object)
    Methods defined here:
        get_answer(self)
            Return say_no()
        is_it_true(self)
            Return self.get_answer()
        say_no(self)
    Class methods defined here:
        __class_getitem__(item) from builtins.type
    Data descriptors defined here:
        __dict__
            dictionary for instance variables (if defined)
        __weakref__
             list of weak references to the object (if defined)

Functions
    doc_func()
        This function solves all of the world's problems:
        hunger
        lack of Python
        war
    nodoc_func()

Data
    __xyz__ = 'X, Y and Z'
    c_alias = test.pydoc_mod.C[int]
    list_alias1 = typing.List[int]
    list_alias2 = list[int]
    type_union1 = typing.Union[int, str]
    type_union2 = int | str

Author
    Benjamin Peterson

Credits
    Nobody
c#@K|]}|jddyw) &nbsp;N)replacer&s  r!r)r)s%&I*+'(iiX&>&Isz~No Python documentation found for %r.
Use help() to get the interactive help utility.
Use help(str) for help on the str class.
z7problem in %s - ModuleNotFoundError: No module named %ra%
Help on class DA in module %s:

class DA(builtins.object)
 |  Data descriptors defined here:
 |
 |  __dict__%s
 |
 |  __weakref__%s
 |
 |  ham
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes inherited from Meta:
 |
 |  ham = 'spam'
z
Help on class Class in module %s:

class Class(builtins.object)
 |  Data and other attributes inherited from Meta:
 |
 |  LIFE = 42
z
Help on class Class1 in module %s:

class Class1(builtins.object)
 |  Data and other attributes inherited from Meta1:
 |
 |  one = 1
a
Help on class Class2 in module %s:

class Class2(Class1)
 |  Method resolution order:
 |      Class2
 |      Class1
 |      builtins.object
 |
 |  Data and other attributes inherited from Meta1:
 |
 |  one = 1
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes inherited from Meta3:
 |
 |  three = 3
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes inherited from Meta2:
 |
 |  two = 2
z~
Help on class C in module %s:

class C(builtins.object)
 |  Data and other attributes defined here:
 |
 |  here = 'present!'
cr||fz}tdtjg|i|\}}}|jS)zW
    Runs pydoc on the specified module. Returns the stripped
    output of pydoc.
    -B)r	pydoc__file__stripmodule_nameargsenvrcouterrs      r!	run_pydocr</s<
;. D#D%..G4G3GLBS99;r cr||fz}tdtjg|i|\}}}|jS)zA
    Runs pydoc on the specified module expecting a failure.
    r1)r
r2r3r4r5s      r!run_pydoc_failr>9s<;. D(u~~LLLLBS99;r ctj}|j|}|jtxsd}|rd|zdz}|j|fS)z&Returns pydoc generated output as htmlr$z
<br><a href="z">Module Docs</a>)r2HTMLDoc	docmodule	getdoclocrr4)moduledocoutputlocs    r!get_pydoc_htmlrGAsR
--/C
]]6
"F

--	
"
(bC
$';;<<>3r ctjj}tjj}|||t}tj}|j||}|S)z,Returns a documentation web link of a module)basedir)ospathabspathdirnamer3r2TextDocrB)rCrLrMrIrDrFs      r!get_pydoc_linkrOJsRggooGggooGggh/01G
--/C

---
0CJr ctj}|jtxsd}|rd|zdz}|j	|}tjd}|jd|}|j|fS)z&Returns pydoc generated output as textr$z
MODULE DOCS
    r/.)	r2rNrBrrArecompilesubr4)rCrDrFrEpatts     r!get_pydoc_textrVSsq
--/C

--	
"
(bC
#c)D0
]]6
"F::eD
XXb&
!F<<>3r c|jd\}}}|jd\}}}|jd\}}}|S)Nz</head>z<title>z</title>)	partition)textheader_titles    r!get_html_titler]asE>>),LFAq""9-KAq%//*-KE1aLr c	|jdd}tjdd|}tj|ddddd	d
}|S)zWA quick and dirty implementation of html2text.

    Tailored for pydoc tests only.
    z<dd>r/z<.*?>r$r-r,z&gt;>z&lt;<)r.rRrTr2)htmls r!	html2textrbisE
<<%D
66'2t$D==xfc63GDKr c@eZdZddZej
ddZdZy)
PydocBaseTestNch|xs$tjjtgdfd	}|S)zi
        A version of pkgutil.walk_packages() that will restrict itself to
        a given path.
        c |xs||SNr)rKprefixonerrordefault_path
walk_packagess   r!wrapperz8PydocBaseTest._restricted_walk_packages.<locals>.wrapper|s !5vwGGr )Nr$N)rJrKrMr3)selfrkrKrlrjs `  @r!_restricted_walk_packagesz'PydocBaseTest._restricted_walk_packagesvs*
: 9:	Hr c#Ktj}|j||t_	d|t_y#|t_wxYwwrg)pkgutilrkrn)rmrKrks   r!restrict_walk_packagesz$PydocBaseTest.restrict_walk_packagessB--
 $ > >}?C!E	2$1G!MG!s,A?A
AAcntj|d}t|}|j||||S)Nz	text/html)r2_url_handlerr]assertEqual)rmurlexpected_titlerYresults     r!call_url_handlerzPydocBaseTest.call_url_handlers5!!#{3%6r rg)rrrrn
contextlibcontextmanagerrqrxrr r!rdrdts&22r rdc eZdZdZej
eedxrejde	dZ
ej
eedxrejde	dZdZdZ
dZd	Zd
ZdZe	dZd
ZdZdZdZdZdZdZdZdZej
eedxrejde	dZdZdZdZe	dZ dZ!dZ"dZ#dZ$dZ%e	d Z&d!Z'y)"PydocDocTestNgettrace1trace function introduces __locals__ unexpectedlycDtt\}}t|}|jDcgc]}|j	}}|Dcgc]}|s|	}}|d=t
j}|Dcgc]}|s|j	}}|j
||tjt}tjj|}|j|||j|||j||ycc}wcc}wcc}wN)
rGrrb
splitlinesr4html2text_of_expectedrtinspect
getabsfileurllibparsequoteassertIn)	rmrwdoc_loctext_resultline
text_linesexpected_linesmod_filemod_urls	         r!
test_html_doczPydocDocTest.test_html_docs)3'/:/E/E/GHtdjjlH
H'1:tTd:
:qM.99;3AJ4T$**,JJ^4%%i0,,$$X.

gv&

h'

gv&I:KsD
DD6D>Dctt\}}t|ftzt	j
tfzz}|j
||yrg)rVrexpected_text_patternexpected_text_data_docstringsrrrt)rmrwr
expected_texts    r!
test_text_doczPydocDocTest.test_text_docsQ)3- 
56 ++I689:
	
/r cddl}Gdd|j}tj|}|j	d|y)NrceZdZdZdZy)IPydocDocTest.test_text_enum_member_with_value_zero.<locals>.BinaryIntegerrrN)rrrzeroonerr r!
BinaryIntegerrsDCr rzBinaryInteger.zero)enumIntEnumr2
render_docr)rmrrrDs    r!%test_text_enum_member_with_value_zeroz2PydocDocTest.test_text_enum_member_with_value_zeros8		DLL	}-

*C0r cnttjj}|j	d|y)Nzxml.etree.elementtree)rOxmletreeElementTreer)rmdoc_links  r!,test_mixed_case_module_names_are_lower_casedz9PydocDocTest.test_mixed_case_module_names_are_lower_caseds%!#))"7"78

-x8r cbttj\}}|j|ddy)Nr$z'MODULE DOCS incorrectly includes a link)rVrrrt)rmrwrs   r!test_issue8225zPydocDocTest.test_issue8225s'(3"&OPr ctj}	dt_tj|t_y#|t_wxYwrg)sysstdinr2getpager)rmprevious_stdins  r!test_getpager_with_stdin_nonez*PydocDocTest.test_getpager_with_stdin_nones0	'CINN&CICIs	=
A
cGdd}Gdd}tj|}tj|}|j|jdd|y)NceZdZdZy))PydocDocTest.test_non_str_name.<locals>.A*Nrrrrr r!ArsHr rceZdZy))PydocDocTest.test_non_str_name.<locals>.BNrrr r!Brr r)r2rrtr.)rmrradocbdocs     r!test_non_str_namezPydocDocTest.test_non_str_namesU				$$c3/6r cjd}tt|d}t|z}|j||dy)Ntest.i_am_not_hereasciiz&documentation for missing module found)strr>missing_patternrtrmmissing_modulerwexpecteds    r!
test_not_herezPydocDocTest.test_not_heres7-^N3W="^364	6r ctdd}tjjdd}|j	||y)Nztest.test_pydoc.nonasciir)PYTHONIOENCODINGbackslashreplace)r<rrencoder)rmrwencodeds   r!test_not_asciizPydocDocTest.test_not_asciis65P""))'3EF

gv&r cd}tt|d}t|jz}|j	||y)Nz test.i_am_not_here r)rr>rr4rtrs    r!test_input_stripzPydocDocTest.test_input_strips;/^N3W="^%9%9%;;6*r ctj}|j|dd|j|dd|j|dd|j|ddy)Nz<function stripid at 0x88dcee4>z<function stripid>z <function stripid at 0x01F65390>42z<type 'exceptions.Exception'>)r2stripidrt)rmrs  r!test_stripidzPydocDocTest.test_stripidsl--!BC-	/!CD-	/	
-!@A8	:r c~tj}|jt}d}|j	||y)aTests help on builtin object which have more than four child classes.

        When running help() on a builtin class which has child classes, it
        should contain a "Built-in subclasses" section and only 4 classes
        should be displayed with a hint on how many more subclasses are present.
        For example:

        >>> help(object)
        Help on class object in module builtins:

        class object
         |  The most base type
         |
         |  Built-in subclasses:
         |      async_generator
         |      BaseException
         |      builtin_function_or_method
         |      bytearray
         |      ... and 82 other subclasses
        z |  Built-in subclasses:
 |      async_generator
 |      BaseException
 |      builtin_function_or_method
 |      bytearray
 |      ... and \d+ other subclassesN)r2rNdocclassobjectassertRegexrmrDrYsnips    r!)test_builtin_with_more_than_four_childrenz6PydocDocTest.test_builtin_with_more_than_four_childrens6*mmo||F#8	
t$r c~tj}|jt}d}|j	||y)a1Tests help on builtin object which have only child classes.

        When running help() on a builtin class which has child classes, it
        should contain a "Built-in subclasses" section. For example:

        >>> help(ArithmeticError)
        Help on class ArithmeticError in module builtins:

        class ArithmeticError(Exception)
         |  Base class for arithmetic errors.
         |
         ...
         |
         |  Built-in subclasses:
         |      FloatingPointError
         |      OverflowError
         |      ZeroDivisionError
        zc |  Built-in subclasses:
 |      FloatingPointError
 |      OverflowError
 |      ZeroDivisionErrorN)r2rNrArithmeticErrorrrs    r!test_builtin_with_childz$PydocDocTest.test_builtin_with_childs4&mmo||O,,	


dD!r ctj}|jt}d}|j	|||jd|y)aTests help on builtin classes which have grandchild classes.

        When running help() on a builtin class which has child classes, it
        should contain a "Built-in subclasses" section. However, if it also has
        grandchildren, these should not show up on the subclasses section.
        For example:

        >>> help(Exception)
        Help on class Exception in module builtins:

        class Exception(BaseException)
         |  Common base class for all non-exit exceptions.
         |
         ...
         |
         |  Built-in subclasses:
         |      ArithmeticError
         |      AssertionError
         |      AttributeError
         ...
        z^ |  Built-in subclasses:
 |      ArithmeticError
 |      AssertionError
 |      AttributeErrorZeroDivisionErrorN)r2rNr	ExceptionrassertNotInrs    r!test_builtin_with_grandchildz)PydocDocTest.test_builtin_with_grandchild4sE,mmo||I&)	


dD!,d3r cztj}|jt}|j	d|y)aTests help on builtin object which have no child classes.

        When running help() on a builtin class which has no child classes, it
        should not contain any "Built-in subclasses" section. For example:

        >>> help(ZeroDivisionError)

        Help on class ZeroDivisionError in module builtins:

        class ZeroDivisionError(ArithmeticError)
         |  Second argument to a division or modulo operation was zero.
         |
         |  Method resolution order:
         |      ZeroDivisionError
         |      ArithmeticError
         |      Exception
         |      BaseException
         |      object
         |
         |  Methods defined here:
         ...
        Built-in subclassesN)r2rNrrrrmrDrYs   r!test_builtin_no_childz"PydocDocTest.test_builtin_no_childTs/.mmo||-..5r cztj}|jt}|j	d|y)zTests help on metaclasses.

        When running help() on a metaclasses such as type, it
        should not contain any "Built-in subclasses" section.
        rN)r2rNrtyperrs   r!test_builtin_on_metaclassesz(PydocDocTest.test_builtin_on_metaclassesps.mmo||D!.5r c.tdzj}td5}|jd\}}|j	jdd}|djd|d<|j
||dddy#1swYyxYw)Nabdz-chelp()sabdiirzhelp> )rrrcommunicatedecoderemoveprefixrt)rmelinesprocr:r[oliness      r!test_fail_help_clizPydocDocTest.test_fail_help_cli{s!E)557
-
(	-D%%f-FCZZ\,,.r"5Fq	..x8F1IVV,		-	-	-sABBc:t5}tj|}|jdtdz}|j||j
jjdtjdddy#1swYyxYw)NrErr/)rr2Helperhelprrtgetvaluer4r.rJlinesep)rmbufhelperrs    r!test_fail_help_output_redirectz+PydocDocTest.test_fail_help_output_redirectsv
Z	Y3\\-FKK&.HXs||~';';'='E'EdBJJ'WX		Y	Y	YsA=BBctj}d}d|_t}tj|}tt\}}d}dj}tj|}|tz}	|t_	td5}
td5}|j||jj}|	|ftzt!j"tfzz}
|j%d|
j|j%d|j|j%|
|dddddd|t_y#1swYxYw#1swY!xYw#|t_wxYw)NcdS)Nc|Srgr)xs r!<lambda>zJPydocDocTest.test_help_output_redirect.<locals>.<lambda>.<locals>.<lambda>s!r rrr r!rz8PydocDocTest.test_help_output_redirect.<locals>.<lambda>sr rztest.pydoc_modz9
        Help on module test.pydoc_mod in test:

        stdoutstderrr$)r2rmaxDiffrrrVrlstriptextwrapdedentrrrrr4rrrrt)rmgetpager_oldgetpager_newrrunusedrrChelp_headerexpected_help_patternrEr;rwrs              r!test_help_output_redirectz&PydocDocTest.test_help_output_redirects\~~,jS)(3!
FH	ook2 +.C C%
	* *

8f *

8.1F#--/ 5!(
 =!>!(!3!3I!> @!A!B
  V__%67  S\\^4  7

8

8*EN

8

8

8

8*ENs=	E>E2 B*E&
E2E>&E/	+E22E;7E>>
Fc8tdddg}t5}tj|dddj	}|jd||jd||jd||jd|y#1swYbxYw)NPersonnickname	firstnamezAlias for field number 0zAlias for field number 1rrr2rrr)rmrhelp_iohelptexts    r!test_namedtuple_fieldsz#PydocDocTest.test_namedtuple_fieldssHz;&?@

	'JJv	##%

j(+

k8,

0(;

0(;
		sBBctdddgd}t5}tj|dddj	}|jd||jd||jd|y#1swYPxYw)	NNTabcdefT)rename_1_replace_asdictr)rmrrrs    r!!test_namedtuple_public_underscorez.PydocDocTest.test_namedtuple_public_underscorest
uenT
:

	'JJrN	##%

dH%

j(+

i*		sBB	cb|jttdD]}ttd|5}|dk7rt	dj||t	d|t	d|dddt
jti}|j|d	y#1swY8xYw)
N)z
ISO-8859-1UTF-8wencodingrz#coding: {})fileu"""line 1: héz
line 2: hi"""uline 1: hé)	
addCleanuprropenprintformatr2synopsisrt)rmrscriptr%s    r!
test_synopsiszPydocDocTest.test_synopsiss'/	8HfcH5
4w&-..x8vF(v6oF3	
4
~~fb1HX7	8
4
4s<B%%B.	ctjd}|jjd}|jj
}t
j|}|j||y)NrJr)	rimport_fresh_modulerr__spec__cachedr2r%rt)rmrJrfilenamer%s     r!test_synopsis_sourcelessz%PydocDocTest.test_synopsis_sourcelesssV

.
.t
4::((*1-;;%%>>(+8,r ctj5}tjj	|d}t
jj|}t|d5}|jddddtj|tj|i}|j|tj|i}|j|dddy#1swYuxYw#1swYyxYw)Nzfoomod42.pyrfoo = 1)rtemp_cwdrJrKjoin	importlibutilcache_from_sourcer"write
py_compilerSr2r%assertIsNone)rmtest_dir	init_pathcached_pathfobjr%synopsis_cacheds       r!"test_synopsis_sourceless_empty_docz/PydocDocTest.test_synopsis_sourceless_empty_docs



!		/XX}=I#..::9EKi%
&

9%
&y)~~i4Hh'#nn["=Oo.		/		/
&
&		/		/s%AC3!C'3A+C3'C0	,C33C<cRd}|jtj|dy)Nz#I Am A Doc


Here is my description)z
I Am A Docz
Here is my description)rtr2splitdoc)rmexample_strings  r!test_splitdoc_with_descriptionz+PydocDocTest.test_splitdoc_with_descriptions$A7C	Er ctj5}|jtj|dddy#1swYyxYwrg)rr0assertFalser2	ispackage)rmr8s  r! test_is_package_when_not_packagez-PydocDocTest.test_is_package_when_not_packages<



!	8XU__X67	8	8	8s%AAc<tj5}tjj	|d}t|dj
|jtj|tj|dddy#1swYyxYw)N__init__.pyr)rr0rJrKr1r"close
assertTruer2rDremove)rmr8r9s   r!test_is_package_when_is_packagez,PydocDocTest.test_is_package_when_is_packagesm



!	!XX}=IC &&(OOEOOH56IIi 		!	!	!sA4BBcGddt}ttt}|j|d<|d=|d=|j|d<|j
|d<t
j|}|j||y)NceZdZdZy)/PydocDocTest.test_allmethods.<locals>.TestClasscy)NTrrms r!method_returning_truezEPydocDocTest.test_allmethods.<locals>.TestClass.method_returning_truesr N)rrrrQrr r!	TestClassrNs
r rRrQr	__class____subclasshook____init_subclass__)	rdictvarsrQrTrUr2
allmethodsassertDictEqual)rmrRrmethodss    r!test_allmethodszPydocDocTest.test_allmethodss		
V%,5,K,K()Y[!(1'A'A#$(1(C(C$%""9-Wh/r cGddGfdd}tj|}tjdd|}|j	|dt
ztj|tj}d	t
d
}t|}|jdDcgc]}|s|j}}|D]}|j||ycc}w)NceZdZddZeZdZy)+PydocDocTest.test_method_aliases.<locals>.ANcy)z(Raise this widget in the stacking order.Nr)rm	aboveThiss  r!tkraisez3PydocDocTest.test_method_aliases.<locals>.A.tkraiser cy)zReturn sizeNrrPs r!a_sizez2PydocDocTest.test_method_aliases.<locals>.A.a_sizerbr rg)rrrraliftrdrr r!rr^
s
?D
"r rc4eZdZddZeZWj
Zy)+PydocDocTest.test_method_aliases.<locals>.BNcy)z'Configure resources of an item TAGORID.Nr)rmtagOrIdcnfkws    r!
itemconfigurez9PydocDocTest.test_method_aliases.<locals>.B.itemconfigurerbr rg)rrrrl
itemconfigrdb_size)rsr!rrgs
>&JXXFr rrQr$aPython Library Documentation: class B in module %s

class B(A)
 |  Method resolution order:
 |      B
 |      A
 |      builtins.object
 |
 |  Methods defined here:
 |
 |  b_size = a_size(self)
 |
 |  itemconfig = itemconfigure(self, tagOrId, cnf=None, **kw)
 |
 |  itemconfigure(self, tagOrId, cnf=None, **kw)
 |      Configure resources of an item TAGORID.
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from A:
 |
 |  a_size(self)
 |      Return size
 |
 |  lift = tkraise(self, aboveThis=None)
 |
 |  tkraise(self, aboveThis=None)
 |      Raise this widget in the stacking order.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from A:
 |
 |  __dict__
 |      dictionary for instance variables (if defined)
 |
 |  __weakref__
 |      list of weak references to the object (if defined)
rendererz1
Python Library Documentation

class B in module a
class B(A)
    Method resolution order:
        B
        A
        builtins.object

    Methods defined here:
        b_size = a_size(self)
        itemconfig = itemconfigure(self, tagOrId, cnf=None, **kw)
        itemconfigure(self, tagOrId, cnf=None, **kw)
            Configure resources of an item TAGORID.

    Methods inherited from A:
        a_size(self)
            Return size
        lift = tkraise(self, aboveThis=None)
        tkraise(self, aboveThis=None)
            Raise this widget in the stacking order.

    Data descriptors inherited from A:
        __dict__
            dictionary for instance variables (if defined)
        __weakref__
            list of weak references to the object (if defined)
r/)r2rrRrTrtrr@rbsplitr4r)	rmrrDras_textrr
expected_liners	        @r!test_method_aliasesz PydocDocTest.test_method_aliasess	"	"		q!ffUB$%JK%%	Nq5==?;*
:C.3@3F3Ft3LU4PT$**,UU+	2MMM-1	2Vs/C%7C%cTddl}t|\}}t|\}}tt\}}tt\}}|jD]U}|d}d|d}	|j|||j|	||j
|||j
|	|Wy)Nrz = _Featurez<strong>z</strong> = _Feature)
__future__rVrGrall_feature_namesrr)
rmrvfuture_textr[future_htmlpydoc_mod_textpydoc_mod_htmlfeaturetxtras
          r!test__future__importsz"PydocDocTest.test__future__importsfs	'
3Q'
3Q*95*95!33	3GI[)CgY&:;DMM#{+MM$,S.1T>2
	3r )(rrrrunittestskipIfhasattrrr}rrrrrrrrrrrrrrrrrrrr	rrr'r-r=rArErKr[rtr~rr r!r|r|sGX__WS*-@,#,,.HJ
'J
'X__WS*-@,#,,.HJ0J019
Q
'
76''
+:%>"64@68	6-YX__WS*-@,#,,.HJ *J *D<+	8--
/E
8!02X2X2t3r r|ceZdZdZdZdZdZeje	jeddZdZ
e	jdd	Ze	jdd
Ze	jddZd
Zy)PydocImportTestctjt|_|j	t
tt
jyrg)rJmkdirrr8r!rr2invalidate_cachesrPs r!setUpzPydocImportTest.setUpzs,(
'##%r cd}ddddj|dfdj|dj|ff}tjjt|tj
zdz}|D]w\}}t
|d	5}|jd
j|dddt|tjd}t||fz}|j||yy#1swYIxYw)
N
testmod_xyzzy)
i_am_not_herer)test.i_am_not_here_eitherr)ztest.i_am_not_here.neither_am_irzi_am_not_here.{}rztest.{}pyrz
import {}
)
PYTHONPATHr)r$rJrKr1rextsepr"r5r>rbadimport_patternrt)	rmmodname	testpairssourcefnimportstring
expectedinmsgfrwrs	         r!test_badimportzPydocImportTest.test_badimports".FE

&
&w
/A


g
&	(8(8(AB	77<<0299<tC+4	/'L-h$
<
,,\:;
<#G?FFwOF(G]+CCHXv.	/
<
<s!C00C9	ctjjtd}tj|tjj|dtj
zdz}t
|d5}|jdddd|jtg5t5}t5}tjddddddd|jjd|jjdt5}t5}tjddddddd|j|jjd|j|jddddy#1swY/xYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYyxYw)	N	syntaxerr__init__rrzinvalid python syntax = $1
rKxyzzyr$)rJrKr1rrrr"r5rqrrr2aproposrtrr4)rmpkgdir	badsyntaxrr:r;s      r!test_apropos_with_bad_packagez-PydocImportTest.test_apropos_with_bad_packagesfk2
GGLL4ryy@4G	
)S
!	4Q
GG23	4

(
(vh
(
7	1 "
+c$&+#MM'*+
+
S\\^R0S\\^R0 "
/c$&/#MM+./
/
S\\^113[AS\\^R0	1	1	4	4++
+
+//
/
/	1	1sz:F9+G66GGGAG61G*<GG*AG69GGGG	G6G'#G**G3	/G66G?chtjjtd|_tj
|jd|j
tj|j|jtg5t5}t5}tjdddddddddd|jjd|jjdy#1swYZxYw#1swY^xYw#1swYbxYw)N
unreadablerrSOMEKEYr$)rJrKr1runreadable_dirrr!rmdirrqrrr2rrtr)rmr:r;s   r! test_apropos_with_unreadable_dirz0PydocImportTest.test_apropos_with_unreadable_dirs ggll6<@
$$a($"5"56
(
(vh
(
7	- "
-c$&-#MM),-
-	-
	
,,	--
-
-	-	-s<D(D!D7D?D(DDD%	!D((D1zcannot remove x bitc^tjjtd}tj||jt|tjj|d}t|d5}|jddddtjtj|j}	tj||tjz|jtg5t5}t!j"ddddddd|j%dj'tj||y#1swYxYw#1swYTxYw#1swYXxYw#tj||wxYw)NwalkpkgrGrr/rr$)rJrKr1rrr!rr"r5statS_IMODEst_modechmodS_IEXECrqrr2rrr)rmrr9r;current_moders      r!test_apropos_empty_docz&PydocImportTest.test_apropos_empty_docs2fi0
'GGLL7	
)S
!	"TJJy!	"||BGGFO$;$;<	+HHV\T\\M9:,,6(,;
"_=N
"RX

b!
"
"MM)V__%67HHV\*	"	"

"
"
"
"
HHV\*sH<E0	?FFE<)F1(F0E9<F	FF
FF,ctjjtd}tj|tjj|d}t|dd5}|j
dddd|jtg5ttj}tjjdt	|jtd	5ddl
}ddd|jd
d}d}|j|||tjdd	dddy#1swYxYw#1swYXxYw#|tjddwxYw#1swYyxYw)
Ntest_error_packagerGwtrrzraise ValueError("ouch")
rrouchzsearch?key=test_error_packagePydoc: Search Resultsz8<a href="test_error_package.html">test_error_package</a>)rJrKr1rrr"r5rqtuplerinsertassertRaisesRegex
ValueErrorrrxr)rmrinitrsaved_pathsrrYfounds        r!test_url_search_package_errorz-PydocImportTest.test_url_search_package_errors*f&:;
ww||FM2
$w
/	61
GG45	6

(
(vh
(
7	*/KHHOOAv&

*++J?.-.,,-L+--

eT*)	*	*	6	6..*	*	*sH(D>>E.E.E
3.E!E.>E
E	EE++E..E7z(causes undesirable side-effects (#20128)cd}d}d}||z|z}t}tj|}|d|jj	}t|j
}|j||y)Nrmodules)rr2rrr4lenrassertGreaterEqual)	rmnum_header_linesnum_module_lines_minnum_footer_linesrrErrw	num_liness	         r!test_moduleszPydocImportTest.test_moduless| #&::=MMV,y"((*))+,		84r cd}t}tj|}t5}|ddddj	}|j||y#1swY,xYw)Nzpydoc - rz
modules pydoc)rr2rrrrrmrrErrrws      r!test_modules_searchz#PydocImportTest.test_modules_searchs_V,

	$'?#	$!!#

h'		$	$s	A!!A*z+some buildbots are not cooperating (#20128)cd}t}tj|}t5}|ddddj	}|j|j
|y#1swY:xYw)Nzgc - rzmodules garbage)rr2rrrrI
startswithrs      r!test_modules_search_builtinz+PydocImportTest.test_modules_search_builtinsgV,

	&'$%	&!!#))(34		&	&s	A//A8cVtjtj}|j|t|j	|j
d|j	|jtj|j	|jtjy)Nr2)r2
importfiler3assertIsNotrtrr*)rmloaded_pydocs  r!test_importfilezPydocImportTest.test_importfile
sp''7u-..8..?..?r N)rrrrrrrrskip_unless_working_chmodrrrrrskiprrrrrr r!rrxs&
/*1*
-((X__]$9:+;)+ *.X]]=>
5?
5X]]=>
(?
(X]]@A	5B	5@r rcdeZdZdZdZdZdZdZdZdZ	e
dZe
d	Zd
Z
edZdZd
ZedZedZedZedZedZedZedZedZedZedZedZedZedZdZdZ edZ!y)TestDescriptionsc^ddlm}tj|}|j	d|y)Nr)pydocfodderr)testrr2rr)rmrrDs   r!test_modulezTestDescriptions.test_modules#${+

mS)r cGdd}|}|jtj|d|jtj|ddtz}|j	|tj
|y)NceZdZdZy)&TestDescriptions.test_class.<locals>.CzNew-style classNrrr r!Crs"r rzclass CzC in module %s object)rtr2describerrr)rmrcrs    r!
test_classzTestDescriptions.test_classsd""
C*I6*C0*X5

h 0 0 34r c8|jtjtjt
dtjtjt
tj}|jd||jd||jtjjjd||jtjtt
dtjtt
tj}|jd||jd||jtjjjd|y)	N
_GenericAliasroz_GenericAlias in module typingzList = class list(object)rGenericAliaszGenericAlias in module builtinsz
class list(object))
rtr2rtypingListintr	plaintextrlistrr4rrmrDs  r!test_generic_aliasz#TestDescriptions.test_generic_alias$sC(89?Kv{{3/%//J

6<

137

dll((*557:C@S	2NCtCy5??C

7=

,c2

dll((*557:C@r c|jtjtjt
tfdtjtjt
tftj}|jd||jd|tjjrI|jtjjjjd||jtjt
tzdtjt
tztj}|jd||jd||jtjjjjd|y)	N_UnionGenericAliasroz#_UnionGenericAlias in module typingzUnion = typing.Unionr	UnionTypez UnionType in module types objectz!
class UnionType(builtins.object))rtr2rrUnionrrrrrrr4rtypesrrs  r!test_union_typez TestDescriptions.test_union_type1s*S#X(>?AUVv||CH5P

;SA

,c2<<MM&,,..446AACAFLc	2K@sSy5??C

8#>

:C@

eoo--335@@B1EsKr c|jtjtjdtj
tjtj}|jd|tjjr\|jd||jtjjjjd|y|jd|y)N_SpecialFormroz_SpecialForm in module typingzNoReturn = typing.NoReturnrz%NoReturn = class _SpecialForm(_Final))rtr2rrNoReturnrrrrr4rrs  r!test_special_formz"TestDescriptions.test_special_form?s8.IvI

5s;??""MM6<MM&//11779DDFqI3OMMA3Gr c	<dtjtjdtdtjtj
ttjffd}tjd}Gddtj|tjttf}|jtj|jdd	|jtj|jd
dy)Ndatarreturncyrgr)rrs  r!fooz/TestDescriptions.test_typing_pydoc.<locals>.fooJsr TceZdZy)-TestDescriptions.test_typing_pydoc.<locals>.CNrrr r!rrNsr rz?ffoooo(data: List[Any], x: int) -> Iterator[Tuple[int, Any]]rz2class CC(collections.abc.Mapping, typing.Generic))rrAnyrIteratorTupleTypeVarGenericMappingrrtr2rr)rmrrrs    r!test_typing_pydocz"TestDescriptions.test_typing_pydocIs	fkk&**-		!??6<<VZZ+HI	
NN3Aq!6>>#s(#;A))#.99;B?9	:	
))!,779!<P	Rr cdD]<}|jtj|	tj|>dD]K}|jtj||jttj|My#t$r#|jdj
|YwxYw)N)rz
str.translatezbuiltins.strzbuiltins.str.translatezfinding the doc of {!r} failed)notbuiltinsstrrrzstrr.translatezstr.trrrranslatezbuiltins.strrrzbuiltins.str.trrranslate)	assertIsNotNoner2locaterImportErrorfailr$r7assertRaises)rmnames  r!test_builtinzTestDescriptions.test_builtinUs/	ID
  d!34
I  &
	I1	CD
ell401k5+;+;TB		C
I		:AA$GH
IsB)B?>B?c~tjtj|}|jd}|dSNr/r)r2plainrrqorYliness   r!_get_summary_linez"TestDescriptions._get_summary_linefs2{{5++A./

4 Qxr ctjtj|}|jd}dj	|ddSr)r2rrrqr1rs   r!_get_summary_linesz#TestDescriptions._get_summary_linesms>{{5++A./

4 yyqr##r cv|j|jtjjdy)Nzwrap(self, text))rtrrTextWrapperwraprPs r!test_unbound_python_methodz+TestDescriptions.test_unbound_python_methodts,//0D0D0I0IJ	 r cv|j|jtjjdy)Nzdump(self, obj, /))rtr_picklePicklerdumprPs r!test_unbound_builtin_methodz,TestDescriptions.test_unbound_builtin_methodxs*//0D0DE 	"r ctj}|j|j|jdy)Nz2wrap(text) method of textwrap.TextWrapper instance)rrrtrr)rmts  r!test_bound_python_methodz)TestDescriptions.test_bound_python_method~s3  "//7@	Br ctdgd}tj|}|j|j	d|j	d|j|j	d|j	dGdd}Gdd	}tj|tj|y)
Nr)rr
agegrouprr
r&ceZdZdZy)MTestDescriptions.test_field_order_for_named_tuples.<locals>.NonIterableFieldsNrrr_fieldsrr r!NonIterableFieldsr(sGr r+ceZdZggZy)MTestDescriptions.test_field_order_for_named_tuples.<locals>.NonHashableFieldsNr)rr r!NonHashableFieldsr-s	dGr r.)rr2r
assertLessindex)rmrr(r+r.s     r!!test_field_order_for_named_tuplesz2TestDescriptions.test_field_order_for_named_tuplessH&KLV$
+QWW[-AB,aggj.AB					*+
*+r ct}tj|}|j|j	|j
dy)Nz/dump(obj, /) method of _pickle.Pickler instance)rrrrtrr )rmr(ps   r!test_bound_builtin_methodz*TestDescriptions.test_bound_builtin_methods9JOOA//7=	?r cb|j|jtjdy)Nz0stat(path, *, dir_fd=None, follow_symlinks=True))rtrrJrrPs r!test_module_level_callablez+TestDescriptions.test_module_level_callables%//8>	@r c:Gdd}|j|j|jdd|j|j|jd|j	dtjtj|y)NceZdZedZy)-TestDescriptions.test_staticmethod.<locals>.Xcy)zA static methodNrrys  r!smz0TestDescriptions.test_staticmethod.<locals>.X.smr N)rrrstaticmethodr=rr r!Xr9s


r r@r=zsm(x, y)
    A static method
zJ
 |  Static methods defined here:
 |
 |  sm(x, y)
 |      A static method
)rtr__dict__r=rr2rrrmr@s  r!test_staticmethodz"TestDescriptions.test_staticmethods		
	
00D1AB1	2	
0069		



[[!!!$%	'r c:Gdd}|j|j|jdd|j|j|jd|j	dtjtj|y)NceZdZedZy),TestDescriptions.test_classmethod.<locals>.Xcy)zA class methodNr)clsrs  r!cmz/TestDescriptions.test_classmethod.<locals>.X.cmr>r N)rrrclassmethodrIrr r!r@rFs


r r@rIzcm(...)
    A class method
z:cm(x) method of builtins.type instance
    A class method
zX
 |  Class methods defined here:
 |
 |  cm(x) from builtins.type
 |      A class method
)rtrrArIrr2rrrBs  r!test_classmethodz!TestDescriptions.test_classmethods		
	
00D1AB0	1	
0069		



[[!!!$%	'r c||j|jtjd|j|jtj
d|j|jtjd|j|jtjdy)N	numeratorrealr7obj)
rtrrrMfloatrNrr7
memoryviewrOrPs r!test_getset_descriptorz'TestDescriptions.test_getset_descriptors	
//

>L//

;VD//	?H//
?Gr c|j|jtjd|j|jtj
d|j|jtj
d|j|jtjd|j|jtjdy)NrNstartfgetvalue)rtrcomplexrNrangerTslicepropertyrU
StopIterationrVrPs r!test_member_descriptorz'TestDescriptions.test_member_descriptors	
//=vF//<gF//<gF//

>G//
0C0CDgNr cnGdd}|j|j|jdy)NceZdZdZy)4TestDescriptions.test_slot_descriptor.<locals>.Pointr;N)rrr	__slots__rr r!Pointr_s Ir rar)rtrr)rmras  r!test_slot_descriptorz%TestDescriptions.test_slot_descriptors+	!	!//8#>r ctGdd}|j|j|jddy)NceZdZy)6TestDescriptions.test_dict_attr_descriptor.<locals>.NSNrrr r!NSrerr rfrA)rtrrA)rmrfs  r!test_dict_attr_descriptorz*TestDescriptions.test_dict_attr_descriptors3		//J0GH#	%r c|j|jttjj
d|j|jttjjd|j|jttjjd|j|jttjjdy)Nwidthdebugmajormax)rtrrr	hash_inforiflagsrjversion_infork
float_inforlrPs r! test_structseq_member_descriptorz1TestDescriptions.test_structseq_member_descriptors//S]]0C0I0IJ 	"//SYY0E0EF 	"//S5E5E0F0L0LM 	"//S^^0D0H0HI	 r crtdd}|j|j|jdy)NBox)riheightz    Alias for field number 0
)rrtrri)rmrss  r! test_namedtuple_field_descriptorz1TestDescriptions.test_namedtuple_field_descriptors3 3400;>	r cGdd}|j|j|jd|jdt	j
t	j|y)NceZdZedZy),TestDescriptions.test_property.<locals>.Rectc4|j|jzS)zArea of the rect)rhrPs r!areaz1TestDescriptions.test_property.<locals>.Rect.areasvv&r N)rrrrZr{rr r!Rectrxs

'
'r r|z    Area of the rect
z#
 |  area
 |      Area of the rect
)rtrr{rr2rr)rmr|s  r!
test_propertyzTestDescriptions.test_propertys^	'	'	
00;>		


[[!!$'(	*r cGddGfdd}|j|j|jdtdd|j_|j|j|jdtdd	|j_|j|j|jd
y)NceZdZdZy)?TestDescriptions.test_custom_non_data_descriptor.<locals>.Descrc||SyNrrrmrOrHs   r!__get__zGTestDescriptions.test_custom_non_data_descriptor.<locals>.Descr.__get__;Kr N)rrrrrr r!Descrr
s
r rceZdZWZy);TestDescriptions.test_custom_non_data_descriptor.<locals>.XNrrrattrrsr!r@r
7Dr r@r`zH.TestDescriptions.test_custom_non_data_descriptor.<locals>.Descr object>Custom descriptorz_.TestDescriptions.test_custom_non_data_descriptor.<locals>.Descr object>
    Custom descriptor
rzfoo(...)
    Custom descriptor
)rtrrrrrmr@rs  @r!test_custom_non_data_descriptorz0TestDescriptions.test_custom_non_data_descriptors		
			
008?
S;W	X-008?
;	
 008;	r cxGddGfdd}|j|j|jdd|j_|j|j|jdd|j_|j|j|jd	y)
NceZdZdZdZy);TestDescriptions.test_custom_data_descriptor.<locals>.Descrc||Syrrrs   r!rzCTestDescriptions.test_custom_data_descriptor.<locals>.Descr.__get__'rr cddzy)Nrrrrs   r!__set__zCTestDescriptions.test_custom_data_descriptor.<locals>.Descr.__set__+s	!r N)rrrrrrr r!rr&s

r rceZdZWZy)7TestDescriptions.test_custom_data_descriptor.<locals>.XNrrsr!r@r-rr r@r$rz    Custom descriptor
rzfoo
    Custom descriptor
)rtrrrrrs  @r!test_custom_data_descriptorz,TestDescriptions.test_custom_data_descriptor$s					
008"=,008;	 008;	r c
dtfd}tjtjj	|}|jd|tjj	|}|jd|y)NrcKywrr)igns r!
coro_functionz=TestDescriptions.test_async_annotation.<locals>.coro_function>s	szasync coro_functionz4async <a name="-coro_function"><strong>coro_function)rr2rrdocumentrr@)rmrrYras    r!test_async_annotationz&TestDescriptions.test_async_annotation=sd		{{5??33MBC

+T2}}''
6

B	r cd}tjtjj|}|j	d|tj
j|}|j	d|y)NcKdywrrrr r!an_async_generatorzLTestDescriptions.test_async_generator_annotation.<locals>.an_async_generatorJsGs	zasync an_async_generatorz>async <a name="-an_async_generator"><strong>an_async_generator)r2rrrrr@)rmrrYras    r!test_async_generator_annotationz0TestDescriptions.test_async_generator_annotationIs_	{{5??334FGH

0$7}}''(:;

L	r ctd}tjj|}|jd|y)Ncy)za link https://localhost/Nrrr r!a_fn_with_https_linkzHTestDescriptions.test_html_for_https_links.<locals>.a_fn_with_https_linkWsr z3<a href="https://localhost/">https://localhost/</a>)r2r@rr)rmrras   r!test_html_for_https_linksz*TestDescriptions.test_html_for_https_linksUs2	}}''(<=

A	
r N)"rrrrrrrrrrr?rrrrr!r$r1r4r6rCrKrRr\rbrgrqrur}rrrrrrr r!rrs*5ALH
RC"$$ ""
B, ??@@''(''(HHOO??
%%  
*
*00

	
	
r rz/Socket server not available on Emscripten/WASI.ceZdZdZdZy)PydocServerTestzTests for pydoc._start_serverc	:d}tj|dd|jjd|j	j
|j
fd|jdj|j
t|jdttjjjdj|jdttjjjd	jj|j!j
|j#j$|j#jy)
Ncd|d|d}|S)Nzthe URL sent was: (z, )r)rucontent_typerYs   r!my_url_handlerz3PydocServerTest.test_server.<locals>.my_url_handlerls36EDKr 	localhostr)hostnameportc@jrjSdSrg)servingstop)serverthreadsr!rz-PydocServerTest.test_server.<locals>.<lambda>xs<+?+?L%%'Tr s$the URL sent was: (/test, text/html)z/tests'the URL sent was: (/test.css, text/css)z	/test.css)r2
_start_serverrterrorrIrr!rrurrrrurljoinreadrrCr7	docserver)rmrrs  @r!test_serverzPydocServerTest.test_serveris<	** 
	
++T2,,-I		


k<#3#34
#3FLL(()9)97CDIIK		
6FLL(()9)9;GHMMO	
	--.,001,**+r N)rrrrrrr r!rrbs
( ,r rceZdZdZdZdZy)PydocUrlHandlerTestzTests for pydoc._url_handlerctj}|jt|dd|jt|ddy)Nrr$rfoobar)r2rsr
	TypeError)rmrs  r!test_content_type_errz)PydocUrlHandlerTest.test_content_type_errs5)QR0)QX6r cgd}|j5|D]\}}|j||	dddy#1swYyxYw)N))r$Pydoc: Index of Modules)zget?key=r)r0r)topicsz
Pydoc: Topics)keywordszPydoc: Keywords)r2Pydoc: module pydoc)z
get?key=pydocr)zsearch?key=pydocr)z
topic?key=defzPydoc: KEYWORD def)ztopic?key=STRINGSzPydoc: TOPIC STRINGS)rzPydoc: Error - foobar)rqrx)rmrequestsrur\s    r!test_url_requestsz%PydocUrlHandlerTest.test_url_requestssO
(
(
*	2&
2
U%%c51
2	2	2	2s	<AN)rrrrrrrr r!rrs&7
2r rceZdZdZy)
TestHelperc|jttjjtt
jyrg)rtsortedr2rrkeywordkwlistrPs r!
test_keywordszTestHelper.test_keywordss- 5 56/	1r N)rrrrrr r!rrs1r rceZdZejeedxrejdedZ	ejeedxrejdedZ
ejeedxrejdedZejeedxrejdedZdZ
y)	PydocWithMetaClassesr}r~c>Gddt}Gdd|}tdtD}t}t	j
|}||ttf|ddzz}|jj}|j||y)	NceZdZfdZxZS)=PydocWithMetaClasses.test_DynamicClassAttribute.<locals>.Metac.|dk(ryt||S)Nhamspamsuper__getattr__rmrrSs  r!rzIPydocWithMetaClasses.test_DynamicClassAttribute.<locals>.Meta.__getattr__s5=!w*400r )rrrr
__classcell__rSs@r!Metars

1
1r rc0eZdZejdZy);PydocWithMetaClasses.test_DynamicClassAttribute.<locals>.DAcy)NeggsrrPs r!rz?PydocWithMetaClasses.test_DynamicClassAttribute.<locals>.DA.hamsr N)rrrrDynamicClassAttributerrr r!DArs

(
(
)
r r	metaclassc3.K|]
}|rd|zndyw)z	
 |      r$Nrr&s  r!r)zBPydocWithMetaClasses.test_DynamicClassAttribute.<locals>.<genexpr>s(.I*+CDlQ.>.K.Ir*rr)rrexpected_data_docstringsrr2r!expected_dynamicattribute_patternrrr4rt)rmrrrrErrrws        r!test_DynamicClassAttributez/PydocWithMetaClasses.test_DynamicClassAttributes	14	1
	4	)..I/G.I)I%V,r
9;BQ??A
"((*/r cGddt}Gdd|}t}tj|}||tt
z}|j
j}|j||y)Nc$eZdZdZfdZxZS)HPydocWithMetaClasses.test_virtualClassAttributeWithOneMeta.<locals>.Metac
gdS)N)rSrrLIFErrHs r!__dir__zPPydocWithMetaClasses.test_virtualClassAttributeWithOneMeta.<locals>.Meta.__dir__sFFr c.|dk(ryt||S)Nrr)r_Meta__getattrrs  r!rzTPydocWithMetaClasses.test_virtualClassAttributeWithOneMeta.<locals>.Meta.__getattr__s&=w(..r rrrrrrrs@r!rrs
G
/
/r rceZdZy)IPydocWithMetaClasses.test_virtualClassAttributeWithOneMeta.<locals>.ClassNrrr r!Classrrr rrr)	rrr2r"expected_virtualattribute_pattern1rrr4rt)rmrrrErrrws       r!%test_virtualClassAttributeWithOneMetaz:PydocWithMetaClasses.test_virtualClassAttributeWithOneMetase	/4	/	d	V,u
:XE
"((*/r c(
Gddt
GddtG
fdd
}Gdd
	}Gd
d||	}t}tj|}||tt
z}|j
j}|j||t}tj|}||tt
z}|j
j}	|j||	y)
Nc$eZdZdZfdZxZS)IPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta1c
gdS)N)rSrrrrrs r!rzQPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta1.__dir__EEr c.|dk(ryt||S)Nrrrrs  r!rzUPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta1.__getattr__%<w*400r rrs@r!Meta1r
F
1
1r rc$eZdZdZfdZxZS)IPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta2c
gdS)N)rSrrtworrs r!rzQPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta2.__dir__rr c.|dk(ryt||S)Nrrrrs  r!rzUPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta2.__getattr__rr rrs@r!Meta2rrr rc,eZdZfdZfdZxZS)IPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta3c
tttgdj|zj|zS)N)rSrrthree)rrsetr)rHrrs r!rzQPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta3.__dir__sCF3DMM#&').s);<$=>??r c.|dk(ryt||S)Nrrrrs  r!rzUPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta3.__getattr__s'>w*400r r)rSrrs@r!Meta3r	s
?
1
1r rceZdZy)JPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Class1Nrrr r!Class1rrr rrceZdZy)JPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Class2Nrrr r!Class2rrr rr)
rrr2r"expected_virtualattribute_pattern2rrr4rt"expected_virtualattribute_pattern3)rmrrrrErexpected_text1result1expected_text2result2rrs          @@r!%test_virtualClassAttributeWithTwoMetaz:PydocWithMetaClasses.test_virtualClassAttributeWithTwoMetas	1D	1	1D	1	1E5	1	u		Vu	V,v;hF//#))+1V,v;hF//#))+1r cGddt}Gdd|}t}tj|}||tt
z}|j
j}|j||y)NceZdZdZy).PydocWithMetaClasses.test_buggy_dir.<locals>.Mc
gdS)N)rSrmissinghererrs r!rz6PydocWithMetaClasses.test_buggy_dir.<locals>.M.__dir__sCCr N)rrrrrr r!Mr
s
Dr r"ceZdZdZy).PydocWithMetaClasses.test_buggy_dir.<locals>.Czpresent!N)rrrr!rr r!rr$sDr rrr)	rrr2r!expected_missingattribute_patternrrr4rt)rmr"rrErrrws       r!test_buggy_dirz#PydocWithMetaClasses.test_buggy_dir	sg	D	D	!	V,q	9HD
"((*/r ct5}tjddddj}|j	d|y#1swY,xYw)Nz	enum.Enumz
class Enum)rr2rrr)rmrrs   r!test_resolve_falsez'PydocWithMetaClasses.test_resolve_falsesI
	$'JJ{#	$##%

lH-	$	$sAAN)rrrrrrrr}rrrrr&r(rr r!rrsX__WS*-@,#,,.HJ0J0(X__WS*-@,#,,.HJ0J0"X__WS*-@,#,,.HJ'2J'2RX__WS*-@,#,,.HJ0J0.r rc8eZdZdZd	dZdZdZdZdZdZ	y)
TestInternalUtilitiescHtj}|j|_tj
j
|jd|_|j|jt	jx|_}dtj|g|_
y)Nnonexistentr$)tempfileTemporaryDirectoryrargv0dirrJrKr1argv0r!cleanupgetcwd
abs_curdircurdircurdir_spellings)rmtmpdirr3s   r!rzTestInternalUtilities.setUp$sj,,.
WW\\&++}=
'')yy{2*!#RYY
 ;r NcJ||j}tj||Srg)r0r2_get_revised_path)rm
given_pathr0s   r!r8z'TestInternalUtilities._get_revised_path,s%=JJE&&z599r ctjj}|jD]2}t	|j|D]}|j
|4|Srg)rrKcopyr5rXcountrJ)rm
clean_pathspelling__s    r!_get_starting_pathz(TestInternalUtilities._get_starting_path3s[XX]]_
--	,HJ,,X67
,!!(+
,	,r c|j}|jg|z}|j|j||yrg)r@r3rtr8)rmr=
expected_paths   r!,test_sys_path_adjustment_adds_missing_curdirzBTestInternalUtilities.test_sys_path_adjustment_adds_missing_curdir;s<,,.
)J6
//
;]Kr c|j}|jg|z}|jg|z}|j|j	||||jgz}|j|j	||yrg)r@r3r/rtr8)rmr=rBleading_argv0dirtrailing_argv0dirs     r!*test_sys_path_adjustment_removes_argv0_dirz@TestInternalUtilities.test_sys_path_adjustment_removes_argv0_dir@s{,,.
)J6
 MM?Z7//0@A=Q&$--8//0ABMRr cfd}j}jg|z}jg|z}j||||jgz}jg|z}j|||y)NcFj|tjS)N)r0)r8r2r3)r9rms r!r8z\TestInternalUtilities.test_sys_path_adjustment_protects_pydoc_dir.<locals>._get_revised_pathIs))*ENN)KKr )r@r/r3rt)rmr8r=rErBrFs`     r!+test_sys_path_adjustment_protects_pydoc_dirzATestInternalUtilities.test_sys_path_adjustment_protects_pydoc_dirHs	L,,.
 MM?Z7),<<
*+;<mL&$--8),==
*+<=}Mr c|j}|jD]}|j|5|g|z}|j|j	|||gz}|j|j	||j
g|z}|j|j	|||j
gz}|j|j	|dddy#1swYxYw)N)curdir_spelling)r@r5subTestr7r8r/)rmr=r>leading_curdirtrailing_curdirrErFs       r!5test_sys_path_adjustment_when_curdir_already_includedzKTestInternalUtilities.test_sys_path_adjustment_when_curdir_already_includedSs,,.
--
	MHh7	
M"*j!8!!$"8"8"HI",z"9!!$"8"8"IJ$(MM?^#C !!$"8"89I"JK$3t}}o$E!!!$"8"89J"KL	
M	
M
	M	
M	
MsB-C**C3	rg)
rrrrr8r@rCrGrJrPrr r!r*r*"s)<:L
S	NMr r*ctj}tjtjg|tjt
yrg)rthreading_setupraddModuleCleanupthreading_cleanupr
)thread_infos r!setUpModulerVbs8"224K.@@O;Om,r __main__)[rJrryimportlib.utilr2rr2r6rrrprRrr-test.supportrrrrurllib.parser	xml.etreerxml.etree.ElementTreeriorcollectionsrurllib.requestrrrrtest.support.script_helperr	r
rrr
rrrrrrtest.support.os_helperrrrrrsupportHAVE_DOCSTRINGSrr4rrrrexpected_html_data_docstringsr.rrrrrrrr%r<r>rGrOrVr]rbTestCaserdr|rrrrrrrr*rVrmainrr r!<module>rgs	
	
".&"MM)///<;		<< 
 0\x
EGy|!&&I/G&I!IJX!&&I/G&I!I,-4GD"**,EN% 
EG!"$&
EG#&
EG#&,
EG-#0%
EG"H%%<c38$$c3LX@mX@vL
x((L
^
W5#,h''#,	#,L2-2>1""1n.8,,n.b=MH--=M@-zHMMOr