python (3.11.7)

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

evddlZddlmZmZmZmZmZmZGddejZ	Gdde	Z
Gdde	ZGd	d
e	ZGdde	Z
Gd
de	ZGddejZGddejZGdde	ZedkrejdSdS)N)TextWrapperwrapfilldedentindentshortenc*eZdZdZdZdZdZdZdS)BaseTestCasez5Parent class with utility methods for textwrap tests.c4t|tr[g}tt|D]"}|d|||fz#|rd|nd}n't|trdt|z}|S)Nz  %d: %r
z
  no linesz  %s
)
isinstancelistrangelenappendjoinstrrepr)selftextinresultis    F/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_textwrap.pyshowzBaseTestCase.showsfd##	-F3v;;''
;
;

jAvay>9::::*0BTYYv&&&lFF

$
$	-V,F
c
|||d||d||dS)Nz
expected:
z

but got:
)assertEqualr)rrexpects   rcheckzBaseTestCase.checksU		&!!!!499V#4#4#4
6	7	7	7	7	7rcNt||fi|}|||dSN)rrrtextwidthrkwargsrs      r
check_wrapzBaseTestCase.check_wrap#s3dE,,V,,

66"""""rct|j|}|||d|d|dS)Nz

expected z

but got  )wrapper_splitr)rr#rrs    rcheck_splitzBaseTestCase.check_split'sO$$T***0&&&&:	;	;	;	;	;rN)__name__
__module____qualname____doc__rrr&r*rrr
r
sV??777
###;;;;;rr
ceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dS) WrapTestCasec0td|_dS)N-)r$)rr(rs rsetUpzWrapTestCase.setUp0s",,,rcd}||dgd||dddg||d|gdS)N=Hello there, how are you this fine day?  I'm glad to hear it!Hello there,how are you	this finez	day?  I'mzglad to hearzit!*z'Hello there, how are you this fine day?zI'm glad to hear it!Pr&rr#s  rtest_simplezWrapTestCase.test_simple3szOb   	!	!	!	
bB/1	2	2	2	
b4&)))))rcf|ddg|ddgddS)NFdrop_whitespacer?r4s rtest_empty_stringzWrapTestCase.test_empty_stringDs8Ar"""Ar599999rcl|ddgd|ddgdddS)NrCrD++initial_indentF)rKrFr?r4s r%test_empty_string_with_initial_indentz2WrapTestCase.test_empty_string_with_initial_indentIs>Ar$777Ar$NNNNNrczd}gd}tdd}||}|||||}||d|d}dg}||d	|d
}dg}||d	|d
dS)NzThis is a paragraph that already has
line breaks.  But some of its lines are much longer than the others,
so it needs to be wrapped.
Some lines are 	tabbed too.
What a mess!
)z)This is a paragraph that already has linez'breaks.  But some of its lines are muchz)longer than the others, so it needs to bez-wrapped.  Some lines are  tabbed too.  What azmess!r3Tfix_sentence_endingsrz	Test	default		tabsize.z(        Test    default         tabsize.r>z	Test	custom		tabsize.z     Test    custom      tabsize.)tabsize)rrrrrr&)rr#rr(rs     rtest_whitespacezWrapTestCase.test_whitespaceNsbt<<<d##

66"""d##

6499V,,---,<=b&)))+45b&!44444rctdd}d}dg}||||d}dg}||||d}||||d	}d
g}||||d|_gd}||||d
}gd}||||d|_dg}||||d}dg}||||dS)N<TrNz$A short line. Note the single space.z%A short line.  Note the single space.z Well, Doctor? What do you think?z!Well, Doctor?  What do you think?z Well, Doctor?
What do you think?z)I say, chaps! Anyone for "tennis?"
Hmmph!z+I say, chaps!  Anyone for "tennis?"  Hmmph!)z
I say, chaps!zAnyone for "tennis?"zHmmph!z1And she said, "Go to hell!"
Can you believe that?)zAnd she said, "Go tozhell!"  Can youz
believe that?z2And she said, "Go to hell!"  Can you believe that?zFile stdio.h is nice.)rrrr$)rr(r#rs    rtest_fix_sentence_endingsz&WrapTestCase.test_fix_sentence_endingsnsbt<<<
69:

7<<%%v...
256

7<<%%v...2

7<<%%v...;?@

7<<%%v...
DDD

7<<%%v...C###	

7<<%%v...
FG

7<<%%v...&)*

7<<%%v.....rcld}||dddg||ddgdS)NzThis is a
short paragraph.rUzThis is a shortz
paragraph.(zThis is a short paragraph.r?r@s  rtest_wrap_shortzWrapTestCase.test_wrap_shortsN-b#4#/#1	2	2	2b#?"@AAAAArcnd}||ddg||ddgddS)NzThis is a short line.z(1) This is a short line.z(1) rJr?r@s  rtest_wrap_short_1linez"WrapTestCase.test_wrap_short_1linesU'b#:";<<<b#>"?'-		/	/	/	/	/rcd}||dddg||dddg||dddgd	d
}||d|d
||||ddg|ddg|ddd
dS)NzBthis-is-a-useful-feature-for-reformatting-posts-from-tim-peters'lyrXzthis-is-a-useful-feature-for-z%reformatting-posts-from-tim-peters'ly)r=z*this-is-a-useful-feature-for-reformatting-zposts-from-tim-peters'lyzLthis-|is-|a-|useful-|feature-|for-|reformatting-|posts-|from-|tim-|peters'ly|Fbreak_long_wordsze-mailzJelly-Ozhalf-a-crownzhalf-|a-|crown)r&splitr*rr#rs   rtest_hyphenatedzWrapTestCase.test_hyphenateds&8	
b8@B	C	C	C	
b8@B	C	C	C	
bE35	6	6	6>?DuSzz	a%@@@v&&&H:...YK000)9)?)?)D)DEEEEErcd}||dgd||dddg||d|d	d
}||ddd
g||ddd
g||dd
g||d|d	dS)NzRPython 1.0.0 was released on 1994-01-26.  Python 1.0.1 was
released on 1994-02-15.r[)zPython 1.0.0 was released onz1994-01-26.  Python 1.0.1 waszreleased on 1994-02-15.rXz(Python 1.0.0 was released on 1994-01-26.z(Python 1.0.1 was released on 1994-02-15.r`FrazI do all my shopping at 7-11.zI do all my shopping atz7-11.)r&rcr@s  rtest_hyphenated_numbersz$WrapTestCase.test_hyphenated_numberss*	
b#>#>#>	?	?	?	
b#M#M#O	P	P	PaFFF.b#<#*#,	-	-	-b#<#*#,	-	-	-b#B"CDDDaFFFFFrcd}||dddg||dddgdd	g}||d
|||d|||ddgd
}gd}||d|||d|gd}||d|||d|ddg}||d|||d|ddg}||d|||d|d}gd}|||d}gd}|||dS)Nz$Em-dashes should be written -- thus.rgzEm-dashes should bezwritten -- thus.rizEm-dashes should be writtenz-- thus.zEm-dashes should be written --zthus.r[#$z%You can also do--this or even---this.)zYou can also doz--this or even---this.)zYou can also do--zthis or even---this.zYou can also do--this or evenrnz You can also do--this or even---rq z7Here's an -- em-dash and--here's another---and another!)zHere's anrv--rvzem-dashrvandrxzhere'srvanotherz---rzrvzanother!zand then--bam!--he was gone)rzrvthenrxzbam!rxhervwasrvgoner&r*rds   rtest_em_dashzWrapTestCase.test_em_dashs5b.+-	.	.	.	
b6#%	&	&	&3b&)))b&)))b?@	B	B	B
7	
b&)))b&)))	
b&)))b&)))1b&)))b&)))4b&)))b&)))I***	
v&&&,111v&&&&&rcd}||dgd||dgdddg}||d|||d	|||d
|||d|dd
g}||d|||d|ddg}||d|d}gd}|||dS)Nz<You should use the -n option, or --dry-run in its long form.rU)zYou should use thez-n option, or --dry-zrun in its longzform.)zYou should use the -nzoption, or --dry-runin its long form.z You should use the -n option, orz--dry-run in its long form.ru"rl&z'You should use the -n option, or --dry-zrun in its long form.'r^z*You should use the -n option, or --dry-runrr=z'the -n option, or --dry-run or --dryrun)thervz-nrvzoption,rvorrvz--dry-runrvrrvz--dryrunrrds   rtest_unix_optionszWrapTestCase.test_unix_optionssUNb"""	#	#	#
	
b...	/	/	/5/1b&)))b&)))b&)))b&)));)+b&)))b&)))>%'b&)))9???v&&&&&rcR|dgd|dgd|dgd|ddg|ddg|d	d
dg|dgd
dS)Nzwhat the--hey!)whatrvrrxzhey!z
what the--)rrvzthe--zwhat the--.)rrvzthe--.z	--text--.z--optionz--option-opt	--option-optzfoo --option-opt bar)foorvrrrvbarr*r4s rtest_funky_hyphenszWrapTestCase.test_funky_hyphens3s	
)+M+M+MNNN'='='=>>>(?(?(?@@@{m444	
j\222+u)=>>>/EEE	G	G	G	G	Grc|dgd|dgd|dgd|dgd|d	d
ddS)Nzthe 'wibble-wobble' widget)rrvz'wibble-zwobble'rvwidgetzthe "wibble-wobble" widget)rrvz"wibble-zwobble"rvrzthe (wibble-wobble) widget)rrvz(wibble-zwobble)rvrzthe ['wibble-wobble'] widget)rrvz	['wibble-zwobble']rvrzwhat-d'you-call-it.zwhat-d'you-|call-|it.r_)r*rcr4s rtest_punct_hyphenszWrapTestCase.test_punct_hyphensDs	
5KKK	M	M	M5KKK	M	M	M5KKK	M	M	M7MMM	O	O	O	
.066s;;	=	=	=	=	=rc|dgd|dgd|dgddS)Nzfoo (--option) bar)rrvz
(--option)rvrz
foo (bar) baz)rrvz(bar)rvbazzblah (ding dong), wubba)blahrvz(dingrvzdong),rvwubbarr4s rtest_funky_parenszWrapTestCase.test_funky_parensYs	
-???	A	A	A	
:::	<	<	<2(((	)	)	)	)	)rc@d}||dgdddS)Nz0 This is a    sentence with     much whitespace.
)z
 This is a    z	sentence z	with     z
much whitezspace.FrEr?r@s  rtest_drop_whitespace_falsez'WrapTestCase.test_drop_whitespace_falsefsEBb>>>(-		/	/	/	/	/rc:|dddgddS)N   rDFrEr?r4s r*test_drop_whitespace_false_whitespace_onlyz7WrapTestCase.test_drop_whitespace_false_whitespace_onlyos$q5'5AAAAArc<|dddgdddS)NrrD     F  )rFrKr?r4s r6test_drop_whitespace_false_whitespace_only_with_indentzCWrapTestCase.test_drop_whitespace_false_whitespace_only_with_indentss6	
q7)U'+		-	-	-	-	-rc4|ddgdS)NrrDr?r4s r$test_drop_whitespace_whitespace_onlyz1WrapTestCase.test_drop_whitespace_whitespace_onlyysa$$$$$rcld}||ddg||dddgdS)Nz, This is a sentence with leading whitespace.2r[z This is a sentence withzleading whitespace.r?r@s  r'test_drop_whitespace_leading_whitespacez4WrapTestCase.test_drop_whitespace_leading_whitespace}s^
>bGH	J	J	Jb35JK	M	M	M	M	Mrcrd}||dgdd||dddgdS)Nzabcd    efghrD)abcdrefghFrErrr?r@s  r$test_drop_whitespace_whitespace_linez1WrapTestCase.test_drop_whitespace_whitespace_linesUa!9!9!9(-		/	/	/a&&!122222rc8|ddgddS)NrrDrIrJr?r4s r0test_drop_whitespace_whitespace_only_with_indentz=WrapTestCase.test_drop_whitespace_whitespace_only_with_indents$	
aD99999rc>|ddddgdddS)Nz	abcd efghrDz  abcdz  efghrrKsubsequent_indentr?r4s r&test_drop_whitespace_whitespace_indentz3WrapTestCase.test_drop_whitespace_whitespace_indents>	
Q8(<'+t		E	E	E	E	Ercnd}|j|}||gddS)Nz0Hello there -- you goof-ball, use the -b option!)Hellorvtherervrxrvyourvzgoof-zball,rvuservrrvz-brvzoption!)r(r)r)rr#rs   r
test_splitzWrapTestCase.test_splitsXB$$T**

6KKK	L	L	L	L	Lrcvd}||dddgd||dddgd	dS)
Nz
yaba daba-doorz
yaba daba-dooTbreak_on_hyphensyabazdaba-dooFr?r@s  rtest_break_on_hyphensz"WrapTestCase.test_break_on_hyphensscb<"7)-		/	/	/b6:"6).		0	0	0	0	0rcd}|tt|d|tt|ddS)NzWhatever, it doesn't matter.r)assertRaises
ValueErrorrr@s  rtest_bad_widthzWrapTestCase.test_bad_widthsA-*dD!444*dD"55555rc<d}||dgddS)NuDie Empfänger-Auswahl
)DieuEmpfänger-Auswahlr?r@s  rtest_no_split_at_umlautz$WrapTestCase.test_no_split_at_umlauts*)b"E"E"EFFFFFrc<d}||dddgdS)Nuaa ää-ääuaa ää-uäär?r@s  rtest_umlaut_followed_by_dashz)WrapTestCase.test_umlaut_followed_by_dashs(%a.*!=>>>>>rcvd}||dgdd||dgdddS)Nu,This is a sentence with non-breaking space.rU)This is a sentence	with non-ubreaking space.Tr)rwithunon-breaking space.Fr?r@s  rtest_non_breaking_spacez$WrapTestCase.test_non_breaking_spaces|Mb===*.			/	/	/	
bAAA*/			0	0	0	0	0rcvd}||dgdd||dgdddS)Nu-This is a sentence with non-breaking space.rU)rrubreaking space.Tr)rrunon-breaking space.Fr?r@s  rtest_narrow_non_breaking_spacez+WrapTestCase.test_narrow_non_breaking_spaces2	
bDDD*.			/	/	/	
bHHH*/			0	0	0	0	0rN)!r+r,r-r5rArGrLrRrVrYr\rerjrrrrrrrrrrrrrrrrrrrrr/rrr1r1.s---***":::
OOO
555@(/(/(/TBBB///FFF4GGG(4'4'4'n ' ' 'DGGG"===*)))///BBB---%%%	M	M	M333:::EEE	L	L	L000666GGG???
0
0
000000rr1c*eZdZdZdZdZdZdZdS)MaxLinesTestCaser7c||jddgd||jddgd||jdddgd||jd	dd
gd||jd|jgd||jdgdd
dS)Nr8zHello [...]r	max_linesr`r:z	how [...]rz
how are [...]r>r9rDr&r#r4s rrAzMaxLinesTestCase.test_simples	2&"#		%	%	%	
	2&"#		%	%	%	
	2'$&"#		%	%	%	
	2'(*"#		%	%	%	
	2	{a@@@	2   #$		%	%	%	%	%rc||jdgdd||jdddgd||jd	zdgd
ddS)Nr8)r:r;r<z
day? [...]rPrrDr[...]rz
          r9rr4s rtest_spaceszMaxLinesTestCase.test_spacess	2'''#$		%	%	%	
	1  ""#		%	%	%
	
	H,b   #$		%	%	%	%	%rc	||jddgdd||jdddgdd|t5t	|jd	d
dddddn#1swxYwY|t5t	|jd	d
dd
dddn#1swxYwY||jd	ddgdd
dd||jd	dgddd
d||jd|jgddS)Nr8zHello...r`z...rplaceholderr:z
how are...rrprz [truncated]...)rKrr)rrrz    Hello there,z  [truncated]...r)rrKrrr>a........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................r)r&r#rrrr4s rtest_placeholderz!MaxLinesTestCase.test_placeholders	2#"#$)		+	+	+	
	2'%'"#$)			+	+	+

z
*
*	=	=Bv*;
=
=
=
=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=

z
*
*	=	=B&*;
=
=
=
=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	
	2++-"#'-*.$5
		7	7	7	
	2+,"#'+*0$5		7	7	7	
	2	{
KKKKKs$BB	B'C

CCcBd}||dddgdddS)Nz1Good grief Python features are advancing quickly!r8z
Good griefzPython*****z*****rr?r@s  rtest_placeholder_backtrackz+MaxLinesTestCase.test_placeholder_backtrack2sA
Cb%}5"#$+		-	-	-	-	-rN)r+r,r-r#rArrrr/rrrrsYJD%%%2%%%.LLL@	-	-	-	-	-rrc&eZdZdZdZdZdZdS)LongWordTestCasec:t|_d|_dS)Nz]Did you say "supercalifragilisticexpialidocious?"
How *do* you spell that odd word, anyways?
)rr(r#r4s rr5zLongWordTestCase.setUp?s"}}			rc||jdgd||jdddg|ddgdd	
||jdgddS)
Nr[)zDid you say "supercalifragiliszticexpialidocious?" How *do*zyou spell that odd word,anyways?rz1Did you say "supercalifragilisticexpialidocious?"z*How *do* you spell that odd word, anyways?z----------hellor)z
----------z               hz               e               lrz               oz               )rr8)	Did you say "supercalifragilisticexpzialidocious?z
" How *do*z	you spellzthat oddzword,rrr4s rtest_break_longz LongWordTestCase.test_break_longFs	
	2%%%	&	&	&
	
	2LEG	H	H	H	
----3		4	4	4	
	2%%%		&		&		&		&		&rcd|j_d|j_gd}|j|j}|||t|jdd}|||dS)Nrr[)zDid you sayz%"supercalifragilisticexpialidocious?"zHow *do* you spell that oddzword, anyways?)r$rb)r(rbr$rr#rrrrs   rtest_nobreak_longz"LongWordTestCase.test_nobreak_longjs()%
""49--

66"""dirA>>>

66"""""rcF||jdgdddS)Nr8)rrrrrPrrr4s rtest_max_lines_longz$LongWordTestCase.test_max_lines_longzsA	2"""#$		%	%	%	%	%rN)r+r,r-r5rrrr/rrrr>sQ"&"&"&H### %%%%%rrc,eZdZdZdZdZdZdZdS)LongWordWithHyphensTestCasecHt|_d|_d|_dS)NzOWe used enyzme 2-succinyl-6-hydroxy-2,4-cyclohexadiene-1-carboxylate synthase.
zC1234567890-1234567890--this_is_a_very_long_option_indeed-good-bye"
)rr(text1text2r4s rr5z!LongWordWithHyphensTestCase.setUps#"}}



rcddg}||jd|gd}||jd|gd}||jd|dS)Nz(We used enyzme 2-succinyl-6-hydroxy-2,4-z&cyclohexadiene-1-carboxylate synthase.r)
We usedz	enyzme 2-z	succinyl-z
6-hydroxy-z2,4-
cyclohexadziene-1-
carboxylate	synthase.r
1234567890z
-123456789z
0--this_is
_a_very_lo
ng_option_zindeed-z	good-bye"r&rrrexpecteds  rtest_break_long_words_on_hyphenz;LongWordWithHyphensTestCase.test_break_long_words_on_hyphens><>
B111MMM
B111:::
B11111rcddg}||jd|dgd}||jd|dgd}||jd|dS)	Nz2We used enyzme 2-succinyl-6-hydroxy-2,4-cyclohexadziene-1-carboxylate synthase.rFr)rz
enyzme 2-sz
uccinyl-6-z
hydroxy-2,z
4-cyclohexz
adiene-1-c
arboxylaterrrrrs  r#test_break_long_words_not_on_hyphenz?LongWordWithHyphensTestCase.test_break_long_words_not_on_hyphensH24
B5IIIKKK
B5III:::
B11111rcgd}||jd|dgd}||jd|dgd}||jd|dS)NzWe used enyzme52-succinyl-6-hydroxy-2,4-cyclohexadiene-1-carboxylaterrFrarenyzmerrrrrrs  r'test_break_on_hyphen_but_not_long_wordszCLongWordWithHyphensTestCase.test_break_on_hyphen_but_not_long_wordss!!!	

B5III!!!	

B5III:::
B11111rcgd}||jd|ddgd}||jd|ddgd}||jd|dS)NrrF)rbrrrrrrs  r*test_do_not_break_long_words_or_on_hyphenszFLongWordWithHyphensTestCase.test_do_not_break_long_words_or_on_hyphenss!!!	

B).).		0	0	0!!!	

B).).		0	0	0:::
B11111rN)r+r,r-r5r	rrrr/rrrrs_222222222"22222rrc&eZdZdZdZdZdZdS)IndentTestCasescd|_dS)NznThis paragraph will be filled, first without any indentation,
and then with some (including a hanging indent).)r#r4s rr5zIndentTestCases.setUps4			rc`d}t|jd}|||dS)NznThis paragraph will be filled, first
without any indentation, and then with
some (including a hanging indent).rXrr#rrs   r	test_fillzIndentTestCases.test_fills6&
di$$

66"""""rcgd}t|jdd}|||d|}t	|jdd}|||dS)N)z#     This paragraph will be filled,z'first without any indentation, and thenz'with some (including a hanging indent).rXrrJr)rr#rrrrs   rtest_initial_indentz#IndentTestCases.test_initial_indents===diG<<<

66"""6""diG<<<

66"""""rcfd}t|jddd}|||dS)Nz~  * This paragraph will be filled, first
    without any indentation, and then
    with some (including a hanging
    indent).rXz  * rrrrs   rtest_subsequent_indentz&IndentTestCases.test_subsequent_indentsGdi%+vGGG

66"""""rN)r+r,r-r5rrrr/rrrrsP444	#	#	#########rrc8eZdZdZdZdZdZdZdZdZ	dS)	DedentTestCasecL||t|dS)z,assert that dedent() has no effect on 'text'Nrrr@s  rassertUnchangedzDedentTestCase.assertUnchangeds$vd||,,,,,rcd}||d}||d}||d}||dS)Nz,Hello there.
How are you?
Oh good, I'm glad.zHello there.

Boo!z Hello there.
  This is indented.zHello there.

  Boo!
)r#r@s  rtest_dedent_nomarginz#DedentTestCase.test_dedent_nomarginsr?T"""&T"""3T"""*T"""""rcd}d}||t|d}d}||t|d}d}||t|dS)Nz'  Hello there.
  How are ya?
  Oh good.z!Hello there.
How are ya?
Oh good.z)  Hello there.

  How are ya?
  Oh good.
z#Hello there.

How are ya?
Oh good.
z+  Hello there.
  
  How are ya?
  Oh good.
r"rds   rtest_dedent_evenzDedentTestCase.test_dedent_evens:6...?:...A:.....rcd}d}||t|d}d}||t|d}d}||t|dS)NzK        def foo():
            while 1:
                return foo
        z+def foo():
    while 1:
        return foo
z  Foo
    Bar

   Baz
zFoo
  Bar

 Baz
z  Foo
    Bar
 
   Baz
r"rds   rtest_dedent_unevenz!DedentTestCase.test_dedent_uneven%s

	
...,'...-'.....rcd}d}||t|d}d}||t|d}d}||t|dS)Nz     Foo
    Bar
z	 Foo
Bar
z     Foo

    Bar
z
 Foo

Bar
z     Foo
    
    Bar
r"rds   rtest_dedent_decliningz$DedentTestCase.test_dedent_declining=s~$...' ...+ .....rcd}d}||t|||t|dS)Nz  hello	there
  how are	you?zhello	there
how are	you?r"rds   r"test_dedent_preserve_internal_tabsz1DedentTestCase.test_dedent_preserve_internal_tabsNsL0....	
00000rcd}||d}||d}d}||t|d}||t|d}||t|d}d}||t|d	}d
}||t|dS)Nz  hello there
	how are you?z!        hello there
	how are you?z	hello there
	how are you?zhello there
how are you?z  	hello there
  	how are you?z"  	  hello there
  	  how are you?z   	hello there
  	  how are you?zhello there
  how are you?z2  	hello there
   	how are you?
 	I'm fine, thanksz/ 	hello there
  	how are you?
	I'm fine, thanks)r#rrrds   r test_dedent_preserve_margin_tabsz/DedentTestCase.test_dedent_preserve_margin_tabsZs.T"""5T"""/,...2...6...4....IG.....rN)
r+r,r-r#r%r'r)r+r-r/r/rrr r s}---###"/// ///0///"111/////rr c^eZdZdZedzZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdS)IndentTestCase)Hi.
This is a test.
Testing.zHi.
This is a test.

Testing.z
Hi.
This is a test.
Testing.
) Hi.
This is a test.
Testing.
z#
Hi.
This is a test.

Testing.

cb|jD]&}|t|d|'dSNrCCASESrrr@s  rtest_indent_nomargin_defaultz+IndentTestCase.test_indent_nomargin_defaults@J	5	5DVD"--t4444	5	5rcd|jD]'}|t|dd|(dSr5r6r@s  r%test_indent_nomargin_explicit_defaultz4IndentTestCase.test_indent_nomargin_explicit_defaultsDJ	;	;DVD"d33T::::	;	;rcjd}|jD]'}|t|d||(dS)NcdSNTr/lines r<lambda>z?IndentTestCase.test_indent_nomargin_all_lines.<locals>.<lambda>rrCr6r	predicater#s   rtest_indent_nomargin_all_linesz-IndentTestCase.test_indent_nomargin_all_linessP&%	J	@	@DVD"i88$????	@	@rcjd}|jD]'}|t|d||(dS)NcdS)NFr/r>s rr@z5IndentTestCase.test_indent_no_lines.<locals>.<lambda>srrr6rBs   rtest_indent_no_linesz#IndentTestCase.test_indent_no_linessN&&	J	D	DDVD&)<<dCCCC	D	Drc	||jD]3}|tt|d|4dS)NrROUNDTRIP_CASESrrrr@s  rtest_roundtrip_spacesz$IndentTestCase.test_roundtrip_spacesM(	A	ADVF4$8$8994@@@@	A	Arc	||jD]3}|tt|d|4dS)Nz		rIr@s  rtest_roundtrip_tabsz"IndentTestCase.test_roundtrip_tabsrLrc	||jD]3}|tt|d|4dS)Nz 	  	 rIr@s  rtest_roundtrip_mixedz#IndentTestCase.test_roundtrip_mixedsM(	E	EDVF4$<$<==tDDDD	E	Ercd}d}t|j|D])\}}|t|||*dSNr)"  Hi.
  This is a test.
  Testing.z#  Hi.
  This is a test.

  Testing.z$
  Hi.
  This is a test.
  Testing.
&  Hi.
  This is a test.
  Testing.
z)
  Hi.
  This is a test.

  Testing.

zipr7rrrprefixrr#rs     rtest_indent_defaultz"IndentTestCase.test_indent_defaults\
 
H55	;	;LD&VD&116::::	;	;rcd}d}t|j|D]*\}}|t||d|+dSrRrUrWs     rtest_indent_explicit_defaultz+IndentTestCase.test_indent_explicit_defaultsb
 
H55	A	ALD&VD&$77@@@@	A	Arcd}d}d}t|j|D]*\}}|t||||+dS)Nr)rSz%  Hi.
  This is a test.
  
  Testing.z&  
  Hi.
  This is a test.
  Testing.
rTz/  
  Hi.
  This is a test.
  
  Testing.
  
cdSr=r/r>s rr@z6IndentTestCase.test_indent_all_lines.<locals>.<lambda>rArrUrrXrrCr#rs      rtest_indent_all_linesz$IndentTestCase.test_indent_all_linessj
&%	
H55	F	FLD&VD&)<<fEEEE	F	Frcd}d}d}t|j|D]*\}}|t||||+dS)Nr)r2zHi.
This is a test.
  
Testing.z   
Hi.
This is a test.
Testing.
r3z)  
Hi.
This is a test.
  
Testing.
  
c,|Sr!)stripr>s rr@z8IndentTestCase.test_indent_empty_lines.<locals>.<lambda>sTZZ\\!1rrUr^s      rtest_indent_empty_linesz&IndentTestCase.test_indent_empty_linessj
21	
H55	F	FLD&VD&)<<fEEEE	F	FrN)r+r,r-rJr7r8r:rDrGrKrNrPrYr[r_rcr/rrr1r1xs
O

E555
;;;@@@DDDAAA
AAA
EEE
;;;$AAA$FFF&FFFFFrr1c8eZdZdZdZdZdZdZdZdZ	dS)	ShortenTestCasecNt||fi|}|||dSr!)rrr"s      r
check_shortenzShortenTestCase.check_shortens3u////

66"""""rcd}||dd||t||||t|dz
ddS)N<Hello there, how are you this fine day? I'm glad to hear it!zHello there, [...]r`z9Hello there, how are you this fine day? I'm glad to [...]rgrr@s  rrAzShortenTestCase.test_simplessM4%9:::4TD1114TQ
 	!	!	!	!	!rc>d}||ddd||ddd||ddd	||t||d||t|d
z
dddS)NrirrzHello there,$$z$$rrjzHello there, how$$zHello there, $$z $$r`z:Hello there, how are you this fine day? I'm glad to hear$$rkr@s  rrz ShortenTestCase.test_placeholdersM4%54HHH4%9tLLL4%6EJJJ4TDdCCC4TQ
!.2		4	4	4	4	4rc4|ddddS)NrCrDrgr4s rrGz!ShortenTestCase.test_empty_strings 2q"%%%%%rcd}||dd||dd|ddd|dd	d
|ddddS)
Nz[
            This is a  paragraph that  already has
            line breaks and 	 tabs too.>z>This is a paragraph that already has line breaks and tabs too.=z:This is a paragraph that already has line breaks and [...]zhello      world!  r8zhello world!zhello [...]rrrnr@s  rrRzShortenTestCase.test_whitespaces,	
44	5	5	5	
40	1	1	1	
0"nEEE0"mDDD	
0"g>>>>>rctddd|t5tdddddddS#1swxYwYdS)Nxxxxxxxxxxxxxxxxxxxxz(......))r$rz	(.......))rrrr4s r$test_width_too_small_for_placeholderz4ShortenTestCase.test_width_too_small_for_placeholder.sz::::


z
*
*	@	@HA;????	@	@	@	@	@	@	@	@	@	@	@	@	@	@	@	@	@	@sA

AAc4|ddddS)NHelloorrnr4s r-test_first_word_too_long_but_placeholder_fitsz=ShortenTestCase.test_first_word_too_long_but_placeholder_fits3s 8Q00000rN)
r+r,r-rgrArrGrRrvrzr/rrreres###!!!	4	4	4&&&???$@@@
11111rre__main__)unittesttextwraprrrrrrTestCaser
r1rrrrr r1rer+mainr/rr<module>rs)EEEEEEEEEEEEEEEE;;;;;8$;;;<n0n0n0n0n0<n0n0n0b
\-\-\-\-\-|\-\-\-~B%B%B%B%B%B%B%B%JF2F2F2F2F2,F2F2F2P.#.#.#.#.#l.#.#.#fv/v/v/v/v/X&v/v/v/tCFCFCFCFCFX&CFCFCFL6161616161l616161rzHMOOOOOr