Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_shlex.cpython-312.opt-1.pyc

�

'Μg�5���ddlZddlZddlZddlZddlZdZdZGd�dej�Ze	edd�s.e
e�D]#Zejd�s�edk7s�e
ee��%ed	k(rej�yy)
�Nu�x|x|
foo bar|foo|bar|
 foo bar|foo|bar|
 foo bar |foo|bar|
foo   bar    bla     fasel|foo|bar|bla|fasel|
x y  z              xxxx|x|y|z|xxxx|
\x bar|\|x|bar|
\ x bar|\|x|bar|
\ bar|\|bar|
foo \x bar|foo|\|x|bar|
foo \ x bar|foo|\|x|bar|
foo \ bar|foo|\|bar|
foo "bar" bla|foo|"bar"|bla|
"foo" "bar" "bla"|"foo"|"bar"|"bla"|
"foo" bar "bla"|"foo"|bar|"bla"|
"foo" bar bla|"foo"|bar|bla|
foo 'bar' bla|foo|'bar'|bla|
'foo' 'bar' 'bla'|'foo'|'bar'|'bla'|
'foo' bar 'bla'|'foo'|bar|'bla'|
'foo' bar bla|'foo'|bar|bla|
blurb foo"bar"bar"fasel" baz|blurb|foo"bar"bar"fasel"|baz|
blurb foo'bar'bar'fasel' baz|blurb|foo'bar'bar'fasel'|baz|
""|""|
''|''|
foo "" bar|foo|""|bar|
foo '' bar|foo|''|bar|
foo "" "" "" bar|foo|""|""|""|bar|
foo '' '' '' bar|foo|''|''|''|bar|
\""|\|""|
"\"|"\"|
"foo\ bar"|"foo\ bar"|
"foo\\ bar"|"foo\\ bar"|
"foo\\ bar\"|"foo\\ bar\"|
"foo\\" bar\""|"foo\\"|bar|\|""|
"foo\\ bar\" dfadf"|"foo\\ bar\"|dfadf"|
"foo\\\ bar\" dfadf"|"foo\\\ bar\"|dfadf"|
"foo\\\x bar\" dfadf"|"foo\\\x bar\"|dfadf"|
"foo\x bar\" dfadf"|"foo\x bar\"|dfadf"|
\''|\|''|
'foo\ bar'|'foo\ bar'|
'foo\\ bar'|'foo\\ bar'|
"foo\\\x bar\" df'a\ 'df'|"foo\\\x bar\"|df'a|\|'df'|
\"foo"|\|"foo"|
\"foo"\x|\|"foo"|\|x|
"foo\x"|"foo\x"|
"foo\ "|"foo\ "|
foo\ xx|foo|\|xx|
foo\ x\x|foo|\|x|\|x|
foo\ x\x\""|foo|\|x|\|x|\|""|
"foo\ x\x"|"foo\ x\x"|
"foo\ x\x\\"|"foo\ x\x\\"|
"foo\ x\x\\""foobar"|"foo\ x\x\\"|"foobar"|
"foo\ x\x\\"\''"foobar"|"foo\ x\x\\"|\|''|"foobar"|
"foo\ x\x\\"\'"fo'obar"|"foo\ x\x\\"|\|'"fo'|obar"|
"foo\ x\x\\"\'"fo'obar" 'don'\''t'|"foo\ x\x\\"|\|'"fo'|obar"|'don'|\|''|t'|
'foo\ bar'|'foo\ bar'|
'foo\\ bar'|'foo\\ bar'|
foo\ bar|foo|\|bar|
foo#bar\nbaz|foobaz|
:-) ;-)|:|-|)|;|-|)|
áéíóú|á|é|í|ó|ú|
u1x|x|
foo bar|foo|bar|
 foo bar|foo|bar|
 foo bar |foo|bar|
foo   bar    bla     fasel|foo|bar|bla|fasel|
x y  z              xxxx|x|y|z|xxxx|
\x bar|x|bar|
\ x bar| x|bar|
\ bar| bar|
foo \x bar|foo|x|bar|
foo \ x bar|foo| x|bar|
foo \ bar|foo| bar|
foo "bar" bla|foo|bar|bla|
"foo" "bar" "bla"|foo|bar|bla|
"foo" bar "bla"|foo|bar|bla|
"foo" bar bla|foo|bar|bla|
foo 'bar' bla|foo|bar|bla|
'foo' 'bar' 'bla'|foo|bar|bla|
'foo' bar 'bla'|foo|bar|bla|
'foo' bar bla|foo|bar|bla|
blurb foo"bar"bar"fasel" baz|blurb|foobarbarfasel|baz|
blurb foo'bar'bar'fasel' baz|blurb|foobarbarfasel|baz|
""||
''||
foo "" bar|foo||bar|
foo '' bar|foo||bar|
foo "" "" "" bar|foo||||bar|
foo '' '' '' bar|foo||||bar|
\"|"|
"\""|"|
"foo\ bar"|foo\ bar|
"foo\\ bar"|foo\ bar|
"foo\\ bar\""|foo\ bar"|
"foo\\" bar\"|foo\|bar"|
"foo\\ bar\" dfadf"|foo\ bar" dfadf|
"foo\\\ bar\" dfadf"|foo\\ bar" dfadf|
"foo\\\x bar\" dfadf"|foo\\x bar" dfadf|
"foo\x bar\" dfadf"|foo\x bar" dfadf|
\'|'|
'foo\ bar'|foo\ bar|
'foo\\ bar'|foo\\ bar|
"foo\\\x bar\" df'a\ 'df"|foo\\x bar" df'a\ 'df|
\"foo|"foo|
\"foo\x|"foox|
"foo\x"|foo\x|
"foo\ "|foo\ |
foo\ xx|foo xx|
foo\ x\x|foo xx|
foo\ x\x\"|foo xx"|
"foo\ x\x"|foo\ x\x|
"foo\ x\x\\"|foo\ x\x\|
"foo\ x\x\\""foobar"|foo\ x\x\foobar|
"foo\ x\x\\"\'"foobar"|foo\ x\x\'foobar|
"foo\ x\x\\"\'"fo'obar"|foo\ x\x\'fo'obar|
"foo\ x\x\\"\'"fo'obar" 'don'\''t'|foo\ x\x\'fo'obar|don't|
"foo\ x\x\\"\'"fo'obar" 'don'\''t' \\|foo\ x\x\'fo'obar|don't|\|
'foo\ bar'|foo\ bar|
'foo\\ bar'|foo\\ bar|
foo\ bar|foo bar|
foo#bar\nbaz|foo|baz|
:-) ;-)|:-)|;-)|
áéíóú|áéíóú|
c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�	ShlexTestc��tj�D�cgc]}|jd�dd��c}|_tj�D�cgc]}|jd�dd��c}|_|jD]}|dj	dd�|d<�|jD]}|dj	dd�|d<�ycc}wcc}w)N�|���rz\n�
)�data�
splitlines�split�
posix_data�replace)�self�x�items   �,/usr/local/lib/python3.12/test/test_shlex.py�setUpzShlexTest.setUp�s���"�o�o�/�1�/���W�W�S�\�#�2�&�/�1��	�%/�$9�$9�$;�=�$;�q��7�7�3�<���,�$;�=����I�I�D��1�g�o�o�e�T�2�D��G���O�O�D��1�g�o�o�e�T�2�D��G�$��
1��=s�C�Cc���tt|��D]L}tj||d|��}|j	|||dd||d�d|�d||dd����Ny)Nr��comments��: � != )�range�len�shlexr�assertEqual)rr	r�i�ls     r�	splitTestzShlexTest.splitTest�sg���s�4�y�!�A����D��G�A�J��:�A����Q��Q�����"�1�g�a�j�!�T�!�W�Q�R�[�:�
;�"�c���g}tjtj|��}|j�}|r$|j	|�|j�}|r�$|S�N)r�io�StringIO�	get_token�append)r�s�ret�lex�toks     r�oldSplitzShlexTest.oldSplit�sM�����k�k�"�+�+�a�.�)���m�m�o����J�J�s�O��-�-�/�C���
r c��|jt�5tjd�ddd�y#1swYyxYwr")�assertRaises�
ValueErrorrr�rs r�
testSplitNonezShlexTest.testSplitNone�s(��
�
�
�z�
*��K�K���+�
*�
*�s�5�>c�>�|j|jd��y)z%Test data splitting with posix parserTrN)rrr/s r�testSplitPosixzShlexTest.testSplitPosix�s�����t�����6r c�"�tt|j��D]n}|j|j|d�}|j	||j|dd|j|d�d|�d|j|dd����py)zTest compatibility interfacerrNrr)rrr	r+r)rrrs   r�
testCompatzShlexTest.testCompat�s}���s�4�9�9�~�&�A��
�
�d�i�i��l�1�o�.�A����Q��	�	�!��Q�R� 0�"�i�i��l�1�o�q�$�)�)�A�,�q�r�2B�D�
E�'r c��dD]t}d|zd|zg}dd|ddg}tj|d�D]H\}}tj|d�	�}||_t	|�}|j||d
|�d|�d���J�vy
)z)Test handling of syntax splitting of &, |)
�&&�&z|&�;&�;;&�||rz&|z;|z;;|�echo hi %s echo bye�echo hi%secho bye�echo�hi�bye�FTT��punctuation_chars�While splitting '�' [ws=�]N��	itertools�productr�whitespace_split�listr�r�	delimiter�src�ref�ss�wsr'�results        r�testSyntaxSplitAmpersandAndPipez)ShlexTest.testSyntaxSplitAmpersandAndPipe�s���
8�I�(�9�4�&��2�4�C��4��F�E�:�C�#�+�+�C��?���B��K�K��d�;��%'��"��a���� � ��f�CE�r�!J�L�	@�8r c��dD]x}d|zd|zd|zg}dd|ddg}tj|d�D]H\}}tj|d	�
�}||_t	|�}|j||d|�d|�d
���J�zy)z&Test handling of syntax splitting of ;)�;z;;r8r9r;zecho hi%s echo byer<r=r>r?r@TrArCrDrENrFrKs        r�testSyntaxSplitSemicolonz"ShlexTest.testSyntaxSplitSemicolon�s���2�I�(�9�4�'�)�3�&��2�4�C��4��F�E�:�C�#�+�+�C��?���B��K�K��d�;��%'��"��a���� � ��f�CE�r�!J�L�	@�2r c���dD]p}d|zd|zd|zg}dd|dg}tj|d�D]A\}}tj|d	�
�}t|�}|j	||d|�d|�d
���C�ry)z&Test handling of syntax splitting of >)�<rzecho hi %s outz
echo hi%s outzecho hi%soutr=r>�outr@TrArCrDrEN)rGrHrrJrrKs        r�testSyntaxSplitRedirectz!ShlexTest.testSyntaxSplitRedirect�s���$�I�#�i�/�"�Y�.�!�I�-�/�C��4��E�2�C�#�+�+�C��?���B��K�K��d�;���a���� � ��f�CE�r�!J�L�@�$r c
���ddg}gd�}tj|d�D]H\}}tj|d��}||_t	|�}|j||d|�d|�d	���Jy
)z'Test handling of syntax splitting of ()z( echo hi )z	(echo hi))�(r=r>�)r@TrArCrDrENrF)rrMrNrOrPr'rQs       r�testSyntaxSplitParenzShlexTest.testSyntaxSplitParen�sm������&���'�'��]�;�F�B�����B�$�7�A�!#�A���!�W�F����S�&�?A�2�F�
H�	<r c��d}gd�}tj|d��}t|�}|j||d|z�gd�}tj|d��}d|_t|�}|j||d|z�y	)
z3Test handling of syntax splitting with custom charsz~/a&&b-c --color=auto||d *.py?)z~/ar7r7zb-c�--color=autor:�d�*.py?rrAzWhile splitting '%s' [ws=False])z~/a&&b-cr_r:r`raTzWhile splitting '%s' [ws=True]N)rrJrrI)rrOrNr'rQs     r�testSyntaxSplitCustomzShlexTest.testSyntaxSplitCustom�s{��
-��J���K�K��c�2���a�������f�&G�"�&L�M�>���K�K��c�2��!����a�������f�&F��&K�Lr c��dgd�ffD]{\}}tj|d��}g}	|j�}||jk(rn*|d|jvrd}nd}|j	||f��J|j||��}y)	z2Test that tokens are split with types as expected.za && b || c))�ard)r6�c)�brd)r:re)rerdTrArrerdN)rr%�eofrBr&r)r�source�expectedr'�observed�t�tts       r�testTokenTypeszShlexTest.testTokenTypes�s���"/�";�!<�! ��F�H�
���F�d�;�A��H���K�K�M������:���Q�4�1�.�.�.��B��B�����B��(��
���X�x�0�!! r c��tjdd��}|jd|j�|jt	|�gd��y)z:Test that any punctuation chars are removed from wordchars�a_b__c�_rA)rdrprf�__reN)r�assertNotIn�	wordcharsrrJ�rr's  r�testPunctuationInWordCharsz$ShlexTest.testPunctuationInWordCharss;���K�K��C�8������a�k�k�*�����a��"<�=r c���tjdd��}|jt|�gd��tjdd��}d|_|jt|�gd��y)z9Test that with whitespace_split, behaviour is as expectedza  && b  ||  cr7rA)rdr6rfrrreT)rdr6rfr:reN)rrrJrIrts  r�"testPunctuationWithWhitespaceSplitz,ShlexTest.testPunctuationWithWhitespaceSplitsZ���K�K�(�C�@��	
����a��"A�B��K�K�(�C�@��!���	
����a��"=�>r c���tjddd��}|jt|�gd��tjddd��}|jt|�gd��y)z@Test that punctuation_chars and posix behave correctly together.zf >"abc"T��posixrB)�f�>�abcz
f >\"abc\")r{r|z"abc"N)rrrJrts  r�testPunctuationWithPosixz"ShlexTest.testPunctuationWithPosix$sR��
�K�K�
�$�$�G������a��"3�4��K�K��d�d�K������a��"5�6r c���gd�}dD]7}tjdd|��}t|�}|j||��9gd�}tjdd��}|jt|�|�y)	z8Test that parsing of empty strings is correctly handled.)�r\r}r@z'')abcTry)�''r\r}rAN)rrJr)rri�punctr'�slists     r�testEmptyStringHandlingz!ShlexTest.testEmptyStringHandling,si��$��"�E����H�D�E�J�A���G�E����U�H�-�#�&���K�K��D�9������a��(�+r c���d}dg}tj|d��}d|_|jt|�|�gd�}tj|d��}|jt|�|�y)z;Test punctuation_chars and whitespace_split handle unicode.uℙƴ☂ℌøἤTrA)uℙuƴu☂uℌ�øuἤN)rrIrrJ)rrOrNr's    r�testUnicodeHandlingzShlexTest.testUnicodeHandling8sd��
3��5�6���K�K��d�3��!�������a��#�&�J���K�K��d�3������a��#�&r c��tjtjzdz}d}d|z}|jt	j
d�d�|jt	j
|�|�|jt	j
d�d�|D]-}|jt	j
d|z�d	|z��/|D]-}|jt	j
d
|z�d|z��/y)Nz
@%_-+=:,./uéàßz"`$\!r�r�ztest file namez'test file name'z
test%snamez'test%sname'ztest%s'name'z'test%s'"'"'name'"'"'')�string�
ascii_letters�digitsrr�quote)r�safeunquoted�unicode_sample�unsafe�us     r�	testQuotezShlexTest.testQuoteEs����+�+�f�m�m�;�l�J��'���N�*��������R��$�/�������\�2�L�A�������%5�6�8J�K��A����U�[�[���)9�:�+�a�/�
1���A����U�[�[��!�);�<�9�A�=�
?�r c���ddgdfddgdfgd�dfd	d
gdffD]G\}}|j|��5tj|�}|j||�ddd��Iy#1swY�TxYw)
Nza rfz'a ' brdz bza ' b')rd� rfza ' ' bz"azb"z	'"a' 'b"'��command)�subTestr�joinr)r�
split_commandr��joineds    r�testJoinzShlexTest.testJoinTs~���C�[�(�#��4�[�(�#�
�i�(��D�\�?�+�	'
�"�M�7����g��.����M�2��� � ���1�/�.�
'
�/�.�s�(A"�"A+	c��|j|jz}|D][^}}|j|��5tj|�}tj
|�}|j
||�ddd��]y#1swY�hxYw)Nr�)r	rr�rr�rr)r�all_datar�r�r��resplits      r�testJoinRoundtripzShlexTest.testJoinRoundtrip_sl���9�9�t���.��'/�#�G�m����g��.����M�2���+�+�f�-��� � ���8�/�.�(0�.�.�s�=A;�;B	c���d}tj|��}|j|j|�|jt�5d|_ddd�y#1swYyxYw)Nz/|$%^rAF)rrrBr-�AttributeError)rrB�shlex_instances   r�testPunctuationCharsReadOnlyz&ShlexTest.testPunctuationCharsReadOnlygsP��#�����7H�I������9�9�;L�M�
�
�
�~�
.�/4�N�,�/�
.�
.�s�
A�A$N)�__name__�
__module__�__qualname__rrr+r0r2r4rRrUrYr]rbrmrurwr~r�r�r�r�r�r��r rrr�sq��3�;���7�E�L�"L� 
L�H�M�1�(>�
?�7�
,�'�
?�	2�9�5r rr�testr4�__main__)r#rGrr��unittestr	r�TestCaser�getattr�dir�methname�
startswith�delattrr��mainr�r r�<module>r�s���	���
��
=��~>�
�@c5��!�!�c5�N�u�g�t�$��	�N�����v�&�8�|�+C��I�x�(�#��z���H�M�M�O�r 

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists