ϪfdZddlmZddlmZddlmZdZGddejZ Gdd ejZ Gd d ejZ Gd d ejZ GddejZ y)z# Tests for L{twisted.python.text}. )StringIO)text)unittestaEvery attempt to employ mathematical methods in the study of chemical questions must be considered profoundly irrational and contrary to the spirit of chemistry ... If mathematical analysis should ever hold a prominent place in chemistry - an aberration which is happily almost impossible - it would occasion a rapid and widespread degeneration of that science. -- Auguste Comte, Philosophie Positive, Paris, 1838 c8eZdZdZddZddZddZddZddZy) WrapTestsz' Tests for L{text.greedyWrap}. Ncd|_tj|_t j t|j|_y)NH) lineWidth sampleTextsplitsampleSplitTextrwordWrapoutputselfs 8/usr/lib/python3/dist-packages/twisted/test/test_text.pysetUpzWrapTests.setUps0)//1mmJ? cg}|jD]!}|j|j#t|}t|j}|j ||y)z. Compare the number of words. N)rextendr lenr assertEqual)rwordsline wordCountsampleTextWordCounts rtest_wordCountzWrapTests.test_wordCount"sYKK 'D LL & 'J !$"6"67 $78rcg}|jD]!}|j|j#|j|j|k(y)z- Compare the lists of words. N)rrr assertTruer )rrrs rtest_wordMatchzWrapTests.test_wordMatch.sGKK 'D LL & ' ,,56rcg}|jD]5}t||jkr|jt|7|r?|j dt|t|j|j|fzyy)z0 Check the length of the lines. z%%d of %d lines were too long. %d < %sN)rrr appendfail)rfailuresrs rtest_lineLengthzWrapTests.test_lineLength:szKK +Dt9.D * +  II ]C ,>: !>?rreturnN) __name__ __module__ __qualname____doc__rrr r%r*rrrrs"@ 9 7 @rrc eZdZdZddZddZy) LineTestsz8 Tests for L{isMultiline} and L{endsInNewline}. Ncd}tj|}|j|d}tj|}|j|y)zX L{text.isMultiline} returns C{True} if the string has a newline in it. zThis code "breaks."zThis code does not "break."N)r isMultiliner assertFalsersms rtest_isMultilinezLineTests.test_isMultilineWsH $   Q   )   Q  rcd}tj|}|j|d}tj|}|j|y)zX L{text.endsInNewline} returns C{True} if the string ends in a newline. znewline oldlineN)r endsInNewlinerr6r7s rtest_endsInNewlinezLineTests.test_endsInNewlinecsH    q !     q ! rr+)r-r.r/r0r:r>r1rrr3r3Rs  rr3c(eZdZdZddZddZddZy)StringyStringTestsz* Tests for L{text.stringyString}. NcVd}tj|}|j|dy)zA Tuple elements are displayed on separate lines. )abz (a, b,) Nr stringyStringrr7s r test_tuplezStringyStringTests.test_tupleus)    q ! M*rcZddi}tj|}|j|dy)z> Dicts elements are displayed using C{str()}. rBrz{a: 0}NrDr7s r test_dictzStringyStringTests.test_dict}s-!H   q ! H%rcZddg}tj|}|j|dy)zO List elements are displayed on separate lines using C{str()}. rBrCz [a, b,] NrDr7s r test_listzStringyStringTests.test_lists-#J   q ! M*rr+)r-r.r/r0rFrHrJr1rrr@r@ps+&+rr@c eZdZdZddZddZy) SplitTestsz( Tests for L{text.splitQuoted}. NcZd}tj|}|jgd|y)z: Splitting strings with one-word phrases. zThis code "works.")Thiscodezworks.Nr splitQuotedrrr8rs r test_oneWordzSplitTests.test_oneWords* !   Q  3Q7rcZd}tj|}|jgd|y)NzThe "hairy monkey" likes pie.)Thez hairy monkeylikeszpie.rPrRs rtest_multiWordzSplitTests.test_multiWords( +   Q  A1Err+)r-r.r/r0rTrXr1rrrLrLs8FrrLceZdZddZddZddZddZddZddZddZ dd Z dd Z dd Z dd Z dd ZddZddZddZddZddZddZddZddZy) StrFileTestsNc$td|_yNzthis is a test string)riors rrzStrFileTests.setUps23rcy)Nr1rs rtearDownzStrFileTests.tearDowns rcb|jtjd|jy)Nxr6rstrFiler]rs rtest_1_fzStrFileTests.test_1_fs c47734rcb|jtjd|jy)Ntrrrcr]rs rtest_1_1zStrFileTests.test_1_1  S$''23rcb|jtjd|jy)Nhrgrs rtest_1_2zStrFileTests.test_1_2rircb|jtjd|jy)Nirgrs rtest_1_3zStrFileTests.test_1_3rircb|jtjd|jy)Nr8rgrs rtest_1_4zStrFileTests.test_1_4rircb|jtjd|jy)Nnrgrs rtest_1_5zStrFileTests.test_1_5rircb|jtjd|jy)Ngrgrs rtest_1_6zStrFileTests.test_1_6rircb|jtjd|jy)Nthirgrs rtest_3_1zStrFileTests.test_3_1  UDGG45rcb|jtjd|jy)Nhisrgrs rtest_3_2zStrFileTests.test_3_2r{rcb|jtjd|jy)Nzis rgrs rtest_3_3zStrFileTests.test_3_3r{rcb|jtjd|jy)Ningrgrs rtest_3_4zStrFileTests.test_3_4r{rcb|jtjd|jy)Nblarbrs rtest_3_fzStrFileTests.test_3_fs eTWW56rcb|jtjd|jy)Nzthis is a testrgrs r test_large_1zStrFileTests.test_large_1s  %5tww?@rcb|jtjd|jy)Nzis a test stringrgrs r test_large_2zStrFileTests.test_large_2s  %7ABrcb|jtjd|jy)Nzds jhfsa k fdasrbrs r test_large_fzStrFileTests.test_large_fs  &7ABrcb|jtjd|jy)Nz-djhsakj dhsa fkhsa s,mdbnfsauiw bndasdf hreewrbrs rtest_overlarge_fzStrFileTests.test_overlarge_fs#  LLH$'' R rcb|jtjd|jyr\rgrs r test_selfzStrFileTests.test_selfs  %rs~" 7@!!7@t!!<+**+<F""F@=O8$$=Or