HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/test/__pycache__/test_future.cpython-37.opt-2.pyc
B

��g�'�@s�ddlmZddlZddlmZddlmZddlZddlZe�	d�Z
dd�ZGdd	�d	ej�Z
Gd
d�dej�Zedkr�e��dS)
�)�partialN)�support)�dedentz\((\S+).py, line (\d+)cCst�t|��}|�dd�S)N��)�rx�search�str�group)�msg�mo�r
�,/usr/local/lib/python3.7/test/test_future.py�get_error_locationsrc@s�eZdZd!dd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd S)"�
FutureTestrcCsR|�d||ft|��|�tj�|j�|d�|�|j|�|�|j|�dS)Nz%s.py, line %dz.py)	ZassertInr	�assertEqual�os�path�basename�filename�lineno�offset)�self�errrrrr
r
r�check_syntax_errorszFutureTest.check_syntax_errorc	Cs4t�d�� ddlm}|�|jd�WdQRXdS)N�future_test1r)r�)r�CleanImport�testrr�result)rrr
r
r�test_future1szFutureTest.test_future1c	Cs4t�d�� ddlm}|�|jd�WdQRXdS)N�future_test2r)r!r)rrrr!rr)rr!r
r
r�test_future2szFutureTest.test_future2c	Cs&t�d��ddlm}WdQRXdS)N�test_future3r)r#)rrrr#)rr#r
r
rr#"szFutureTest.test_future3c	Cs6|�t��}ddlm}WdQRX|�|jdd�dS)Nr)�badsyntax_future3r$�)�assertRaises�SyntaxErrorrr$r�	exception)r�cmr$r
r
r�test_badfuture3&szFutureTest.test_badfuture3c	Cs6|�t��}ddlm}WdQRX|�|jdd�dS)Nr)�badsyntax_future4r+r%)r&r'rr+rr()rr)r+r
r
r�test_badfuture4+szFutureTest.test_badfuture4c	Cs6|�t��}ddlm}WdQRX|�|jdd�dS)Nr)�badsyntax_future5r-�)r&r'rr-rr()rr)r-r
r
r�test_badfuture50szFutureTest.test_badfuture5c	Cs6|�t��}ddlm}WdQRX|�|jdd�dS)Nr)�badsyntax_future6r0r%)r&r'rr0rr()rr)r0r
r
r�test_badfuture65szFutureTest.test_badfuture6c	Cs8|�t��}ddlm}WdQRX|�|jddd�dS)Nr)�badsyntax_future7r2r%�5)r&r'rr2rr()rr)r2r
r
r�test_badfuture7:szFutureTest.test_badfuture7c	Cs6|�t��}ddlm}WdQRX|�|jdd�dS)Nr)�badsyntax_future8r5r%)r&r'rr5rr()rr)r5r
r
r�test_badfuture8?szFutureTest.test_badfuture8c	Cs8|�t��}ddlm}WdQRX|�|jddd�dS)Nr)�badsyntax_future9r7r%)r&r'rr7rr()rr)r7r
r
r�test_badfuture9DszFutureTest.test_badfuture9c	Cs8|�t��}ddlm}WdQRX|�|jddd�dS)Nr)�badsyntax_future10r9r%)r&r'rr9rr()rr)r9r
r
r�test_badfuture10IszFutureTest.test_badfuture10cCs\ytd�Wntk
r YnX|�d�ytd�Wntk
rLYnX|�d�dS)Nz.from __future__ import print_function; print 0zsyntax error didn't occurz0from __future__ import (print_function); print 0)�execr'Zfail)rr
r
r�test_parserhackNs
zFutureTest.test_parserhackc	Cs&t�d��ddlm}WdQRXdS)Nztest.test_future5r)�test_future5)rrrr=)rr=r
r
r�test_multiple_featuresbsz!FutureTest.test_multiple_featurescCs$i}tdi|�|�|dt�dS)Nz/from __future__ import unicode_literals; x = ''�x)r;ZassertIsInstancer	)r�scoper
r
r�test_unicode_literals_execfsz%FutureTest.test_unicode_literals_execN)r)�__name__�
__module__�__qualname__rr r"r#r*r,r/r1r4r6r8r:r<r>rAr
r
r
rrs
rc@s.eZdZed�Zdd�Zd
dd�Zdd	�ZdS)�AnnotationsFutureTestCasez�
        from __future__ import annotations
        def f() -> {ann}:
            ...
        def g(arg: {ann}) -> None:
            ...
        var: {ann}
        var2: {ann} = None
        cCsvi}t|jj|d�i|�|djd}|djd}|dd}|dd}|�||�|�||�|�||�|S)	N)�ann�f�return�g�arg�__annotations__�varZvar2)r;�template�formatrKr)r�
annotationr@Zfunc_ret_annZfunc_arg_annZvar_ann1Zvar_ann2r
r
r�	getActualxsz#AnnotationsFutureTestCase.getActualNFcCsZ|�|�}|dkr&|s|n
|dd�}|rJ|�||�|�dd��dd�}|�||�dS)Nr����(��))rPZassertNotEqual�replacer)rrOZexpectedZdrop_parensZis_tuple�actualr
r
r�assertAnnotationEqual�s
z/AnnotationsFutureTestCase.assertAnnotationEqualcCs6|j}|d�|d�|d�|d�|d�|d�|d�|d�|d	�|d
�|d�|d�|d
�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d �|d!�|d"�|d#�|d$�|d%�|d&�|d'�|d(�|d)�|d*�|d+�|d,�|d-�|d.�|d/�|d0�|d1�|d2�|d3�|d4�|d5�|d6�|d7�|d8�|d9�|d:�|d;�|d<�|d=�|d>�|d?�|d@�|dA�|dB�|dC�|dD�|dE�|dF�|dG�|dH�|dI�|dJ�|dK�|dL�|dM�|dN�|dO�|dP�|dQ�|dR�|dS�|dT�|dU�|dV�|dW�|dX�|dY�|dZ�|d[�|d\�|d]�|d^�|d_�|d`�|da�|db�|dc�|dd�|de�|df�|dg�|dh�|di�|dj�|dk�|dl�|dm�|dn�|do�|dp�|dq�|dr�|ds�|dt�|du�|dv�|dw�|dx�|dy�|dz�|d{�|d|�|d}�|d~�|d�|d��|d��|d��|d��|d�d��|d�d8�dS)�Nz...z
'some_string'zb'\xa3'�Name�None�True�False�1z1.0Z1jz
True or FalsezTrue or False or NonezTrue and FalsezTrue and False and NonezName1 and Name2 or Name3zName1 and (Name2 or Name3)zName1 or Name2 and Name3z(Name1 or Name2) and Name3z"Name1 and Name2 or Name3 and Name4z!Name1 or Name2 and Name3 or Name4za + b + (c + d)za * b * (c * d)z(a ** b) ** c ** dzv1 << 2z1 >> v2z1 % finishedz"1 + v2 - v3 * 4 ^ 5 ** v6 / 7 // 8z	not greatz
not not greatz~greatz+valuez++valuez-1z!~int and not v1 ^ 123 + v2 | Trueza + (not b)zlambda: Nonezlambda arg: Nonezlambda a=True: azlambda a, b, c=True: az-lambda a, b, c=True, *, d=1 << v2, e='str': az9lambda a, b, c=True, *vararg, d, e='str', **kwargs: a + bzlambda x: lambda y: x + yz1 if True else 2z4str or None if int or True else str or bytes or Nonez;str or None if (1 if True else 2) else str or bytes or Nonez"0 if not x else 1 if x > 0 else -1z (1 if x > 0 else -1) if x else 0z+{'2.7': dead, '3.7': long_live or die_hard}z@{'2.7': dead, '3.7': long_live or die_hard, **{'3.6': verygood}}z{**a, **b, **c}zC{'2.7', '3.6', '3.7', '3.8', '3.9', '4.0' if gilectomy else '3.10'}z{*a, *b, *c}z?({'a': 'b'}, True or False, +value, 'string', b'bytes') or Nonez()z(a,)z(a, b)z	(a, b, c)z(*a, *b, *c)z[]z6[1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or A, 11 or B, 12 or C]z[*a, *b, *c]z{i for i in (1, 2, 3)}z{i ** 2 for i in (1, 2, 3)}z3{i ** 2 for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))}z2{i ** 2 + j for i in (1, 2, 3) for j in (1, 2, 3)}z[i for i in (1, 2, 3)]z ** 2 for i in (1, 2, 3)]z3[i ** 2 for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))]z2[i ** 2 + j for i in (1, 2, 3) for j in (1, 2, 3)]z(i for i in (1, 2, 3))z(i ** 2 for i in (1, 2, 3))z3(i ** 2 for i, _ in ((1, 'a'), (2, 'b'), (3, 'c')))z2(i ** 2 + j for i in (1, 2, 3) for j in (1, 2, 3))z{i: 0 for i in (1, 2, 3)}z1{i: j for i, j in ((1, 'a'), (2, 'b'), (3, 'c'))}z[(x, y) for x, y in (a, b)]z[(x,) for x, in (a,)]zPython3 > Python2 > COBOLzLife is Lifezcall()z	call(arg)zcall(kwarg='hey')zcall(arg, kwarg='hey')z&call(arg, *args, another, kwarg='hey')z6call(arg, another, kwarg='hey', **kwargs, kwarg2='ho')zlukasz.langa.plzcall.me(maybe)z1 .realz	1.0 .realz
....__class__z	list[str]zdict[str, int]z	set[str,]ztuple[str, ...]ztuple[(str, *types)]ztuple[xx:yy, (*types,)]ztuple[str, int, (str, int)]z#tuple[(*int, str, str, (str, int))]z&tuple[str, int, float, dict[str, int]]zslice[0]z
slice[0:1]zslice[0:1:2]zslice[:]z
slice[:-1]z	slice[1:]zslice[::-1]z	slice[:,]zslice[1:2,]z
slice[1:2:3,]z
slice[1:2, 1]zslice[1:2, 2, 3]z	slice[()]zslice[a, b:c, d:e:f]zslice[(x for x in a)]zCstr or None if sys.version_info[0] > (3,) else str or bytes or Nonez5f'f-string without formatted values is just a string'zf'{{NOT a formatted value}}'z:f'some f-string with {a} {few():.2f} {formatted.values!r}'zf"{f'{nested} inner'} outer"z:f'space between opening braces: { {a for a in (1, 2, 3)}}'zf'{(lambda x: x)}'z!f'{(None if a else lambda x: x)}'z!(yield from outside_of_generator)z(yield)z
(yield a + b)z<await some.complicated[0].call(with_args=True or 1 is not 1)z[x for x in (a if b else c)]z![x for x in a if (b if c else d)]zf(x for x in a)zf(1, (x for x in a))zf((x for x in a), 2)z(((a)))�az
(((a, b))))rW)r�eqr
r
r�test_annotations�s
z*AnnotationsFutureTestCase.test_annotations)NFF)rBrCrDrrMrPrWr_r
r
r
rrEks
	
rE�__main__)�	functoolsrZunittestrr�textwraprr�re�compilerrZTestCaserrErB�mainr
r
r
r�<module>s
[/