Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.10/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.10/test/__pycache__/test_gettext.cpython-310.pyc
o

�9j���@s�ddlZddlZddlZddlZddlZddlmZddlmZdZ	dZ
dZdZdZ
ej�d	d
�Zej�ed�Zej�ed�Zej�ed
�Zej�ed�Zej�ed�ZGdd�dej�ZdZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd �d e�ZGd!d"�d"e�Z Gd#d$�d$ej!�Z"Gd%d&�d&e�Z#Gd'd(�d(ej�Z$e%d)kr�e�&�			dS)*�N)�support)�	os_helpers=3hIElQAAAAAJAAAAHAAAAGQAAAAAAAAArAAAAAAAAACsAAAAFQAAAK0AAAAjAAAAwwAAAKEAAADn
AAAAMAAAAIkBAAAHAAAAugEAABYAAADCAQAAHAAAANkBAAALAAAA9gEAAEIBAAACAgAAFgAAAEUD
AAAeAAAAXAMAAKEAAAB7AwAAMgAAAB0EAAAFAAAAUAQAABsAAABWBAAAIQAAAHIEAAAJAAAAlAQA
AABSYXltb25kIEx1eHVyeSBZYWNoLXQAVGhlcmUgaXMgJXMgZmlsZQBUaGVyZSBhcmUgJXMgZmls
ZXMAVGhpcyBtb2R1bGUgcHJvdmlkZXMgaW50ZXJuYXRpb25hbGl6YXRpb24gYW5kIGxvY2FsaXph
dGlvbgpzdXBwb3J0IGZvciB5b3VyIFB5dGhvbiBwcm9ncmFtcyBieSBwcm92aWRpbmcgYW4gaW50
ZXJmYWNlIHRvIHRoZSBHTlUKZ2V0dGV4dCBtZXNzYWdlIGNhdGFsb2cgbGlicmFyeS4AV2l0aCBj
b250ZXh0BFRoZXJlIGlzICVzIGZpbGUAVGhlcmUgYXJlICVzIGZpbGVzAG11bGx1c2sAbXkgY29u
dGV4dARudWRnZSBudWRnZQBteSBvdGhlciBjb250ZXh0BG51ZGdlIG51ZGdlAG51ZGdlIG51ZGdl
AFByb2plY3QtSWQtVmVyc2lvbjogMi4wClBPLVJldmlzaW9uLURhdGU6IDIwMDMtMDQtMTEgMTQ6
MzItMDQwMApMYXN0LVRyYW5zbGF0b3I6IEouIERhdmlkIEliYW5leiA8ai1kYXZpZEBub29zLmZy
PgpMYW5ndWFnZS1UZWFtOiBYWCA8cHl0aG9uLWRldkBweXRob24ub3JnPgpNSU1FLVZlcnNpb246
IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9aXNvLTg4NTktMQpDb250ZW50
LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CkdlbmVyYXRlZC1CeTogcHlnZXR0ZXh0LnB5IDEuMQpQ
bHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD1uIT0xOwoAVGhyb2F0d29iYmxlciBNYW5n
cm92ZQBIYXkgJXMgZmljaGVybwBIYXkgJXMgZmljaGVyb3MAR3V2ZiB6YnFoeXIgY2ViaXZxcmYg
dmFncmVhbmd2YmFueXZtbmd2YmEgbmFxIHlicG55dm1uZ3ZiYQpmaGNjYmVnIHNiZSBsYmhlIENs
Z3ViYSBjZWJ0ZW56ZiBvbCBjZWJpdnF2YXQgbmEgdmFncmVzbnByIGdiIGd1ciBUQUgKdHJnZ3Jr
ZyB6cmZmbnRyIHBuZ255YnQgeXZvZW5lbC4ASGF5ICVzIGZpY2hlcm8gKGNvbnRleHQpAEhheSAl
cyBmaWNoZXJvcyAoY29udGV4dCkAYmFjb24Ad2luayB3aW5rIChpbiAibXkgY29udGV4dCIpAHdp
bmsgd2luayAoaW4gIm15IG90aGVyIGNvbnRleHQiKQB3aW5rIHdpbmsA
s3hIElQAABQAGAAAAHAAAAEwAAAALAAAAfAAAAAAAAACoAAAAFQAAAKkAAAAjAAAAvwAAAKEAAADj
AAAABwAAAIUBAAALAAAAjQEAAEUBAACZAQAAFgAAAN8CAAAeAAAA9gIAAKEAAAAVAwAABQAAALcD
AAAJAAAAvQMAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABQAAAAYAAAACAAAAAFJh
eW1vbmQgTHV4dXJ5IFlhY2gtdABUaGVyZSBpcyAlcyBmaWxlAFRoZXJlIGFyZSAlcyBmaWxlcwBU
aGlzIG1vZHVsZSBwcm92aWRlcyBpbnRlcm5hdGlvbmFsaXphdGlvbiBhbmQgbG9jYWxpemF0aW9u
CnN1cHBvcnQgZm9yIHlvdXIgUHl0aG9uIHByb2dyYW1zIGJ5IHByb3ZpZGluZyBhbiBpbnRlcmZh
Y2UgdG8gdGhlIEdOVQpnZXR0ZXh0IG1lc3NhZ2UgY2F0YWxvZyBsaWJyYXJ5LgBtdWxsdXNrAG51
ZGdlIG51ZGdlAFByb2plY3QtSWQtVmVyc2lvbjogMi4wClBPLVJldmlzaW9uLURhdGU6IDIwMDAt
MDgtMjkgMTI6MTktMDQ6MDAKTGFzdC1UcmFuc2xhdG9yOiBKLiBEYXZpZCBJYsOhw7FleiA8ai1k
YXZpZEBub29zLmZyPgpMYW5ndWFnZS1UZWFtOiBYWCA8cHl0aG9uLWRldkBweXRob24ub3JnPgpN
SU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9aXNvLTg4
NTktMQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBub25lCkdlbmVyYXRlZC1CeTogcHlnZXR0
ZXh0LnB5IDEuMQpQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD1uIT0xOwoAVGhyb2F0
d29iYmxlciBNYW5ncm92ZQBIYXkgJXMgZmljaGVybwBIYXkgJXMgZmljaGVyb3MAR3V2ZiB6YnFo
eXIgY2ViaXZxcmYgdmFncmVhbmd2YmFueXZtbmd2YmEgbmFxIHlicG55dm1uZ3ZiYQpmaGNjYmVn
IHNiZSBsYmhlIENsZ3ViYSBjZWJ0ZW56ZiBvbCBjZWJpdnF2YXQgbmEgdmFncmVzbnByIGdiIGd1
ciBUQUgKdHJnZ3JrZyB6cmZmbnRyIHBuZ255YnQgeXZvZW5lbC4AYmFjb24Ad2luayB3aW5rAA==
s3hIElQcAAAAGAAAAHAAAAEwAAAALAAAAfAAAAAAAAACoAAAAFQAAAKkAAAAjAAAAvwAAAKEAAADj
AAAABwAAAIUBAAALAAAAjQEAAEUBAACZAQAAFgAAAN8CAAAeAAAA9gIAAKEAAAAVAwAABQAAALcD
AAAJAAAAvQMAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABQAAAAYAAAACAAAAAFJh
eW1vbmQgTHV4dXJ5IFlhY2gtdABUaGVyZSBpcyAlcyBmaWxlAFRoZXJlIGFyZSAlcyBmaWxlcwBU
aGlzIG1vZHVsZSBwcm92aWRlcyBpbnRlcm5hdGlvbmFsaXphdGlvbiBhbmQgbG9jYWxpemF0aW9u
CnN1cHBvcnQgZm9yIHlvdXIgUHl0aG9uIHByb2dyYW1zIGJ5IHByb3ZpZGluZyBhbiBpbnRlcmZh
Y2UgdG8gdGhlIEdOVQpnZXR0ZXh0IG1lc3NhZ2UgY2F0YWxvZyBsaWJyYXJ5LgBtdWxsdXNrAG51
ZGdlIG51ZGdlAFByb2plY3QtSWQtVmVyc2lvbjogMi4wClBPLVJldmlzaW9uLURhdGU6IDIwMDAt
MDgtMjkgMTI6MTktMDQ6MDAKTGFzdC1UcmFuc2xhdG9yOiBKLiBEYXZpZCBJYsOhw7FleiA8ai1k
YXZpZEBub29zLmZyPgpMYW5ndWFnZS1UZWFtOiBYWCA8cHl0aG9uLWRldkBweXRob24ub3JnPgpN
SU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9aXNvLTg4
NTktMQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBub25lCkdlbmVyYXRlZC1CeTogcHlnZXR0
ZXh0LnB5IDEuMQpQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD1uIT0xOwoAVGhyb2F0
d29iYmxlciBNYW5ncm92ZQBIYXkgJXMgZmljaGVybwBIYXkgJXMgZmljaGVyb3MAR3V2ZiB6YnFo
eXIgY2ViaXZxcmYgdmFncmVhbmd2YmFueXZtbmd2YmEgbmFxIHlicG55dm1uZ3ZiYQpmaGNjYmVn
IHNiZSBsYmhlIENsZ3ViYSBjZWJ0ZW56ZiBvbCBjZWJpdnF2YXQgbmEgdmFncmVzbnByIGdiIGd1
ciBUQUgKdHJnZ3JrZyB6cmZmbnRyIHBuZ255YnQgeXZvZW5lbC4AYmFjb24Ad2luayB3aW5rAA==
s3hIElQAAAAADAAAAHAAAADQAAAAAAAAAAAAAAAAAAABMAAAABAAAAE0AAAAQAAAAUgAAAA8BAABj
AAAABAAAAHMBAAAWAAAAeAEAAABhYsOeAG15Y29udGV4dMOeBGFiw54AUHJvamVjdC1JZC1WZXJz
aW9uOiAyLjAKUE8tUmV2aXNpb24tRGF0ZTogMjAwMy0wNC0xMSAxMjo0Mi0wNDAwCkxhc3QtVHJh
bnNsYXRvcjogQmFycnkgQS4gV0Fyc2F3IDxiYXJyeUBweXRob24ub3JnPgpMYW5ndWFnZS1UZWFt
OiBYWCA8cHl0aG9uLWRldkBweXRob24ub3JnPgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5
cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog
N2JpdApHZW5lcmF0ZWQtQnk6IG1hbnVhbGx5CgDCpHl6AMKkeXogKGNvbnRleHQgdmVyc2lvbikA
sL3hIElQAAAAABAAAAHAAAACQAAAADAAAALAAAAAAAAAA4AAAAeAEAADkAAAABAAAAAAAAAAAAAAAA
UHJvamVjdC1JZC1WZXJzaW9uOiBObyBQcm9qZWN0IDAuMApQT1QtQ3JlYXRpb24tRGF0ZTogV2Vk
IERlYyAxMSAwNzo0NDoxNSAyMDAyClBPLVJldmlzaW9uLURhdGU6IDIwMDItMDgtMTQgMDE6MTg6
NTgrMDA6MDAKTGFzdC1UcmFuc2xhdG9yOiBKb2huIERvZSA8amRvZUBleGFtcGxlLmNvbT4KSmFu
ZSBGb29iYXIgPGpmb29iYXJAZXhhbXBsZS5jb20+Ckxhbmd1YWdlLVRlYW06IHh4IDx4eEBleGFt
cGxlLmNvbT4KTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy
c2V0PWlzby04ODU5LTE1CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFi
bGUKR2VuZXJhdGVkLUJ5OiBweWdldHRleHQucHkgMS4zCgA=
�xx�LC_MESSAGESz
gettext.mozgettext_bad_major_version.mozgettext_bad_minor_version.mozugettext.mozmetadata.moc@�eZdZdd�Zdd�ZdS)�GettextBaseTestcCsZtj�t�st�t�ttd��}|�t�	t
��Wd�n1s#wYttd��}|�t�	t��Wd�n1s@wYtt
d��}|�t�	t��Wd�n1s]wYttd��}|�t�	t��Wd�n1szwYttd��}|�t�	t��Wd�n1s�wYt��|_d|jd<tj��dS)N�wbr�LANGUAGE)�os�path�isdir�	LOCALEDIR�makedirs�open�MOFILE�write�base64�decodebytes�GNU_MO_DATA�MOFILE_BAD_MAJOR_VERSION�GNU_MO_DATA_BAD_MAJOR_VERSION�MOFILE_BAD_MINOR_VERSION�GNU_MO_DATA_BAD_MINOR_VERSION�UMOFILE�UMO_DATA�MMOFILE�MMO_DATAr�EnvironmentVarGuard�env�gettext�
_translations�clear��self�fp�r%�(/usr/lib/python3.10/test/test_gettext.py�setUpxs(
�����

zGettextBaseTest.setUpcCs(|j��|`t�tj�t�d�dS)Nr)r�__exit__r�rmtreer
r�splitr
�r#r%r%r&�tearDown�s
zGettextBaseTest.tearDownN)�__name__�
__module__�__qualname__r'r,r%r%r%r&rwsrs�3hIElQAAAAABAAAAHAAAACQAAAAAAAAAAAAAAAAAAAAsAAAAggAAAC0AAAAAUGx1cmFsLUZvcm1z
OiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7CiMtIy0jLSMtIyAgbWVzc2FnZXMucG8gKEVk
WCBTdHVkaW8pICAjLSMtIy0jLSMKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVU
Ri04CgA=
c@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�GettextTestCase1cCs0t�|�tj|_t|_tjd|jdgd�dS)Nr�pgettext��names)	rr'r
�curdir�	localedirr�mofiler�installr+r%r%r&r'�s
zGettextTestCase1.setUpcC�B|j}|td�d�|td�d�|td�d�|td�d�dS�N�	albatross�mullusk�baconzRaymond Luxury Yach-tzThroatwobbler Mangrove�nudge nudge�	wink wink��assertEqual�_�r#�eqr%r%r&�test_some_translations��
z'GettextTestCase1.test_some_translationscCs*|j}|tdd�d�|tdd�d�dS�N�
my contextr=�wink wink (in "my context")�my other context�!wink wink (in "my other context"))r@r1rBr%r%r&�#test_some_translations_with_context�s
�
�z4GettextTestCase1.test_some_translations_with_contextcCr8r9r?rBr%r%r&�test_double_quotes�rEz#GettextTestCase1.test_double_quotescCr8r9r?rBr%r%r&�test_triple_single_quotes�rEz*GettextTestCase1.test_triple_single_quotescCr8r9r?rBr%r%r&�test_triple_double_quotes�rEz*GettextTestCase1.test_triple_double_quotescCs|j}|td�d�dS�Nz�This module provides internationalization and localization
support for your Python programs by providing an interface to the GNU
gettext message catalog library.z�Guvf zbqhyr cebivqrf vagreangvbanyvmngvba naq ybpnyvmngvba
fhccbeg sbe lbhe Clguba cebtenzf ol cebivqvat na vagresnpr gb gur TAH
trggrkg zrffntr pngnybt yvoenel.r?rBr%r%r&�test_multiline_strings�s�z'GettextTestCase1.test_multiline_stringscCs�|j}t|jd��
}t�|�}Wd�n1swY|��|td�d�|��|td�d�ddl}|jddgd	�|t|j�||j|j�|t|j�|`|`dS)
N�rbr=r>r;r<rr�lgettextr2)	r@rr6r�GNUTranslationsr7rA�builtinsrR)r#rCr$�trTr%r%r&�test_the_alternative_interface�s�z/GettextTestCase1.test_the_alternative_interfaceN)r-r.r/r'rDrKrLrMrNrPrVr%r%r%r&r0�s
r0c@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�GettextTestCase2cCs6t�|�tj|_t�d|j�t�d�tj|_dS�Nr)	rr'r
r4r5r�bindtextdomain�
textdomainrAr+r%r%r&r'�s


zGettextTestCase2.setUpcCs|�t�d�|j�dSrX)r@rrYr5r+r%r%r&�test_bindtextdomain�sz$GettextTestCase2.test_bindtextdomaincCs|�t��d�dSrX)r@rrZr+r%r%r&�test_textdomain�sz GettextTestCase2.test_textdomainc	Cs�ttd��;}|�t��
}t�|�Wd�n1swY|j}|�|jd�|�|j	d�|�|j
t�Wd�dS1sCwYdS)NrQrzBad version number 5)rr�assertRaises�OSErrorrrS�	exceptionr@�errno�strerror�filename)r#r$�cmr_r%r%r&�test_bad_major_version�s�"�z'GettextTestCase2.test_bad_major_versioncCs:ttd��}t�|�Wd�dS1swYdS�NrQ)rrrrSr"r%r%r&�test_bad_minor_version�s"�z'GettextTestCase2.test_bad_minor_versioncC�J|j}||�d�d�||�d�d�||�d�d�||�d�d�dSr9r?rBr%r%r&rD�
z'GettextTestCase2.test_some_translationscCs.|j}|t�dd�d�|t�dd�d�dSrF)r@rr1rBr%r%r&rK	s��z4GettextTestCase2.test_some_translations_with_contextcCs2|j}|t�ddd�d�|t�ddd�d�dS)NrrGr=rHrIrJ)r@r�	dpgettextrBr%r%r&�.test_some_translations_with_context_and_domains��z?GettextTestCase2.test_some_translations_with_context_and_domaincCrgr9r?rBr%r%r&rLrhz#GettextTestCase2.test_double_quotescCrgr9r?rBr%r%r&rMrhz*GettextTestCase2.test_triple_single_quotescCrgr9r?rBr%r%r&rN'rhz*GettextTestCase2.test_triple_double_quotescCs|j}||�d�d�dSrOr?rBr%r%r&rP/s
�z'GettextTestCase2.test_multiline_stringsN)r-r.r/r'r[r\rdrfrDrKrjrLrMrNrPr%r%r%r&rW�s	
rWc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3S)4�PluralFormsTestCasecC�t�|�t|_dS�N�rr'rr6r+r%r%r&r';�

zPluralFormsTestCase.setUpcCs:|j}t�ddd�}||d�t�ddd�}||d�dS)N�There is %s file�There are %s files��Hay %s fichero��Hay %s ficheros)r@r�ngettext�r#rC�xr%r%r&�test_plural_forms1?s

z&PluralFormsTestCase.test_plural_forms1cCs>|j}t�dddd�}||d�t�dddd�}||d�dS)N�With contextrprqrr�Hay %s fichero (context)rt�Hay %s ficheros (context))r@r�	npgettextrwr%r%r&�test_plural_context_forms1Fs�
�z.PluralFormsTestCase.test_plural_context_forms1cCsp|j}t|jd��
}t�|�}Wd�n1swY|�ddd�}||d�|�ddd�}||d�dS)NrQrprqrrrsrtru)r@rr6rrSrv�r#rCr$rUrxr%r%r&�test_plural_forms2Os�
z&PluralFormsTestCase.test_plural_forms2cCst|j}t|jd��
}t�|�}Wd�n1swY|�dddd�}||d�|�dddd�}||d�dS)	NrQrzrprqrrr{rtr|)r@rr6rrSr}rr%r%r&�test_plural_context_forms2Xs��
�z.PluralFormsTestCase.test_plural_context_forms2c�:|j}t�d��d��fdd�td�D��}||d�dS)N�0�c�g|]}t�|���qSr%��str��.0rx��fr%r&�
<listcomp>h�z/PluralFormsTestCase.test_ja.<locals>.<listcomp>����00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000�r@r�c2py�join�range�r#rC�sr%r�r&�test_jae�
zPluralFormsTestCase.test_jacr�)N�n != 1r�cr�r%r�r�r�r%r&r�nr�z/PluralFormsTestCase.test_de.<locals>.<listcomp>r���10111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111r�r�r%r�r&�test_dekr�zPluralFormsTestCase.test_decr�)Nzn>1r�cr�r%r�r�r�r%r&r�tr�z/PluralFormsTestCase.test_fr.<locals>.<listcomp>r���00111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111r�r�r%r�r&�test_frqr�zPluralFormsTestCase.test_frcr�)Nz)n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2r�cr�r%r�r�r�r%r&r�zr�z/PluralFormsTestCase.test_lv.<locals>.<listcomp>r���20111111111111111111101111111110111111111011111111101111111110111111111011111111101111111110111111111011111111111111111110111111111011111111101111111110111111111011111111101111111110111111111011111111r�r�r%r�r&�test_lvwr�zPluralFormsTestCase.test_lvcr�)Nzn==1 ? 0 : n==2 ? 1 : 2r�cr�r%r�r�r�r%r&r��r�z/PluralFormsTestCase.test_gd.<locals>.<listcomp>r���20122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222r�r�r%r�r&�test_gd}r�zPluralFormsTestCase.test_gdcr�)Nzn==1 ? 0 : (n==2 ? 1 : 2)r�cr�r%r�r�r�r%r&r��r�z0PluralFormsTestCase.test_gd2.<locals>.<listcomp>r�r�r�r�r%r�r&�test_gd2�s
zPluralFormsTestCase.test_gd2cr�)Nz6n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2r�cr�r%r�r�r�r%r&r��r�z/PluralFormsTestCase.test_ro.<locals>.<listcomp>r���10111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222r�r�r%r�r&�test_ro�r�zPluralFormsTestCase.test_rocr�)NzEn%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2r�cr�r%r�r�r�r%r&r��r�z/PluralFormsTestCase.test_lt.<locals>.<listcomp>r���20111111112222222222201111111120111111112011111111201111111120111111112011111111201111111120111111112011111111222222222220111111112011111111201111111120111111112011111111201111111120111111112011111111r�r�r%r�r&�test_lt�r�zPluralFormsTestCase.test_ltcr�)NzPn%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2r�cr�r%r�r�r�r%r&r��r�z/PluralFormsTestCase.test_ru.<locals>.<listcomp>r���20111222222222222222201112222220111222222011122222201112222220111222222011122222201112222220111222222011122222222222222220111222222011122222201112222220111222222011122222201112222220111222222011122222r�r�r%r�r&�test_ru�r�zPluralFormsTestCase.test_rucr�)Nz#(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2r�cr�r%r�r�r�r%r&r��r�z/PluralFormsTestCase.test_cs.<locals>.<listcomp>r���20111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222r�r�r%r�r&�test_cs�r�zPluralFormsTestCase.test_cscr�)Nz@n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2r�cr�r%r�r�r�r%r&r��r�z/PluralFormsTestCase.test_pl.<locals>.<listcomp>r���20111222222222222222221112222222111222222211122222221112222222111222222211122222221112222222111222222211122222222222222222111222222211122222221112222222111222222211122222221112222222111222222211122222r�r�r%r�r&�test_pl�r�zPluralFormsTestCase.test_plcr�)Nz:n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3r�cr�r%r�r�r�r%r&r��r�z/PluralFormsTestCase.test_sl.<locals>.<listcomp>r���30122333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333012233333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333r�r�r%r�r&�test_sl�r�zPluralFormsTestCase.test_slcr�)NzNn==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5r�cr�r%r�r�r�r%r&r��r�z/PluralFormsTestCase.test_ar.<locals>.<listcomp>r���01233333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444445553333333344444444444444444444444444444444444444444444444444444444444444444444444444444444444444444r�r�r%r�r&�test_ar�r�zPluralFormsTestCase.test_arcCs�|j}|ttjd�|ttjd�|ttjd�|ttjddd�|�t�d�d�d	�|ttjd
�|ttjddddd�|�t�d
�d�d�dS)Nzos.chmod('/etc/passwd',0777)z"(eval(foo) && ""zf"{os.system('sh')}"zn+i'�nz�n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+nrr�ez�((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((n))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))�(�)z)((((((((((((((((((((n)))))))))))))))))))))r]�
ValueErrorrr�r@)r#�raisesr%r%r&�
test_security�sz!PluralFormsTestCase.test_securitycs�t�d��|�d��fdd�td�D��d�t�d��|�d��fdd�td�D��d	�t�d
��|�d��fdd�td�D��d�t�d��|�d��fd
d�td�D��d�dS)Nzn == n == nr�c3��|]	}t�|��VqdSrmr�r�r�r%r&�	<genexpr>���z>PluralFormsTestCase.test_chained_comparison.<locals>.<genexpr>��010z
1 < n == nc3r�rmr�r�r�r%r&r��r��100z
n == n < 2c3r�rmr�r�r�r%r&r��r�z	0 < n < 2c3r�rmr�r�r�r%r&r��r��111)rr�r@r�r�r+r%r�r&�test_chained_comparison�s
$
$
$
(z+PluralFormsTestCase.test_chained_comparisoncCs|�t�d�d�d�dS)N�0123rr�{�r@rr�r+r%r%r&�test_decimal_number�sz'PluralFormsTestCase.test_decimal_numberc	CsJgd�}|D]}|�t��
t�|�Wd�n1swYqdS)N)zx>1z(n>1zn>1)z
42**42**42�0xaz1.0�1e2zn>0x1z+nz-nzn()zn(1)z1+�nnzn n)r]r�rr�)r#�invalid_expressions�exprr%r%r&�test_invalid_syntax�s���z'PluralFormsTestCase.test_invalid_syntaxcCs\|�t�d�d�d�|�t�d�d�d�|�t�d�d�d�|�t�d�d�d�dS)Nz	n?1?2:3:4r�rrrtz	n?1:3?4:5r�r+r%r%r&�test_nested_condition_operator�sz2PluralFormsTestCase.test_nested_condition_operatorcCs\t�d�}|�|d�d�|�|d�d�|�|d�d�|�|d�d�|�t|d�dS)	Nz2/n*3rr�rtr�r���i����)rr�r@r]�ZeroDivisionError�r#r�r%r%r&�
test_division�s
z!PluralFormsTestCase.test_divisioncCst�d�}|�|d�d�|�|d�d�|�t��|�|d�d�Wd�n1s-wY|�t��|�|d�d�Wd�n1sJwY|�t��|�|d�d�Wd�n1sgwY|�t|d�|�t|d	�|�t|g�|�t|t��dS)
Nr�rrrrtg�?g@g�������?�2�2)rr�r@�assertWarns�DeprecationWarningr]�	TypeError�objectr�r%r%r&�test_plural_number�s 
���z&PluralFormsTestCase.test_plural_numberN)r-r.r/r'ryr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r%r%r%r&rk:s4		
	rkc@sjeZdZdd�Zejdd��Zdd�Zdd�Zd	d
�Z	dd�Z
d
d�Zdd�Zdd�Z
dd�Zdd�ZdS)�LGettextTestCasecCrlrmrnr+r%r%r&r'�rozLGettextTestCase.setUpccsB�|�td|�d���dVWd�dS1swYdS)N�^z\(\) is deprecated)�assertWarnsRegexr�)r#�namer%r%r&�assertDeprecated�s�
�"�z!LGettextTestCase.assertDeprecatedcCs�tj}tj}|�d��|�|d�d�Wd�n1swY|�d��|�|d�d�Wd�n1s;wY|�d��|�|dd�d�Wd�n1sYwY|�d��|�|dd�d�Wd�dS1sxwYdS)NrRr;�bacon�spam�spam�	ldgettextr)rrRr�r�r@)r#rRr�r%r%r&�
test_lgettexts���"�zLGettextTestCase.test_lgettextcCs�t|jd��
}t�|�}Wd�n1swY|j}|�d��|�|d�d�Wd�n1s6wY|�d��|�|d�d�Wd�dS1sTwYdS)NrQrRr;r�r�r�)rr6rrSrRr�r@�r#r$rUrRr%r%r&�test_lgettext_2s��"�z LGettextTestCase.test_lgettext_2cCstj}tj}|�d��
t�d�}Wd�n1swYz�|�d��t�dd�Wd�n1s7wY|�d��|�|d�d�d��Wd�n1sWwY|�d��|�|d�d�d��Wd�n1swwY|�d��|�|dd�d�d��Wd�n1s�wY|�d��|�|dd�d�d��Wd�n1s�wYWtjd=|�d��t�d|�Wd�dS1s�wYdStjd=|�d��t�d|�Wd�w1s�wYw)	N�bind_textdomain_codesetr�utf-16rRr;r<r�r�)rrRr�r�r�r@�encode�_localecodesets)r#rRr��
saved_codesetr%r%r&�%test_lgettext_bind_textdomain_codesets<�������"���z6LGettextTestCase.test_lgettext_bind_textdomain_codesetcCs�t|jd��
}t�|�}Wd�n1swY|j}|�d��
|�d�Wd�n1s3wY|�d��|�|d�d�d��Wd�n1sSwY|�d��|�|d�d�d��Wd�dS1stwYdS)NrQ�set_output_charsetr�rRr;r<r�)	rr6rrSrRr�r�r@r�r�r%r%r&�test_lgettext_output_encoding.s���"�z.LGettextTestCase.test_lgettext_output_encodingcCs*tj}tj}|�d��|ddd�}Wd�n1swY|�|d�|�d��|ddd�}Wd�n1s=wY|�|d�|�d��|dd	d�}Wd�n1s^wY|�|d
�|�d��|dd	d�}Wd�n1swY|�|d�|�d��|d
ddd�}Wd�n1s�wY|�|d�|�d��|d
ddd�}Wd�n1s�wY|�|d�|�d��|d
dd	d�}Wd�n1s�wY|�|d
�|�d��|d
dd	d�}Wd�n	1�swY|�|d�dS)N�	lngettextrprqrr�Hay %s ficherort�Hay %s ficheros�There is %s directory�There are %s directories�There is %s directory�There are %s directories�
ldngettextr)rr�r�r�r@)r#r�r�rxr%r%r&�test_lngettext9sD��������zLGettextTestCase.test_lngettextcCsHt|jd��
}t�|�}Wd�n1swY|j}|�d��|ddd�}Wd�n1s4wY|�|d�|�d��|ddd�}Wd�n1sUwY|�|d�|�d��|d	d
d�}Wd�n1svwY|�|d�|�d��|d	d
d�}Wd�n1s�wY|�|d�dS)
NrQr�rprqrrr�rtr�r�r�r�r�)rr6rrSr�r�r@�r#r$rUr�rxr%r%r&�test_lngettext_2Us(�����z!LGettextTestCase.test_lngettext_2cCsRtj}tj}|�d��
t�d�}Wd�n1swY�zf|�d��t�dd�Wd�n1s8wY|�d��|ddd�}Wd�n1sSwY|�|d�d��|�d��|ddd	�}Wd�n1swwY|�|d
�d��|�d��|ddd�}Wd�n1s�wY|�|d�d��|�d��|ddd	�}Wd�n1s�wY|�|d�d��|�d
��|dddd�}Wd�n1s�wY|�|d�d��|�d
��|dddd	�}Wd�n	1�s
wY|�|d
�d��|�d
��|dddd�}Wd�n	1�s0wY|�|d�d��|�d
��|dddd	�}Wd�n	1�sVwY|�|d�d��Wtjd=|�d��t�d|�Wd�dS1�s�wYdStjd=|�d��t�d|�Wd�w1�s�wYw)Nr�rr�r�rprqrrrsrtrur�r�r�)rr�r�r�r�r@r�r�)r#r�r�r�rxr%r%r&�&test_lngettext_bind_textdomain_codesetfsb����������$�� �z7LGettextTestCase.test_lngettext_bind_textdomain_codesetcCs�t|jd��
}t�|�}Wd�n1swY|j}|�d��
|�d�Wd�n1s3wY|�d��|ddd�}Wd�n1sNwY|�|d�d��|�d��|ddd	�}Wd�n1srwY|�|d
�d��|�d��|ddd�}Wd�n1s�wY|�|d�d��|�d��|ddd	�}Wd�n1s�wY|�|d�d��dS)
NrQr�r�r�rprqrrrsrtrur�r�)	rr6rrSr�r�r�r@r�r�r%r%r&�test_lngettext_output_encoding�s.������z/LGettextTestCase.test_lngettext_output_encodingcCs�t|jd��
}t�|�}Wd�n1swY|�d��
|�d�Wd�n1s0wY|�d��|�|��d�Wd�dS1sNwYdS)NrQr�r��output_charset)rr6rrSr�r�r@r��r#r$rUr%r%r&�test_output_encoding�s��"�z%LGettextTestCase.test_output_encodingN)r-r.r/r'�
contextlib�contextmanagerr�r�r�r�r�r�r�r�r�r�r%r%r%r&r��s
	%r�c@r)�GNUTranslationParsingTestcCstttd��}|�t�t��Wd�n1swYttd��}t�|�}Wd�dS1s3wYdS)NrrQ)rrrrr�GNU_MO_DATA_ISSUE_17898rrSr�r%r%r&�!test_plural_form_error_issue17898�s�"�z;GNUTranslationParsingTest.test_plural_form_error_issue17898cCs�ttd��}|�t�t��Wd�n1swYttd��}t�|�}|�|�	�dd�Wd�dS1s=wYdS)zuChecks that comments like:

            #-#-#-#-#  messages.po (EdX Studio)  #-#-#-#-#

        are ignored.
        rNrQzplural-formsznplurals=2; plural=(n != 1);)
rrrrrr�rrSr@�infor�r%r%r&�*test_ignore_comments_in_headers_issue36239�s�
"�zDGNUTranslationParsingTest.test_ignore_comments_in_headers_issue36239N)r-r.r/r�rr%r%r%r&r��sr�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�UnicodeTranslationsTestcCsXt�|�ttd��}t�|�|_Wd�n1swY|jj|_|jj|_dSre)	rr'rrrrSrUrAr1r"r%r%r&r'��
�
zUnicodeTranslationsTest.setUpcCs|�|�d�t�dS)Nr�)�assertIsInstancerAr�r+r%r%r&�test_unicode_msgid��z*UnicodeTranslationsTest.test_unicode_msgidcCs|�|�d�d�dS)N�abÞu¤yzr?r+r%r%r&�test_unicode_msgstr�rz+UnicodeTranslationsTest.test_unicode_msgstrcCs,|�dd�}|�t|t��|�|d�dS)NumycontextÞru¤yz (context version))r1�
assertTrue�
isinstancer�r@�r#rUr%r%r&�test_unicode_context_msgstr�sz3UnicodeTranslationsTest.test_unicode_context_msgstrN)r-r.r/r'rrrr%r%r%r&r�s
rc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�UnicodeTranslationsPluralTestcCsXt�|�ttd��}t�|�|_Wd�n1swY|jj|_|jj|_dSre)	rr'rrrrSrUrvr}r"r%r%r&r'�rz#UnicodeTranslationsPluralTest.setUpcCs:|j}|t|�ddd�t��|t|�ddd�t��dS�Nr�rrrt)r	r
rvr��r#�unlessr%r%r&r�sz0UnicodeTranslationsPluralTest.test_unicode_msgidcCs>|j}|t|�dddd�t��|t|�dddd�t��dSr)r	r
r}r�rr%r%r&�test_unicode_context_msgid�sz8UnicodeTranslationsPluralTest.test_unicode_context_msgidcCsj|j}|j}|�ddd�}|t|t��||d�|t|t��|�ddd�}|t|t��||d�dS)Nrprqrrrs�ru)r@r	rvr
r��r#rCrrUr%r%r&r�s
z1UnicodeTranslationsPluralTest.test_unicode_msgstrcCs`|j}|j}|�dddd�}|t|t��||d�|�dddd�}|t|t��||d�dS)Nrzrprqrrr{rr|)r@r	r}r
r�rr%r%r&� test_unicode_msgstr_with_context�s�
�z>UnicodeTranslationsPluralTest.test_unicode_msgstr_with_contextN)r-r.r/r'rrrrr%r%r%r&r
�sr
c@r)�WeirdMetadataTestcCs\t�|�ttd��}zt�|�|_Wn|���Wd�dS1s'wYdSre)rr'rrrrSrUr,r"r%r%r&r'�s
�"�zWeirdMetadataTest.setUpcCs.|j��}|�t|�d�|�|dd�dS)N�	zlast-translatorz=John Doe <jdoe@example.com>
Jane Foobar <jfoobar@example.com>)rUrr@�len)r#rr%r%r&�test_weird_metadatas


�z%WeirdMetadataTest.test_weird_metadataN)r-r.r/r'rr%r%r%r&r�s	rc@�eZdZdd�ZdS)�DummyGNUTranslationscCsdS)N�foor%r+r%r%r&r
szDummyGNUTranslations.fooN)r-r.r/rr%r%r%r&r�rc@r)�GettextCacheTestCasecCsDtj|_t|_|�ttj�d�t�	d|j�}|�ttj�d�tj	d|jt
d�}|�ttj�d�|�|jt
�tj	d|jt
d�}|�ttj�d�|�|jt
�|�t
d��tj	d|jt
dd�}Wd�n1smwY|�ttj�d�|�|jt
�|�t
��|�|��d�Wd�dS1s�wYdS)	Nrrrr)�class_rtzparameter codesetr�)r�codeset)r
r4r5rr6r@rrr �translationr�	__class__r�r�r�r�rr%r%r&�
test_caches4
�
�
��"�zGettextCacheTestCase.test_cacheN)r-r.r/r"r%r%r%r&rrrc@r)�MiscTestCasecCstj|tddhd�dS)Nr��ENOENT)�not_exported)r�check__all__rr+r%r%r&�test__all__6s
�zMiscTestCase.test__all__N)r-r.r/r'r%r%r%r&r#5rr#�__main__)'r
rr�r�unittest�testr�test.supportrrrrrrrr�r
rrrrr�TestCaserr�r0rWrkr�r�rr
rrSrrr#r-�mainr%r%r%r&�<module>sN	
MX@/*$L

Youez - 2016 - github.com/yon3zu
LinuXploit