a 5êdg1ã@sXddlZddlmZddlZddlZGdd„dƒZGdd„dejƒZedkrTe  ¡dS)éN)Úpatchc@seZdZdZdZdZdS)Ú CompleteMez6 Trivial class used in testing rlcompleter.Completer. ééN)Ú__name__Ú __module__Ú __qualname__Ú__doc__ÚspamZ_ham©r r ú1/usr/local/lib/python3.9/test/test_rlcompleter.pyrsrc@sZeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Ze j   d d¡dd„ƒZ dd„Z dS)ÚTestRlcompletercCs2t ¡|_t ttttd¡|_|j dd¡dS)N)r ZeggrÚr) Ú rlcompleterÚ CompleterÚ stdcompleterÚdictÚintÚstrrÚ completerÚcomplete©Úselfr r r ÚsetUp s  þ zTestRlcompleter.setUpcCshGdd„dtƒ}Gdd„dtƒ}| |jj¡| |jj¡| t |ƒ¡j¡|  t tj|dƒ¡dS)Nc@s eZdZdS)z)TestRlcompleter.test_namespace..AN©rrrr r r r ÚAsrc@s eZdZdS)z)TestRlcompleter.test_namespace..BNrr r r r ÚBsr)r) rÚlistÚ assertTruerZ use_main_nsZ assertFalserrrZ assertRaisesÚ TypeError)rrrr r r Útest_namespaces zTestRlcompleter.test_namespacecCs¦| t|j d¡ƒdd„ttƒDƒ¡| t|j d¡ƒdd„ttƒDƒ¡| |j d¡g¡| |j d¡dg¡| |j d ¡d g¡| |j d¡dg¡dS) NÚdicSsg|]}| d¡r|d‘qS)r!ú(©Ú startswith©Ú.0Úxr r r Ú $óz7TestRlcompleter.test_global_matches..ÚstcSsg|]}| d¡r|d‘qS)r*r"r#r%r r r r(&r)Z akaksajadhakZ CompleteMz CompleteMe(Zegzegg()Ú assertEqualÚsortedrZglobal_matchesÚdirÚbuiltinsrrr r r Útest_global_matches!s ÿÿÿÿÿz#TestRlcompleter.test_global_matchescCs| |j d¡dd„ttƒDƒ¡| |j d¡g¡tdd„tdƒDƒƒ}| |j d¡|¡| |j d¡|¡| |j d ¡|¡| |j d ¡d g¡| |j d ¡g¡| |j d ¡dd g¡| |j d¡dg¡|j d¡}|D]}| | d¡|¡qð|  d|¡|  d|¡t j t dt ddH| |j d¡dg¡| |j d¡dd„ttƒDƒ¡Wdƒn1s‚0YdS)Nzstr.scSs g|]}| d¡rd |¡‘qS)Úszstr.{}(©r$Úformatr%r r r r(5s ÿz5TestRlcompleter.test_attr_matches..ztuple.foospameggcSs$h|]}d||dkrdndf’qS)z None.%s%sr r"rr r%r r r Ú 8sÿz4TestRlcompleter.test_attr_matches..zNone.zNone._zNone.__z CompleteMe.spzCompleteMe.spamzCompleteme.eggz CompleteMe.zCompleteMe.mro(z CompleteMe._zCompleteMe._hamz CompleteMe.__zCompleteMe.__name__zCompleteMe.__new__(ÚmeT)ZcreatezCompleteMe.me.me.spzCompleteMe.me.me.spamzegg.scSs g|]}| d¡rd |¡‘qS)r0zegg.{}(r1r%r r r r(Ps ÿ) r+rZ attr_matchesr-rr,rrr$ZassertInrÚobjectr)rZexpectedÚmatchesr'r r r Útest_attr_matches2s@ÿÿÿÿÿ   ÿÿz!TestRlcompleter.test_attr_matchescCsJGdd„dƒ}|ƒ}t t|d¡}| | dd¡d¡| |jd¡dS)Nc@seZdZdZedd„ƒZdS)z3TestRlcompleter.test_excessive_getattr..FoorcSs|jd7_dS)Nr)Úcallsrr r r ÚbarWsz7TestRlcompleter.test_excessive_getattr..Foo.barN)rrrr8Úpropertyr9r r r r ÚFooUsr;©Úfzf.brúf.barr)rrrr+rr8)rr;r=rr r r Útest_excessive_getattrSs z&TestRlcompleter.test_excessive_getattrcCs8Gdd„dƒ}t t|ƒd¡}| | dd¡d¡dS)Nc@seZdZdZdS)z0TestRlcompleter.test_uncreated_attr..Foo)r9N)rrrÚ __slots__r r r r r;csr;r<zf.rr>)rrrr+r)rr;rr r r Útest_uncreated_attr`sz#TestRlcompleter.test_uncreated_attrzrlcompleter._readline_availableFcCsÔt ¡}| | dd¡d¡| | dd¡d¡| | dd¡d¡| | dd ¡d ¡| | d d¡d¡| | d d¡d ¡| | dd¡d¡| | dd¡d¡| | dd¡d¡| | dd¡d¡dS)Nrrú Úazand rzas Úasrúassert ZanÚpaÚpassZFaÚFalseÚelzelif ÚelseÚtrútry:)rrr+r)rrr r r Ú test_completehszTestRlcompleter.test_completecCsädddd„ddd„dœ}t |¡}| | dd¡d¡| | dd¡¡| | dd¡d ¡| | dd¡¡| | d d¡d ¡| | d d¡¡| | d d¡d ¡| | d d¡¡| | d d¡d¡| | d d¡¡dS)NcSsdS©Nr r r r r Úzr)z8TestRlcompleter.test_duplicate_globals..cSsdSrNr r r r r rO|r))rHÚassertÚtryÚ memoryviewÚEllipsisrHrrrPrErQrLrRrSz Ellipsis()rrr+rZ assertIsNone)rÚ namespacerr r r Útest_duplicate_globalsvs"û z&TestRlcompleter.test_duplicate_globalsN)rrrrr r/r7r?rAÚunittestZmockrrMrUr r r r r s  !   r Ú__main__) rVZ unittest.mockrr.rrZTestCaser rÚmainr r r r Ús