Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_shlex.cpython-39.pyc

a

��g�5�@s�ddlZddlZddlZddlZddlZddlmZdZdZGdd�dej�Z	e
edd�s�ee	�D] Ze�
d�rbed	krbee	e�qbed
kr�e��dS)�N)�mocku�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@s�eZdZdd�Zdd�Zdd�Ze�de�	��dd	��Z
d
d�Zdd
�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,S)-�	ShlexTestcCsldd�t��D�|_dd�t��D�|_|jD]}|d�dd�|d<q.|jD]}|d�dd�|d<qNdS)NcSsg|]}|�d�dd��qS��|N�����split��.0�x�r�+/usr/local/lib/python3.9/test/test_shlex.py�
<listcomp>�s�z#ShlexTest.setUp.<locals>.<listcomp>cSsg|]}|�d�dd��qSrrr	rrr
r�s�rz\n�
)�data�
splitlines�
posix_data�replace)�self�itemrrr
�setUp�s��

zShlexTest.setUpcCsdtt|��D]R}tj||d|d�}|�|||dd�d||d|||dd�f�qdS)Nr��comments��%s: %s != %s)�range�len�shlexr�assertEqual)rrr�i�lrrr
�	splitTest�s��zShlexTest.splitTestcCs8g}t�t�|��}|��}|r4|�|�|��}q|S�N)r�io�StringIO�	get_token�append)r�s�retZlex�tokrrr
�oldSplit�s

zShlexTest.oldSplitz	sys.stdincCs8|�t��t�d�Wd�n1s*0YdSr")ZassertWarns�DeprecationWarningrr�rrrr
�testSplitNoneDeprecation�sz"ShlexTest.testSplitNoneDeprecationcCs|j|jdd�dS)z%Test data splitting with posix parserTrN)r!rr,rrr
�testSplitPosix�szShlexTest.testSplitPosixcCsjtt|j��D]V}|�|j|d�}|�||j|dd�d|j|d||j|dd�f�qdS)zTest compatibility interfacerrNr)rrrr*r)rrr rrr
�
testCompat�s ��zShlexTest.testCompatc	CstdD]j}d|d|g}dd|ddg}t�|d�D]:\}}tj|dd	�}||_t|�}|�||d
||f�q2qdS)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 '%s' [ws=%s]N��	itertools�productr�whitespace_split�listr�r�	delimiter�src�ref�ss�wsr'�resultrrr
�testSyntaxSplitAmpersandAndPipe�s�
�z)ShlexTest.testSyntaxSplitAmpersandAndPipec	CszdD]p}d|d|d|g}dd|ddg}t�|d�D]:\}}tj|d	d
�}||_t|�}|�||d||f�q8qdS)
z&Test handling of syntax splitting of ;)�;z;;r2r3r5zecho hi%s echo byer6r7r8r9r:Tr;r=Nr>rCrrr
�testSyntaxSplitSemicolon�s�
�z"ShlexTest.testSyntaxSplitSemicolonc	CsrdD]h}d|d|d|g}dd|dg}t�|d�D]4\}}tj|d	d
�}t|�}|�||d||f�q6qdS)
z&Test handling of syntax splitting of >)�<rzecho hi %s outz
echo hi%s outzecho hi%soutr7r8�outr:Tr;r=N)r?r@rrBrrCrrr
�testSyntaxSplitRedirect�s�
�z!ShlexTest.testSyntaxSplitRedirectcCs\ddg}gd�}t�|d�D]:\}}tj|dd�}||_t|�}|�||d||f�qdS)	z'Test handling of syntax splitting of ()z( echo hi )z	(echo hi))�(r7r8�)r:Tr;r=Nr>)rrErFrGrHr'rIrrr
�testSyntaxSplitParen�s�
�zShlexTest.testSyntaxSplitParencCsnd}gd�}tj|dd�}t|�}|�||d|�gd�}tj|dd�}d|_t|�}|�||d|�d	S)
z3Test handling of syntax splitting with custom charsz~/a&&b-c --color=auto||d *.py?)z~/ar1r1zb-c�--color=autor4�d�*.py?rr;zWhile splitting '%s' [ws=False])z~/a&&b-crSr4rTrUTzWhile splitting '%s' [ws=True]N)rrBrrA)rrGrFr'rIrrr
�testSyntaxSplitCustom�szShlexTest.testSyntaxSplitCustomcCsvdgd�ffD]b\}}tj|dd�}g}|��}||jkr<qd|d|jvrPd}nd}|�||f�q(|�||�qdS)	z2Test that tokens are split with types as expected.za && b || c))�arW)r0�c)�brW)r4rX)rXrWTr;rrXrWN)rr%�eofr<r&r)r�source�expectedr'Zobserved�t�ttrrr
�testTokenTypess��
zShlexTest.testTokenTypescCs4tjddd�}|�d|j�|�t|�gd��dS)z:Test that any punctuation chars are removed from wordcharsZa_b__c�_r;)rWr`rY�__rXN)rZassertNotInZ	wordcharsrrB�rr'rrr
�testPunctuationInWordCharssz$ShlexTest.testPunctuationInWordCharscCsNtjddd�}|�t|�gd��tjddd�}d|_|�t|�gd��dS)z9Test that with whitespace_split, behaviour is as expectedza  && b  ||  cr1r;)rWr0rYrrrXT)rWr0rYr4rXN)rrrBrArbrrr
�"testPunctuationWithWhitespaceSplits
z,ShlexTest.testPunctuationWithWhitespaceSplitcCsLtjdddd�}|�t|�gd��tjdddd�}|�t|�gd��dS)z@Test that punctuation_chars and posix behave correctly together.zf >"abc"T��posixr<)�f�>�abcz
f >\"abc\")rgrhz"abc"N)rrrBrbrrr
�testPunctuationWithPosix&sz"ShlexTest.testPunctuationWithPosixcCs`gd�}dD](}tjdd|d�}t|�}|�||�qgd�}tjddd�}|�t|�|�dS)	z8Test that parsing of empty strings is correctly handled.)�rQrir:z'')abcTre)�''rQrir;N)rrBr)rr\�punctr'Zslistrrr
�testEmptyStringHandling.sz!ShlexTest.testEmptyStringHandlingcCsXd}dg}tj|dd�}d|_|�t|�|�gd�}tj|dd�}|�t|�|�dS)z;Test punctuation_chars and whitespace_split handle unicode.uℙƴ☂ℌøἤTr;)uℙuƴu☂uℌ�øuἤN)rrArrB)rrGrFr'rrr
�testUnicodeHandling:szShlexTest.testUnicodeHandlingcCs�tjtjd}d}d|}|�t�d�d�|�t�|�|�|�t�d�d�|D]}|�t�d|�d	|�qV|D]}|�t�d
|�d|�qzdS)Nz
@%_-+=:,./uéàßz"`$\!rkrlztest file namez'test file name'z
test%snamez'test%sname'ztest%s'name'z'test%s'"'"'name'"'"'')�string�
ascii_letters�digitsrr�quote)rZsafeunquotedZunicode_sampleZunsafe�urrr
�	testQuoteGs��zShlexTest.testQuotec	Cs|ddgdfddgdfgd�dfd	d
gdffD]J\}}|j|d��&t�|�}|�||�Wd�q,1sl0Yq,dS)
Nza rYz'a ' brWz bza ' b')rW� rYza ' ' bz"azb"z	'"a' 'b"'��command)�subTestr�joinr)r�
split_commandry�joinedrrr
�testJoinVs



�
zShlexTest.testJoinc	Csj|j|j}|D]T^}}|j|d��0t�|�}t�|�}|�||�Wd�q1sZ0YqdS)Nrx)rrrzrr{rr)rZall_dataryr|r}Zresplitrrr
�testJoinRoundtripas

zShlexTest.testJoinRoundtripcCsRd}tj|d�}|�|j|�|�t��d|_Wd�n1sD0YdS)Nz/|$%^r;F)rrr<ZassertRaises�AttributeError)rr<Zshlex_instancerrr
�testPunctuationCharsReadOnlyis
z&ShlexTest.testPunctuationCharsReadOnlyN)�__name__�
__module__�__qualname__rr!r*rZpatchr#r$r-r.r/rJrLrOrRrVr_rcrdrjrnrprvr~rr�rrrr
r�s,
	



rr�testr/�__main__)r#r?rrqZunittestrrrZTestCaser�getattr�dirZmethname�
startswith�delattrr��mainrrrr
�<module>s?@i

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