Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/test/__pycache__/test_shlex.cpython-38.opt-1.pyc
U

>��g*5�@s�ddlZddlZddlZddlZddlZdZdZGdd�dej�Ze	edd�sxe
e�D] Ze�d�rVedkrVe
ee�qVed	kr�e��dS)
�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@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)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�./opt/cppython/lib/python3.8/test/test_shlex.py�
<listcomp>�s�z#ShlexTest.setUp.<locals>.<listcomp>cSsg|]}|�d�dd��qSrrrrrrr
�s�rz\n�
)�data�
splitlines�
posix_data�replace)�self�itemrrr�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�lrrr�	splitTest�s��zShlexTest.splitTestcCs8g}t�t�|��}|��}|r4|�|�|��}q|S)N)r�io�StringIO�	get_token�append)r�s�retZlex�tokrrr�oldSplit�s

zShlexTest.oldSplitcCs|j|jdd�dS)z%Test data splitting with posix parserTrN)r r)rrrr�testSplitPosix�szShlexTest.testSplitPosixcCsjtt|j��D]V}|�|j|d�}|�||j|dd�d|j|d||j|dd�f�qdS)zTest compatibility interfacerrNr)rrrr(r)rrrrrr�
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%�resultrrr�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;;r-r.r0zecho hi%s echo byer1r2r3r4r5Tr6r8Nr9r>rrr�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%soutr2r3�outr5Tr6r8N)r:r;rr=rr>rrr�testSyntaxSplitRedirect�s�
�z!ShlexTest.testSyntaxSplitRedirectcCs`ddg}ddddg}t�|d�D]:\}}tj|dd	�}||_t|�}|�||d
||f�q dS)z'Test handling of syntax splitting of ()z( echo hi )z	(echo hi)�(r2r3�)r5Tr6r8Nr9)rr@rArBrCr%rDrrr�testSyntaxSplitParen�s�
�zShlexTest.testSyntaxSplitParencCs�d}ddddddddg}tj|d	d
�}t|�}|�||d|�dddddg}tj|d	d
�}d
|_t|�}|�||d|�dS)z3Test handling of syntax splitting with custom charsz~/a&&b-c --color=auto||d *.py?z~/ar,zb-cz--color=autor/�dz*.py?rr6zWhile splitting '%s' [ws=False]z~/a&&b-cTzWhile splitting '%s' [ws=True]N)rr=rr<)rrBrAr%rDrrr�testSyntaxSplitCustom�szShlexTest.testSyntaxSplitCustomcCs|ddddddgffD]b\}}tj|dd�}g}|��}||jkrBqj|d	|jkrVd
}nd}|�||f�q.|�||�qdS)
z2Test that tokens are split with types as expected.za && b || c)�arP)r+�c)�brP)r/rQ)rQrPTr6rrQrPN)rr#�eofr7r$r)r�source�expectedr%Zobserved�t�ttrrr�testTokenTypes�s"���
zShlexTest.testTokenTypescCs:tjddd�}|�d|j�|�t|�dddddg�dS)	z:Test that any punctuation chars are removed from wordcharsZa_b__c�_r6rPrR�__rQN)rZassertNotInZ	wordcharsrr=�rr%rrr�testPunctuationInWordCharssz$ShlexTest.testPunctuationInWordCharsc	Cs\tjddd�}|�t|�ddddddg�tjddd�}d	|_|�t|�dddd
dg�dS)z9Test that with whitespace_split, behaviour is as expectedza  && b  ||  cr,r6rPr+rRrrQTr/N)rrr=r<r[rrr�"testPunctuationWithWhitespaceSplits
z,ShlexTest.testPunctuationWithWhitespaceSplitcCsPtjdddd�}|�t|�dddg�tjdddd�}|�t|�dddg�d	S)
z@Test that punctuation_chars and posix behave correctly together.zf >"abc"T��posixr7�f�>�abcz
f >\"abc\"z"abc"N)rrr=r[rrr�testPunctuationWithPosix!sz"ShlexTest.testPunctuationWithPosixcCsddddg}dD](}tjdd|d�}t|�}|�||�qdddg}tjddd	�}|�t|�|�d
S)z8Test that parsing of empty strings is correctly handled.�rLrbr5z'')abcTr^�''r6N)rr=r)rrU�punctr%Zslistrrr�testEmptyStringHandling)s

z!ShlexTest.testEmptyStringHandlingcCs`d}dg}tj|dd�}d|_|�t|�|�dddddd	g}tj|dd�}|�t|�|�d
S)z;Test punctuation_chars and whitespace_split handle unicode.uℙƴ☂ℌøἤTr6uℙuƴu☂uℌ�øuἤN)rr<rr=)rrBrAr%rrr�testUnicodeHandling5szShlexTest.testUnicodeHandlingcCs�tjtjd}d}d|}|�t�d�d�|�t�|�|�|�t�d�d�|D]}|�t�d|�d	|�qV|D]}|�t�d
|�d|�qzdS)Nz
@%_-+=:,./uéàßz"`$\!rdreztest 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�urrr�	testQuoteBs��zShlexTest.testQuotec
Csjddgdfddgdfdddgdfd	d
gdffD]6\}}|j|d��t�|�}|�||�W5QRXq.dS)
Nza rRz'a ' brPz bza ' b'� za ' ' bz"azb"z	'"a' 'b"'��command)�subTestr�joinr)r�
split_commandrr�joinedrrr�testJoinQs


�
zShlexTest.testJoinc
CsV|j|j}|D]@^}}|j|d��&t�|�}t�|�}|�||�W5QRXqdS)Nrq)rrrsrrtrr)rZall_datarrrurvZresplitrrr�testJoinRoundtrip\s

zShlexTest.testJoinRoundtripc	Cs>d}tj|d�}|�|j|�|�t��d|_W5QRXdS)Nz/|$%^r6F)rrr7ZassertRaises�AttributeError)rr7Zshlex_instancerrr�testPunctuationCharsReadOnlyds
z&ShlexTest.testPunctuationCharsReadOnlyN)�__name__�
__module__�__qualname__rr r(r)r*rErGrJrMrOrXr\r]rcrgrirorwrxrzrrrrr�s(
	


rr�testr*�__main__)r!r:rrjZunittestrrZTestCaser�getattr�dirZmethname�
startswith�delattrr{�mainrrrr�<module>s?@d

F1le Man4ger