python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_shlex.cpython-312.pyc

Αe5ddlZddlZddlZddlZddlZdZdZGddejZe	edds.e
eD]#Zejdsedk7se
ee%ed	k(rejyy)
Nux|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|
:-) ;-)|:-)|;-)|
áéíóú|áéíóú|
ceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZy)	ShlexTestctjDcgc]}|jdddc}|_tjDcgc]}|jdddc}|_|jD]}|dj	dd|d<|jD]}|dj	dd|d<ycc}wcc}w)N|rz\n
)data
splitlinessplit
posix_datareplace)selfxitems   C/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_shlex.pysetUpzShlexTest.setUps"oo/1WWS\#2&1	%/$9$9$;= 773<,=II	3D1gooeT2DG	3OO	3D1gooeT2DG	3
1=sCCctt|D]L}tj||d|}|j	|||dd||dd|d||ddNy)Nrcomments:  != )rangelenshlexrassertEqual)rr	rils     r	splitTestzShlexTest.splitTestsls4y!	;ADGAJ:AQQ"1gaj!T!WQR[:
;	;cg}tjtj|}|j}|r$|j	||j}|r$|SN)rioStringIO	get_tokenappend)rsretlextoks     roldSplitzShlexTest.oldSplitsMkk"++a.)mmoJJsO--/C
r c|jt5tjddddy#1swYyxYwr")assertRaises
ValueErrorrrrs r
testSplitNonezShlexTest.testSplitNones1


z
*	KK			s5>c>|j|jdy)z%Test data splitting with posix parserTrN)rrr/s rtestSplitPosixzShlexTest.testSplitPosixst6r c"tt|jD]n}|j|j|d}|j	||j|dd|j|dd|d|j|ddpy)zTest compatibility interfacerrNrr)rrr	r+r)rrrs   r
testCompatzShlexTest.testCompatss499~&	EA

diil1o.AQ		!QR 0"iil1oq$))A,qr2BD
E	Er cdD]t}d|zd|zg}dd|ddg}tj|dD]H\}}tj|d	}||_t	|}|j||d
|d|dJvy
)z)Test handling of syntax splitting of &, |)
&&&z|&;&;;&||rz&|z;|z;;|echo hi %s echo byeecho hi%secho byeechohibyeFTTpunctuation_charsWhile splitting '' [ws=]N	itertoolsproductrwhitespace_splitlistrr	delimitersrcrefsswsr'results        rtestSyntaxSplitAmpersandAndPipez)ShlexTest.testSyntaxSplitAmpersandAndPipes
8
	LI(94&24C4FE:C#++C?
LBKKd;%'"a  fCEr!JL	
L
	Lr cdD]x}d|zd|zd|zg}dd|ddg}tj|dD]H\}}tj|d	
}||_t	|}|j||d|d|d
Jzy)z&Test handling of syntax splitting of ;);z;;r8r9r;zecho hi%s echo byer<r=r>r?r@TrArCrDrENrFrKs        rtestSyntaxSplitSemicolonz"ShlexTest.testSyntaxSplitSemicolons2
	LI(94')3&24C4FE:C#++C?
LBKKd;%'"a  fCEr!JL	
L
	Lr cdD]p}d|zd|zd|zg}dd|dg}tj|dD]A\}}tj|d	
}t|}|j	||d|d|d
Cry)z&Test handling of syntax splitting of >)<rzecho hi %s outz
echo hi%s outzecho hi%soutr=r>outr@TrArCrDrEN)rGrHrrJrrKs        rtestSyntaxSplitRedirectz!ShlexTest.testSyntaxSplitRedirects$		LI#i/"Y.!I-/C4E2C#++C?
LBKKd;a  fCEr!JL
L		Lr c
ddg}gd}tj|dD]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       rtestSyntaxSplitParenzShlexTest.testSyntaxSplitParenst&''];	HFBB$7A!#A!WFS&?A2F
H		Hr cd}gd}tj|d}t|}|j||d|zgd}tj|d}d|_t|}|j||d|zy	)
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     rtestSyntaxSplitCustomzShlexTest.testSyntaxSplitCustoms{
-JKKc2af&G"&LM>KKc2!af&F&KLr cdgdffD]{\}}tj|d}g}	|j}||jk(rn*|d|jvrd}nd}|j	||fJ|j||}y)	z2Test that tokens are split with types as expected.za && b || c))ard)r6c)brd)r:re)rerdTrArrerdN)rr%eofrBr&r)rsourceexpectedr'observedttts       rtestTokenTypeszShlexTest.testTokenTypess"/";!<! 	1FH
Fd;AHKKM:Q41...BBB(
Xx0!	1r ctjdd}|jd|j|jt	|gdy)z:Test that any punctuation chars are removed from wordcharsa_b__c_rA)rdrprf__reN)rassertNotIn	wordcharsrrJrr's  rtestPunctuationInWordCharsz$ShlexTest.testPunctuationInWordCharss;KKC8akk*a"<=r ctjdd}|jt|gdtjdd}d|_|jt|gdy)z9Test that with whitespace_split, behaviour is as expectedza  && b  ||  cr7rA)rdr6rfrrreT)rdr6rfr:reN)rrrJrIrts  r"testPunctuationWithWhitespaceSplitz,ShlexTest.testPunctuationWithWhitespaceSplitsZKK(C@	
a"ABKK(C@!	
a"=>r ctjddd}|jt|gdtjddd}|jt|gdy)z@Test that punctuation_chars and posix behave correctly together.zf >"abc"TposixrB)f>abcz
f >\"abc\")r{r|z"abc"N)rrrJrts  rtestPunctuationWithPosixz"ShlexTest.testPunctuationWithPosix$sR
KK
$$Ga"34KKddKa"56r cgd}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)rripunctr'slists     rtestEmptyStringHandlingz!ShlexTest.testEmptyStringHandling,sn$"	.EHDEJAGEUH-	.&KKD9a(+r cd}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    rtestUnicodeHandlingzShlexTest.testUnicodeHandling8sd
356KKd3!a#&JKKd3a#&r ctjtjzdz}d}d|z}|jt	j
dd|jt	j
|||jt	j
dd|D]-}|jt	j
d|zd	|z/|D]-}|jt	j
d
|zd|z/y)Nz
@%_-+=:,./uéàßz"`$\!rrztest file namez'test file name'z
test%snamez'test%sname'ztest%s'name'z'test%s'"'"'name'"'"'')string
ascii_lettersdigitsrrquote)rsafeunquotedunicode_sampleunsafeus     r	testQuotezShlexTest.testQuoteEs++fmm;lJ'N*R$/\2LA%568JK	1AU[[)9:+a/
1	1	?AU[[!);<9A=
?	?r cddgdfddgdfgddfd	d
gdffD]G\}}|j|5tj|}|j||dddIy#1swYTxYw)
Nza rfz'a ' brdz bza ' b')rd rfza ' ' bz"azb"z	'"a' 'b"'command)subTestrjoinr)r
split_commandrjoineds    rtestJoinzShlexTest.testJoinTsC[(#4[(#
i(D\?+	'
	2"M7g.
2M2  1
2
2
	2
2
2s(A""A+	c|j|jz}|D][^}}|j|5tj|}tj
|}|j
||ddd]y#1swYhxYw)Nr)r	rrrrrr)rall_datarrrresplits      rtestJoinRoundtripzShlexTest.testJoinRoundtrip_s|99t.'/	9#Gmg.
9M2++f-  8
9
9	9
9
9s=A;;B	cd}tj|}|j|j||jt5d|_dddy#1swYyxYw)Nz/|$%^rAF)rrrBr-AttributeError)rrBshlex_instances   rtestPunctuationCharsReadOnlyz&ShlexTest.testPunctuationCharsReadOnlygsY#7HI99;LM


~
.	5/4N,	5	5	5s
AA$N)__name__
__module____qualname__rrr+r0r2r4rRrUrYr]rbrmrurwr~rrrrrrr rrrsq3;7EL"L 
LHM1(>
?7
,'
?	295r rrtestr4__main__)r#rGrrunittestr	rTestCasergetattrdirmethname
startswithdelattrrmainrr r<module>rs	

=~>
@c5!!c5Nugt$	N)v&8|+CIx()zHMMOr