a ze_@sddlmZmZddlZddlZddlZddlmZddlZejZ dddZ dddZ dd Z d d Z Gd d d ejZedkredS))verbose TestFailedNFcCstr4|r td|||ddntd||ddz ||}Wn$tyd|sTtr`tdYn0|r|dur||krtrtdtd||||fnz|r|durt|t|ks|d||d|krtrtdtdt|t|t|t|fntrtd dS) Nz{!a} % {!a} =? {!a} ... )endz{!a} % {!a} works? ...zoverflow (this is fine)noz%r %% %r == %r != %rz%s %% %s == %s != %syes)rprintformat OverflowErrorAssertionErrorlenrepr) formatstrargsoutputlimit overflowokresultrD/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_format.py testformats>   rc Cst|tr&t||||||d}n|}t|}g}t|tsF|f}t|}|dur`d}} n"t|trv|d}n|}t|} t|||||t||| ||dSNascii) isinstancestrrencode bytearraytuple) rrrrrZb_formatZ ba_formatZb_argsZb_outputZ ba_outputrrr testcommon2s"      rc Cszt||Wn|yn}zHt||kr8trZtdn"trDtdtd|dtt|WYd}~n6d}~0trtdtdYn0td|dS)Nrrz Unexpected :zUnexpected exceptionz"did not get expected exception: %s)rrrrr r)rr exceptionexcmsgexcrrrtest_excJs   * r#cCs&t||||t|d|||dSr)r#r)rrr r!rrrtest_exc_common[sr$c@seZdZddZddZddZddZd d Zd d Ze j d dZ ddZ e j ddZ ddZddZddZddZddZdS) FormatTestcCstdddtdddtdtjdfd d td dd d d td ddd d tdddd d tdddtddtddtddtddtddtddtddtddtdddtdd d!td"dd#td"d d$td%dd&td%d d'd(}td%|d)td%| d*td+| d*td,| d*td-| d.td/| d0td1| d2td3| d0td4| d5td4|d6td7|d8td9|d:td;|d<td=|d)td>|d)td?|d@tdA|dBtd%t|dCdDdE}td|dFtd| dGtdH| dGtdI| dGtdJ| dKtdL| dMtdN| dOtdP| dMtdQ| dRtdQ|dStdT|dUtdV|dWtdX|dYtdZ|dFtd[|dFtd\|d]td^|d_td`|datdb|dctdd|detdf|dgtdf| dhtdi|djtdk|dltdm|dntdo|dptdo| dqtdr|dstdt|dutdv|dntdw|dxtdy|dztd{|d|td}|d~td|dtd|dtd|dtd|dd}td"|dtd"| dtd| dtd| dtd| dtd| dtd| dtd| dtd| dtd|dtd|dtd|dtd|dtd|dtd|dtd|dtd|dtd|dtd"|dtd|dtd| dtd|dtd|dtd|dtd|dtd| dtd|dtd|dtd|dtd|dtd|dtd|dtd|dtd|dtd|dtd|dƒtd|dtd|dătd|dtd|dǃtd|dătd%ddʃtd%dd̃td%ddʃtdfdd΃tddddσtdddЃtddd҃td"ddӃtd%ddӃtdfddԃtddddՃtdddʃtddd̃td"ddʃtd"dd̃tddd܃tdddރtrtd߃tddtdtddtdtd%dtdtd%dtdtddtdtddtddS)Nz%%r%z%.1d)1z%.*dr'T)rz%.100dZd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001z%#.117xZw0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001z%#.118xZx0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001z%f?z1.000000z%#.*g)mц>)nr,)r-gQ2rrrtest_str_formats4     zFormatTest.test_str_formatcCs.tdddtdddtdtddtdddtddd Gd d d t}|}td d d td tddtd |dtd td d tdd d tdtddtd|dtdtd d tdddtdddtdddtdddtdddtdddtdddtdddtr4tdtddtdtddtd td!dtd"td!dtd"td!tdtd"tdd#td$tdd%td$tdd&d'td$tdd(td)tdd*td)tddtd)td d+td,tdd-td,t d.kr*zd/t d0fWnt y Yn 0t d1dS)2Ns%cZs%5cAs As%-5csA c@seZdZddZdS)z=FormatTest.test_bytes_and_bytearray_format..FakeBytescSsdS)N123rrJrrr __bytes__JszGFormatTest.test_bytes_and_bytearray_format..FakeBytes.__bytes__N)__name__ __module__ __qualname__rQrrrr FakeBytesIsrUs%bsabcsdefrPs%ss%ar8s3.14sghisb'ghi'Zjkls'jkl'uՄs'\u0544's%rr6s%gr(z float argument required, not strr7z"float argument required, not bytess no formatz3not all arguments converted during bytes formattingrAz%c arg not in range(256)sZaz5%c requires an integer in range(256) or a single byteYZXczR%b requires a bytes-like object, or an object that implements __bytes__, not 'str'ZWdrDrErFrG) rrobject memoryviewrrr#r=r r:rIr)r>rUZfbrrrtest_bytes_and_bytearray_format?s                   z*FormatTest.test_bytes_and_bytearray_formatcCs4tdddtdddtdddtdd d dS) Nzabrza%cb)rza%sb)zcdzacdbsa%sb)scdsacdb)rrrJrrrtest_nuls   zFormatTest.test_nulcCstddd|tddd|tddd|td d d |td d d|tddd|tddd|tddd|td dd|tddd|td dd|tddd|tddd|td dd|tdd d!|td d"d#dS)$Nu€=%fr)u €=1.000000abcu <5u abc  {u 123  g(@u <6u 12.3  yu <4u0j  y?@u <8u (1+2j)  u >5u   abcu   123u >6u   12.3u >8u   (1+2j)u >4u  0ju ^5u  abc u  123 u ^6u  12.3 u ^8u  (1+2j) u ^4u 0j )r assertEqualr rJrrrtest_non_asciis  zFormatTest.test_non_asciic Cszttj}ttjdWn6tjyT}z|d|WYd}~n d}~00zt}|d}|d}|d}tdd}|r||||| |ddtd d}|r|||||||| |dd |d Wttj|nttj|0dS) NzCannot set locale: {} thousands_sep decimal_pointgroupingi[nZ 123456789gJ@Z12345) locale setlocaleLC_ALLErrorZskipTestr localeconvZassertInr`replace)r>oldlocerrrlsepZpointretextrrr test_locales( &     zFormatTest.test_localecCsd}|d|||d|||d|||d|||d|||d|||d|||d |||d |||d |||d ||||d ||||dS)NZabcdez%sz%.5sz%.10sz%1sz%5sz{0}z{0:s}z{0:.5s}z{0:.10s}z{0:1s}z{0:5s}r)ZassertIsr )r>rqrrrtest_optimisationsszFormatTest.test_optimisationscCsd}|t|dd|t|dd|t$}t|dtjdWdn1s\0Yt|}|t|dd|t|dd |t$}t|dtjdWdn1s0YdS) N333333?z.0fr(z.3fz1.200.%sfr'z1+0jz 1.200+0.000j)r`r assertRaisesr<r9r:complex)r>fcmcrrrtest_precisions 2 zFormatTest.test_precisioncCsddlm}d}|t"}t|d|dWdn1sB0Yt|}|t"}t|d|dWdn1s0YdS)Nr)INT_MAXrtrur')Z _testcapir|rvr<r rw)r>r|rxryrzrrrtest_precision_c_limitss  0 z"FormatTest.test_precision_c_limitscCsl|ddd|ddd|tddd|tddd|tdd d |tdd d dS) Nz%.3gg@z1.5e+03z%#.3gz1.50e+03z.3gz#.3gg@ugAz.6gz1.23e+07z#.6gz 1.23000e+07)r`r rJrrr#test_g_format_has_no_trailing_zeross z.FormatTest.test_g_format_has_no_trailing_zeroscCsDtd}|t|ddWdn1s60YdS)NzCannot specify ',' with ','.z{:,,}r'reescapeZassertRaisesRegexr<r r>Z error_msgrrr(test_with_two_commas_in_format_specifiers z3FormatTest.test_with_two_commas_in_format_specifiercCsDtd}|t|ddWdn1s60YdS)NzCannot specify '_' with '_'.z{:__}r'rrrrr,test_with_two_underscore_in_format_specifiers z7FormatTest.test_with_two_underscore_in_format_specifiercCsDtd}|t|ddWdn1s60YdS)N Cannot specify both ',' and '_'.z{:,_}r'rrrrr8test_with_a_commas_and_an_underscore_in_format_specifiers zCFormatTest.test_with_a_commas_and_an_underscore_in_format_specifiercCsDtd}|t|ddWdn1s60YdS)Nrz{:_,}r'rrrrr7test_with_an_underscore_and_a_comma_in_format_specifiers zBFormatTest.test_with_an_underscore_and_a_comma_in_format_specifierN)rRrSrTr@rKr\r]rarrsupportZ cpython_onlyrsr{r}r~rrrrrrrrr%`s"=!J    r%__main__)NNF)NNF)Z test.supportrrrhr9rrZunittestZMAX_Py_ssize_tr:rrr#r$ZTestCaser%rRmainrrrrs   # -