python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_difflib.cpython-311.pyc

eUddlZddlmZddlZddlZddlZGddejZGddejZGddejZ	d	Z
d
ZdZdZ
d
ZdZdZdZGddejZGddejZGddejZGddejZGddejZdZdZedkrejdSdS)N)findfilec eZdZdZdZdZdS)
TestWithAsciic~tjddd}||dd|t|ddg||jttjddd}||dd|t|gd	||jtdS)
Ndbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbeabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbgףp=
?places)insertrrr)equalrdr
eebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb))rr2rr)rrrr3)rrrrr)	difflibSequenceMatcherassertAlmostEqualratioassertEquallistget_opcodesbpopularsetselfsms  E/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_difflib.pytest_one_insertzTestWithAscii.test_one_insert	s%

$T9o
F
Frxxzz5;;;bnn..//&)
+	,	,	,	
cee,,,

$T96O
P
Prxxzz5;;;bnn..//
-
-
-	.	.	.	
cee,,,,,ctjddd}||dd|t|gddS)NQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbg+?r	r
))rr(rr&)deleter&)r&r&)rr(Qr&P)rrrrrrrrs  r test_one_deletezTestWithAscii.test_one_deletes

$T+DFY
Z
Zrxxzz5;;;bnn..//
+
+
+	,	,	,	,	,r"cVtjddd}||jt	tjddd}||jdhtjddd}||jdd	hdS)
Nc|dkSN xs r <lambda>z*TestWithAscii.test_bjunk.<locals>.<lambda>!
a3hr"r%Taaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb)isjunkabc|dkSr.r0r1s r r3z*TestWithAscii.test_bjunk.<locals>.<lambda>%r4r"zhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb                    r/c
|dvS)N)r/r8r0r1s r r3z*TestWithAscii.test_bjunk.<locals>.<lambda>)s
a:or"r8)rrrbjunkrrs  r 
test_bjunkzTestWithAscii.test_bjunk s

$,>,>%)<>>>355)))

$,>,>%)GIIIC5)))

$,E,E%)GIIIC:.....r"N)__name__
__module____qualname__r!r+r<r0r"r rrsA
-
-
-,,,/////r"rceZdZdZdZdS)TestAutojunkz-Tests for the autojunk parameter added in 2.7cd}d}tjd||}||dd||jdhtjd||d}||d	d||jt
dS)
Nbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbrr	r
r8F)autojunkgQ?)rrrrrrr)rseq1seq2rs    r #test_one_insert_homogenous_sequencez0TestAutojunk.test_one_insert_homogenous_sequence0s

$T4
6
6rxxzz1Q777se,,,
$T4
F
F
Frxxzz6!<<<cee,,,,,r"N)r=r>r?__doc__rHr0r"r rArA.s)77
-
-
-
-
-r"rAc2eZdZdZdZdZdZdZdZdS)
TestSFbugsc"tjdgg}||d||d||ddS)Nr
)rrrrquick_ratioreal_quick_ratio)rss  r test_ratio_for_null_seqnz#TestSFbugs.test_ratio_for_null_seqnAsz#D"b11A&&&!,,,++--q11111r"ctjdgg}|tt
|tjgg}|tt
|dSN)rrget_grouped_opcodesassertRaises
StopIterationnextunified_diff)r	group_gendiff_gens   r test_comparing_empty_listsz%TestSFbugs.test_comparing_empty_listsHsj+D"b99MMOO	-y999'B//-x88888r"cHtjddd}|}|}||djd||djd||djddS)Nabxcdabcdrr
)rrget_matching_blocksrsize)rrOfirstseconds    r test_matching_blocks_cachez%TestSFbugs.test_matching_blocks_cacheOs#D'6::%%''&&((+++++++++++r"cRttjdgdg}|d|d|d|d|d|d|d	|d
dS)Nz
	I am a buggyz		I am a bugz- 	I am a buggyrz? 	          --
r
z+ 		I am a bugr^z? +
r	rrDiffercomparerrdiffs  r test_added_tab_hintzTestSFbugs.test_added_tab_hintXsGN$$,,.>-?AQ@RSSTT+T!W555-tAw777+T!W555$q'*****r"cttjdgdg}|d|d|d|d|d|ddS)	Nz	 	 	^z	 	 	^
z- 	 	 	^rz	+ 	 	 	^
r
z
? 	 	 	 +
r^rerhs  r %test_hint_indented_properly_with_tabsz0TestSFbugs.test_hint_indented_properly_with_tabs`sGN$$,,k]]OLLMMQ000$q'222)4733333r"c	z|ttjdgdgddgdS)N23r
))r
z-2)r
z+3T)rrr_mdiff)rs r test_mdiff_catch_stop_iterationz*TestSFbugs.test_mdiff_catch_stop_iterationfsGua0011
9:	
	
	
	
	
r"N)	r=r>r?rPrZrcrjrlrqr0r"r rKrK@sn222999,,,+++444




r"rKz
   1. Beautiful is beTTer than ugly.
   2. Explicit is better than implicit.
   3. Simple is better than complex.
   4. Complex is better than complicated.
z
   1. Beautiful is better than ugly.
   3.   Simple is better than complex.
   4. Complicated is better than complex.
   5. Flat is better than nested.
u
   1. Beautiful is beTTer than ugly.
   2. Explicit is better than ımplıcıt.
   3. Simple is better than complex.
   4. Complex is better than complicated.
u
   1. Beautiful is better than ügly.
   3.   Sımple is better than complex.
   4. Complicated is better than cömplex.
   5. Flat is better than nested.
z
		Line 1: preceded by from:[tt] to:[ssss]
  		Line 2: preceded by from:[sstt] to:[sssst]
  	 	Line 3: preceded by from:[sstst] to:[ssssss]
Line 4:  	has from:[sst] to:[sss] after :
Line 5: has from:[t] to:[ss] at end	
z
    Line 1: preceded by from:[tt] to:[ssss]
    	Line 2: preceded by from:[sstt] to:[sssst]
      Line 3: preceded by from:[sstst] to:[ssssss]
Line 4:   has from:[sst] to:[sss] after :
Line 5: has from:[t] to:[ss] at end
zline 0
1234567890123456789012345689012345
line 1
line 2
line 3
line 4   changed
line 5   changed
line 6   changed
line 7
line 8  subtracted
line 9
1234567890123456789012345689012345
short line
just fits in!!
just fits in two lines yup!!
the endzline 0
1234567890123456789012345689012345
line 1
line 2    added
line 3
line 4   chanGEd
line 5a  chanGed
line 6a  changEd
line 7
line 8
line 9
1234567890
another long line that needs to be wrapped
just fitS in!!
just fits in two lineS yup!!
the endc,eZdZdZdZdZdZdZdS)
TestSFpatchesc!tdzdz}tdzdz}d|z}d|z}|}|}|}|}t}t}t
}t}tj}	tjd}
tjd}|		||dd	d
d}d
d|	||dd	dd|	||dd	dd|	||dd	ddd|	||dd	ddd|	||dd	dd|	||dd	d
d|	ggdd	dd|	ggdd	d
d|
||d|	||d|||ddd|||d||d|dg}
|dd |
z}ttd!d"#5}|||ddddS#1swxYwYdS)$Nz(123
123
123
123
123
123
123
123
123
123
r	z(456
456
456
456
456
456
456
456
456
456
r^)tabsize)
wrapcolumnfromtoF)contextnumlines
z8<h2>Context (first diff within numlines=5(default))</h2>T)r{z7<h2>Context (first diff after numlines=5(default))</h2>z<h2>Context (numlines=6)</h2>z<h2>Context (numlines=0)</h2>rz<h2>Same Context</h2>z<h2>Same Full</h2>z<h2>Empty Context</h2>z<h2>Empty Full</h2>z<h2>tabsize=2</h2>z<h2>tabsize=default</h2>z+<h2>Context (wrapcolumn=14,numlines=0)</h2>z#<h2>wrapcolumn=14,splitlines()</h2>z'<h2>wrapcolumn=14,splitlines(True)</h2>z</body>z
%s
</body>ztest_difflib_expect.htmlzutf-8)encoding)patch914575_from1patch914575_to1
splitlinespatch914575_from2patch914575_to2patch914575_from3patch914575_to3rHtmlDiff	make_filejoin
make_tablereplaceopenrrread)rf1at1af1bt1bf2t2f3t3ijkfulltablesactualfps                r test_html_diffzTestSFpatches.test_html_diffsC!J.1+Q.33nnnnnnnn

)
)
+
+

'
'
)
)

Q'''+++{{3s6$ua{HH
G
\\#c&d\
;
;
F
\\#c&d\
;
;
,
\\#c&dA\
F
F
,
\\#c&dA\
F
F
$
\\#c&d\
;
;
!
\\#c&e\
<
<
%
\\"RtD\
9
9
"
\\"RtE\
:
:
!
\\"R
 
 
'
\\"R
 
 
:
\\"--//"--//$PQ\
R
R
2
\\"--//"--//
:
:
6
\\"----bmmD.A.A
B
B5
:i&(@AA(566
I
I
I	0RVRWWYY///	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0s
)MMMctj}dt|dzD}dt|dzD}tjd||dS)Nc&g|]}|dzrdpd|zS)r^K:%dzV:A:%dr0.0rs  r 
<listcomp>z6TestSFpatches.test_recursion_limit.<locals>.<listcomp>*HHHA!*(a/HHHr"r^c&g|]}|dzrdpd|zS)r^rzV:B:%dr0rs  r rz6TestSFpatches.test_recursion_limit.<locals>.<listcomp>rr")sysgetrecursionlimitrangerrr)rlimitoldnews    r test_recursion_limitz"TestSFpatches.test_recursion_limitsq%''HHuQwHHHHHuQwHHHc3//;;=====r"ctj}|tt
}|d|dS)Nz"content="text/html; charset=utf-8"rrrrrrassertInr	html_diffoutputs   r test_make_file_default_charsetz,TestSFpatches.test_make_file_default_charsets`$&&	$$%6%A%A%C%C%4%?%?%A%ACC

:FCCCCCr"ctj}|tt
d}|d|dS)Nz
iso-8859-1charsetz'content="text/html; charset=iso-8859-1"rrs   r test_make_file_iso88591_charsetz-TestSFpatches.test_make_file_iso88591_charsetsh$&&	$$%6%A%A%C%C%4%?%?%A%A-9%;;	


?HHHHHr"ctj}|tt
d}|d||d|dS)Nzus-asciirz%content="text/html; charset=us-ascii"z&#305;mpl&#305;c&#305;t)rrrpatch914575_nonascii_from1rpatch914575_nonascii_to1rrs   r 2test_make_file_usascii_charset_with_nonascii_inputz@TestSFpatches.test_make_file_usascii_charset_with_nonascii_inputs}$&&	$$%?%J%J%L%L%=%H%H%J%J-7%99	


=vFFF

/88888r"N)r=r>r?rrrrrr0r"r rsrssf707070r>>>DDDIII99999r"rsc&eZdZdZdZdZdZdS)TestOutputFormatcgd}tj|ddi}|t|ddddgtj|ddi}|t|dddd	gdS)
N)onetwoOriginalCurrentz2005-01-26 23:30:50z2010-04-02 10:20:52linetermrr^z --- Original	2005-01-26 23:30:50z+++ Current	2010-04-02 10:20:52z *** Original	2005-01-26 23:30:50z--- Current	2010-04-02 10:20:52rrWrrcontext_diffrargsudcds    r test_tab_delimiterz#TestOutputFormat.test_tab_delimiters:::

!4
5"
5
5b!A#>=)?	@	@	@
!4
5"
5
5b!A#>=)?	@	@	@	@	@r"cgd}tj|ddi}|t|ddddgtj|ddi}|t|dddd	gdS)
N)rrrrrrrr^z--- Originalz+++ Currentz*** Originalz--- Currentrrs    r &test_no_trailing_tab_on_empty_filedatez7TestOutputFormat.test_no_trailing_tab_on_empty_filedate!s444

!4
5"
5
5b!A#(GHHH

!4
5"
5
5b!A#(GHHHHHr"cbd}tj}||ddd||ddd||ddd||ddd	||d
d
ddS)Na           Each <range> field shall be of the form:
             %1d", <beginning line number>  if the range contains exactly one line,
           and:
            "%1d,%1d", <beginning line number>, <number of lines> otherwise.
           If a range is empty, its beginning line number shall be the number of
           the line just before the range, or 0 if the empty range starts the file.
        r	z3,04rzz4,2r~z4,3rz0,0)r_format_range_unifiedrrspecfmts   r test_range_format_unifiedz*TestOutputFormat.test_range_format_unified)s+Qq5)))Qq3'''Qq5)))Qq5)))Qq5)))))r"cbd}tj}||ddd||ddd||ddd||ddd	||d
d
ddS)Na           The range of lines in file1 shall be written in the following format
           if the range contains two or more lines:
               "*** %d,%d ****
", <beginning line number>, <ending line number>
           and the following format otherwise:
               "*** %d ****
", <ending line number>
           The ending line number of an empty range shall be the number of the preceding line,
           or 0 if the range is at the start of the file.

           Next, the range of lines in file2 shall be written in the following format
           if the range contains two or more lines:
               "--- %d,%d ----
", <beginning line number>, <ending line number>
           and the following format otherwise:
               "--- %d ----
", <ending line number>
        r	rorrrzz4,5r~z4,6r0)r_format_range_contextrrs   r test_range_format_contextz*TestOutputFormat.test_range_format_context:s+Qq3'''Qq3'''Qq5)))Qq5)))Qq3'''''r"N)r=r>r?rrrrr0r"r rrsV
@
@
@III***"(((((r"rc8eZdZdZdZdZdZdZdZdZ	dS)		TestBytesclt|}|D]!}||td|z"dS)Nz.all lines of diff should be bytes, but got: %r)rassertIsInstancebytes)rrilines   r checkzTestBytes.checkVsXDzz	I	ID!!e@4G
I
I
I
I	I	Ir"clddg}ddg}tj}tj}|j}|tj||||tj||||tj|||dd|tj|||dd|tj|||dddd|tj|||dddd|tj||||tj||||tj|||dd|tj|||dd|tj|||dddd|tj|||dddddS)Nhellosandrsandréabs2005s2013)rrWrr
diff_bytes)rr7r8unifiedr{rs      r test_byte_contentzTestBytes.test_byte_content]s
{#
'&&

g !Q//000
g !Q//000	g !Qd;;<<<
g !Qd;;<<<	g !QdGWMMNNN
g !QdGWMMNNN	g !Q//000
g !Q//000
g !Qd;;<<<
g !Qd;;<<<
g !QdGWMMNNN
g !QdGWMMNNNNNr"c(d}d}dg}dg}j}tj}tj}|tj||||||tj|||||fd}gd}	tj|||||d}
||	|
d	}d
}|tj||||||||tj|||||||gd}	tj|||||||d}
||	|
dS)Nsodz.txts	łodz.txtsodz is a city in Poland.sŁodz is a city in Poland.ct|}t|t|t||D]\}}||dSrR)rrlenzip)expectrer7rs    r 
assertDiffz1TestBytes.test_byte_filenames.<locals>.assertDiffsr&\\FS[[#f++666FF++
'
'1  A&&&&
'
'r")s--- odz.txts
+++ łodz.txt@@ -1 +1 @@-odz is a city in Poland.+Łodz is a city in Poland.r")rs
2005-03-18s
2005-03-19)s--- odz.txt	2005-03-18s+++ łodz.txt	2005-03-19rrr)rrrWrr)
rfnafnbr7r8rrr{rrrdateadatebs
`            r test_byte_filenameszTestBytes.test_byte_filenamesys --
01
&&
g !QS99:::
g !QS99:::	'	'	'	'	'


#GQ3cJJJ
66"""
g !QS%GGHHH
g !QS%GGHHH	
	
	
#GQ3UE-0222
66"""""r"c"dg}dg}tj}tj}d}||||||||||||||||||||d}||tj|||||tj|||||tj|||||tj|||dS)Nrhelloz2lines to compare must be str, not bytes (b'hello')z.all arguments must be bytes, not str ('hello'))rrWr_assert_type_errorr)rr7r8rr{rs      r test_mixed_types_contentz"TestBytes.test_mixed_types_contents
J
I&&EA666A666A666A666A(:GQJJJ(:GQJJJ(:GQJJJ(:GQJJJJJr"cbdg}dg}d}d}|dtj||||dS)Nzhello
zohell
sol.txts	ola9.txtz-all arguments must be str, not: b'ol\xe9.txt')rrrW)rr7r8rrs     r test_mixed_types_filenamesz$TestBytes.test_mixed_types_filenamessOK
K< !QS	2	2	2	2	2r"cdg}dg}d}d}|dtjtj||dd||		dg}d	g}t	tj||d
d||dS)Nsfoo
sbar
u1 févu3 févu/all arguments must be bytes, not str ('1 fév')rrzfoo
zbar
r7r8)rrrrWr)rr7r8rrs     r test_mixed_types_datesz TestBytes.test_mixed_types_datess
J
J= 4
q$eU	,	,	,I
IW
!!QS%
?
?@@@@@r"c|t5}t||dddn#1swxYwY||t	|jdSrR)rT	TypeErrorrrstr	exception)rmsg	generatorrctxs     r rzTestBytes._assert_type_errors


y
)
)	#SD!"""	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#c#-0011111s
:>>N)
r=r>r?rrrrrrrr0r"r rrSsIIIOOO83#3#3#jKKK(
2
2
2AAA 22222r"rc,eZdZdZdZdZdZdZdS)TestJunkAPIsczdD]7}|tj|t|8dS)N)#z  z #z# z # r)
assertTruerIS_LINE_JUNKreprrrs  r test_is_line_junk_truez#TestJunkAPIs.test_is_line_junk_truesG6	D	DDOOG066T

CCCC	D	Dr"czdD]7}|tj|t|8dS)N)##z ##z## zabc zabc #zMr. Moose is up!)assertFalserrrr
s  r test_is_line_junk_falsez$TestJunkAPIs.test_is_line_junk_falsesIM	E	EDW1$77dDDDD	E	Er"cdddzdz}|tj|dS)N	i@Br)rrr)r
evil_inputs  r test_is_line_junk_REDOSz$TestJunkAPIs.test_is_line_junk_REDOSs5Wn,
-j99:::::r"czdD]7}|tj|t|8dS)N)r/r)r
rIS_CHARACTER_JUNKrrchars  r test_is_character_junk_truez(TestJunkAPIs.test_is_character_junk_truesG	I	IDOOG5d;;T$ZZHHHH	I	Ir"czdD]7}|tj|t|8dS)N)r7r	r}
)rrrrrs  r test_is_character_junk_falsez)TestJunkAPIs.test_is_character_junk_falsesI6	J	JDW6t<<d4jjIIII	J	Jr"N)r=r>r?rrrrr r0r"r rrsmDDDEEE;;;IIIJJJJJr"rc eZdZdZdZdZdS)TestFindLongestc
tfdfdtdtz
dz
DDS)Nc3 K|]}|vV	dSrRr0)rb_partr7s  r 	<genexpr>z6TestFindLongest.longer_match_exists.<locals>.<genexpr>s?GG66Q;GGGGGGr"c0g|]}||zdzS)r
r0)rrr8ns  r rz7TestFindLongest.longer_match_exists.<locals>.<listcomp>s)EEEqAaA	kNEEEr"rr
)anyrr)rr7r8r(s ```r longer_match_existsz#TestFindLongest.longer_match_existssvGGGGEEEEEE!SVVaZ!^,D,DEEEGGGGG	Gr"cd}d}tj||}|}||jd||jd||jd|||j|j|jz||j|j|jz|||||j|dd}||jd	||jd
||jd|||j|j|jz||j|j|jz|||dd|dd|j|dd
}||jd||jd||jd|||j|j|jz||j|j|jz||||dd|jdS)Nzfoo barzfoo baz barr7r8rr~r^r)aloblor	rzr
)bhir.)	rrfind_longest_matchrr7r8r`rr*rr7r8rmatchs     r test_default_argsz!TestFindLongest.test_default_argss

$qA
.
.
.%%''!$$$!$$$Q'''57EGej$88957EGej$889	;	;	;11!Q
CCDDD%%!%33!$$$!$$$Q'''57EGej$88957EGej$889	;	;	;11!ABB%122
KKLLL%%!%33!$$$!$$$Q'''57EGej$88957EGej$889	;	;	;11!QqsVUZHHIIIIIr"c2d}d}tj||}|dt|dt|}||jd||jd||jd|||j|j|jz||j|j|jz||	|||jdS)Ndabcdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddabcddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddr,rcrz)
rrr1rrr7r8r`rr*r2s     r %test_longest_match_with_popular_charsz5TestFindLongest.test_longest_match_with_popular_charss%

$qA
.
.
.%%aQCFF;;!$$$"%%%Q'''57EGej$88957EGej$889	;	;	;11!Q
CCDDDDDr"N)r=r>r?r*r4r9r0r"r r"r"sLGGGJJJ8
E
E
E
E
Er"r"c(dtj_dS)Nr)rr_default_prefixr0r"r setUpModuler<&s'(G$$$r"c^|tjt|SrR)addTestdoctestDocTestSuiter)loadertestspatterns   r 
load_testsrD*s$	MM'&w//000Lr"__main__)rtest.supportrunittestr?rTestCaserrArKrrrrrrrrrsrrrr"r<rDr=mainr0r"r <module>rJsJ!!!!!!



#/#/#/#/#/H%#/#/#/L-----8$---$+
+
+
+
+
"+
+
+
\""U9U9U9U9U9H%U9U9U9p<(<(<(<(<(x(<(<(<(~N2N2N2N2N2!N2N2N2`JJJJJ8$JJJ*+E+E+E+E+Eh'+E+E+E\)))
zHMOOOOOr"