python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_shlex.cpython-311.opt-1.pyc

e5ddlZddlZddlZddlZddlZddlmZdZdZGddejZ	e
edds5ee	D])Ze
dred	kree	e*ed
krejdSdS)N)mockux|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|
:-) ;-)|:-)|;-)|
áéíóú|áéíóú|
ceZdZdZdZdZejdej	dZ
dZdZdZ
d	Zd
ZdZdZd
ZdZdZdZdZdZdZdZdZdZdS)	ShlexTestcJdtD|_dtD|_|jD]!}|ddd|d<"|jD]!}|ddd|d<"dS)NcHg|]}|ddd S|Nsplit.0xs  C/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_shlex.py
<listcomp>z#ShlexTest.setUp.<locals>.<listcomp>s;111WWS\\#2#&111cHg|]}|ddd Srrr
s  rrz#ShlexTest.setUp.<locals>.<listcomp>s;=== 773<<,===rrz\n
)data
splitlines
posix_datareplace)selfitems  rsetUpzShlexTest.setUps11"oo//111	==$.$9$9$;$;===I	3	3D1gooeT22DGGO	3	3D1gooeT22DGG	3	3rctt|D]k}tj||d|}||||dd||dd|d||ddldS)Nrcomments:  != )rangelenshlexrassertEqual)rrrils     r	splitTestzShlexTest.splitTestss4yy!!	;	;ADGAJ:::AQQ"1gajjj!!!T!WQRR[[:
;
;
;
;	;	;rcg}tjtj|}|}|r+|||}|+|SN)r$ioStringIO	get_tokenappend)rsretlextoks     roldSplitzShlexTest.oldSplits`k"+a..))mmoo	"JJsOOO--//C	"
rz	sys.stdinc|t5tjdddddS#1swxYwYdSr*)assertWarnsDeprecationWarningr$rrs rtestSplitNoneDeprecationz"ShlexTest.testSplitNoneDeprecations


0
1
1		K																		s=AAc>||jddS)z%Test data splitting with posix parserTrN)r(rr7s rtestSplitPosixzShlexTest.testSplitPosixs t66666rcFtt|jD]~}||j|d}|||j|dd|j|dd|d|j|dddS)zTest compatibility interfacerrNr r!)r"r#rr3r%)rr&r's   r
testCompatzShlexTest.testCompatss49~~&&	E	EA

dil1o..AQ	!QRR 0"il1oooqqq$)A,qrr2B2BD
E
E
E
E	E	ErcdD]x}d|zd|zg}dd|ddg}tj|dD]O\}}tj|d	}||_t	|}|||d
|d|dPyd
S)z)Test handling of syntax splitting of &, |)
&&&z|&;&;;&||r	z&|z;|z;;|echo hi %s echo byeecho hi%secho byeechohibyeFTTpunctuation_charsWhile splitting '' [ws=]N	itertoolsproductr$whitespace_splitlistr%r	delimitersrcrefsswsr/results        rtestSyntaxSplitAmpersandAndPipez)ShlexTest.testSyntaxSplitAmpersandAndPipes
8
	L
	LI(94&24C4FE:C#+C??
L
LBKd;;;%'"a  ffCE22rrr!JLLLL	
L
	L
	LrcdD]|}d|zd|zd|zg}dd|ddg}tj|dD]O\}}tj|d	
}||_t	|}|||d|d|d
P}dS)z&Test handling of syntax splitting of ;);z;;r@rArCzecho hi%s echo byerDrErFrGrHTrIrKrLrMNrNrSs        rtestSyntaxSplitSemicolonz"ShlexTest.testSyntaxSplitSemicolons2
	L
	LI(94')3&24C4FE:C#+C??
L
LBKd;;;%'"a  ffCE22rrr!JLLLL	
L
	L
	LrcdD]t}d|zd|zd|zg}dd|dg}tj|dD]H\}}tj|d	
}t|}|||d|d|d
IudS)z&Test handling of syntax splitting of >)<r	zecho hi %s outz
echo hi%s outzecho hi%soutrErFoutrHTrIrKrLrMN)rOrPr$rRr%rSs        rtestSyntaxSplitRedirectz!ShlexTest.testSyntaxSplitRedirects$		L		LI#i/"Y.!I-/C4E2C#+C??
L
LBKd;;;a  ffCE22rrr!JLLLL
L		L		Lrc
ddg}gd}tj|dD]O\}}tj|d}||_t	|}|||d|d|d	Pd
S)z'Test handling of syntax splitting of ()z( echo hi )z	(echo hi))(rErF)rHTrIrKrLrMNrN)rrUrVrWrXr/rYs       rtestSyntaxSplitParenzShlexTest.testSyntaxSplitParens&&&'];;	H	HFBB$777A!#A!WWFS&&?Arr222F
H
H
H
H		H	Hrc$d}gd}tj|d}t|}|||d|zgd}tj|d}d|_t|}|||d|zd	S)
z3Test handling of syntax splitting with custom charsz~/a&&b-c --color=auto||d *.py?)z~/ar?r?zb-c--color=autorBd*.py?r	rIzWhile splitting '%s' [ws=False])z~/a&&b-crgrBrhriTzWhile splitting '%s' [ws=True]N)r$rRr%rQ)rrWrVr/rYs     rtestSyntaxSplitCustomzShlexTest.testSyntaxSplitCustoms
-JJJKc222af&G"&LMMM>>>Kc222!af&F&KLLLLLrcdgdffD]\}}tj|d}g}	|}||jkrn,|d|jvrd}nd}|||fL|||dS)	z2Test that tokens are split with types as expected.za && b || c))arl)r>c)brl)rBrm)rmrlTrIrrmrlN)r$r-eofrJr.r%)rsourceexpectedr/observedttts       rtestTokenTypeszShlexTest.testTokenTypess"/";";";!<! 	1	1FH
Fd;;;AH
)KKMM::Q41...BBBB(((
)
Xx0000!	1	1rctjdd}|d|j|t	|gddS)z:Test that any punctuation chars are removed from wordcharsa_b__c_rI)rlrxrn__rmN)r$assertNotIn	wordcharsr%rRrr/s  rtestPunctuationInWordCharsz$ShlexTest.testPunctuationInWordCharssWKC888ak***a"<"<"<=====rctjdd}|t|gdtjdd}d|_|t|gddS)z9Test that with whitespace_split, behaviour is as expectedza  && b  ||  cr?rI)rlr>rnr	r	rmT)rlr>rnrBrmN)r$r%rRrQr|s  r"testPunctuationWithWhitespaceSplitz,ShlexTest.testPunctuationWithWhitespaceSplitsK(C@@@	
a"A"A"ABBBK(C@@@!	
a"="="=>>>>>rctjddd}|t|gdtjddd}|t|gddS)z@Test that punctuation_chars and posix behave correctly together.zf >"abc"TposixrJ)f>abcz
f >\"abc\")rrz"abc"N)r$r%rRr|s  rtestPunctuationWithPosixz"ShlexTest.testPunctuationWithPosix&s|
K
$$GGGa"3"3"3444KddKKKa"5"5"566666rc
gd}dD]>}tjdd|}t|}|||?gd}tjdd}|t||dS)	z8Test that parsing of empty strings is correctly handled.)rdrrHz'')abcTr)''rdrrIN)r$rRr%)rrqpunctr/slists     rtestEmptyStringHandlingz!ShlexTest.testEmptyStringHandling.s$##"	.	.EHDEJJJAGGEUH----%%%KD999a(+++++rc
d}dg}tj|d}d|_|t||gd}tj|d}|t||dS)z;Test punctuation_chars and whitespace_split handle unicode.uℙƴ☂ℌøἤTrI)uℙuƴu☂uℌøuἤN)r$rQr%rR)rrWrVr/s    rtestUnicodeHandlingzShlexTest.testUnicodeHandling:s
356Kd333!a#&&&JJJKd333a#&&&&&rctjtjzdz}d}d|z}|t	jdd|t	j|||t	jdd|D]0}|t	jd|zd	|z1|D]0}|t	jd
|zd|z1dS)Nz
@%_-+=:,./uéàßz"`$\!rrztest file namez'test file name'z
test%snamez'test%sname'ztest%s'name'z'test%s'"'"'name'"'"'')string
ascii_lettersdigitsr%r$quote)rsafeunquotedunicode_sampleunsafeus     r	testQuotezShlexTest.testQuoteGs+fm;lJ'N*R$///\22LAAA%5668JKKK	1	1AU[)9::+a/
1
1
1
1	?	?AU[!);<<9A=
?
?
?
?	?	?rcddgdfddgdfgddfd	d
gdffD]]\}}||5tj|}|||dddn#1swxYwY^dS)
Nza rnz'a ' brlz bza ' b')rl rnza ' ' bz"azb"z	'"a' 'b"'command)subTestr$joinr%)r
split_commandrjoineds    rtestJoinzShlexTest.testJoinVsC[(#4[(#
__i(D\?+	'
	2	2"M7g..
2
2M22  111
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
	2	2s+A))A-	0A-	c
|j|jz}|D]p^}}||5tj|}tj|}|||dddn#1swxYwYqdS)Nr)rrrr$rrr%)rall_datarrrresplits      rtestJoinRoundtripzShlexTest.testJoinRoundtripas9t.'/	9	9#Gmg..
9
9M22+f--  888
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9	9	9s?A77A;	>A;	cd}tj|}||j||t5d|_ddddS#1swxYwYdS)Nz/|$%^rIF)r$r%rJassertRaisesAttributeError)rrJshlex_instances   rtestPunctuationCharsReadOnlyz&ShlexTest.testPunctuationCharsReadOnlyis#7HIII9;LMMM


~
.
.	5	5/4N,	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5s
A""A&)A&N)__name__
__module____qualname__rr(r3rpatchr+r,r8r:r<rZr]rarerjrur}rrrrrrrrrrrrs333;;;TZ[R[]]++,+777EEELLL"LLL 
L
L
LHHHMMM111(>>>
?
?
?777
,
,
,'''
?
?
?	2	2	299955555rrrtestr<__main__)r+rOr$runittestrrrTestCasergetattrdirmethname
startswithdelattrrmainrrr<module>rs				




=~>
@d5d5d5d5d5!d5d5d5Pwugt$$)C	NN))v&&	)8|+C+CGIx(((zHMOOOOOr