Ë
    ojß  ã                   ó  — d Z ddlmZ ddlmZ ddlmZ dZ G d„ dej                  «      Z	 G d„ d	ej                  «      Z
 G d
„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Zy)z#
Tests for L{twisted.python.text}.
é    )ÚStringIO)Útext)Úunittesta¬  Every 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
c                   ó8   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zdd„Zy)	Ú	WrapTestsz'
    Tests for L{text.greedyWrap}.
    Nc                 ó–   — d| _         t        j                  «       | _        t	        j
                  t        | j                   «      | _        y )NéH   )Ú	lineWidthÚ
sampleTextÚsplitÚsampleSplitTextr   ÚwordWrapÚoutput©Úselfs    ú8/usr/lib/python3/dist-packages/twisted/test/test_text.pyÚsetUpzWrapTests.setUp   s0   € ØˆŒÜ)×/Ñ/Ó1ˆÔÜ—m‘m¤J°·±Ó?ˆ�ó    c                 óÌ   — g }| j                   D ]!  }|j                  |j                  «       «       Œ# t        |«      }t        | j                  «      }| j                  ||«       y)z.
        Compare the number of words.
        N)r   Úextendr   Úlenr   ÚassertEqual)r   ÚwordsÚlineÚ	wordCountÚsampleTextWordCounts        r   Útest_wordCountzWrapTests.test_wordCount"   sY   € ð ˆØ—K‘Kò 	'ˆDØ�L‰L˜Ÿ™›Õ&ð	'ä˜“Jˆ	Ü! $×"6Ñ"6Ó7Ðà×Ñ˜Ð$7Õ8r   c                 ó¤   — g }| j                   D ]!  }|j                  |j                  «       «       Œ# | j                  | j                  |k(  «       y)z-
        Compare the lists of words.
        N)r   r   r   Ú
assertTruer   )r   r   r   s      r   Útest_wordMatchzWrapTests.test_wordMatch.   sG   € ð ˆØ—K‘Kò 	'ˆDØ�L‰L˜Ÿ™›Õ&ð	'ð
 	�‰˜×,Ñ,°Ñ5Õ6r   c                 ó  — g }| j                   D ]5  }t        |«      | j                  k  rŒ|j                  t        |«      «       Œ7 |r?| j	                  dt        |«      t        | j                   «      | j                  |fz  «       yy)z0
        Check the length of the lines.
        z%%d of %d lines were too long.
%d < %sN)r   r   r
   ÚappendÚfail)r   Úfailuresr   s      r   Útest_lineLengthzWrapTests.test_lineLength:   sz   € ð ˆØ—K‘Kò 	+ˆDÜ�t“9 §¡Ó.Ø—‘¤ D£	Õ*ð	+ñ Ø�I‰IðÜ  ›]¬C°·±Ó,<¸d¿n¹nÈhÐWñXõð r   c                 óp   — d}t        j                  || j                  «      }| j                  |g d¢«       y)z7
        Allow paragraphs delimited by two 
s.
        zet

phone
home.)ÚetÚ zphone home.r(   N)r   r   r
   r   )r   r   Úresults      r   Útest_doubleNewlinezWrapTests.test_doubleNewlineI   s.   € ð *ˆ
Ü—‘˜z¨4¯>©>Ó:ˆØ×Ñ˜Ò!>Õ?r   ©ÚreturnN)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r    r%   r*   © r   r   r   r      s"   „ ñó@ó

9ó
7óô@r   r   c                   ó    — e Zd ZdZdd„Zdd„Zy)Ú	LineTestsz8
    Tests for L{isMultiline} and L{endsInNewline}.
    Nc                 ó¤   — d}t        j                  |«      }| j                  |«       d}t        j                  |«      }| j                  |«       y)zX
        L{text.isMultiline} returns C{True} if the string has a newline in it.
        zThis code
 "breaks."zThis code does not "break."N)r   ÚisMultiliner   ÚassertFalse©r   ÚsÚms      r   Útest_isMultilinezLineTests.test_isMultilineW   sH   € ð $ˆÜ×Ñ˜QÓˆØ�‰˜Ôà)ˆÜ×Ñ˜QÓˆØ×Ñ˜Õr   c                 ó¤   — d}t        j                  |«      }| j                  |«       d}t        j                  |«      }| j                  |«       y)zX
        L{text.endsInNewline} returns C{True} if the string ends in a newline.
        znewline
ÚoldlineN)r   ÚendsInNewliner   r6   r7   s      r   Útest_endsInNewlinezLineTests.test_endsInNewlinec   sH   € ð ˆÜ×Ñ˜qÓ!ˆØ�‰˜ÔàˆÜ×Ñ˜qÓ!ˆØ×Ñ˜Õr   r+   )r-   r.   r/   r0   r:   r>   r1   r   r   r3   r3   R   s   „ ñó
ô
r   r3   c                   ó(   — e Zd ZdZdd„Zdd„Zdd„Zy)ÚStringyStringTestsz*
    Tests for L{text.stringyString}.
    Nc                 óV   — d}t        j                  |«      }| j                  |d«       y)zA
        Tuple elements are displayed on separate lines.
        )ÚaÚbz	(a,
 b,)
N©r   ÚstringyStringr   r7   s      r   Ú
test_tuplezStringyStringTests.test_tupleu   s)   € ð ˆÜ×Ñ˜qÓ!ˆØ×Ñ˜˜MÕ*r   c                 óZ   — ddi}t        j                  |«      }| j                  |d«       y)z>
        Dicts elements are displayed using C{str()}.
        rB   r   z{a: 0}NrD   r7   s      r   Ú	test_dictzStringyStringTests.test_dict}   s-   € ð �!ˆHˆÜ×Ñ˜qÓ!ˆØ×Ñ˜˜HÕ%r   c                 óZ   — ddg}t        j                  |«      }| j                  |d«       y)zO
        List elements are displayed on separate lines using C{str()}.
        rB   rC   z	[a,
 b,]
NrD   r7   s      r   Ú	test_listzStringyStringTests.test_list…   s-   € ð �#ˆJˆÜ×Ñ˜qÓ!ˆØ×Ñ˜˜MÕ*r   r+   )r-   r.   r/   r0   rF   rH   rJ   r1   r   r   r@   r@   p   s   „ ñó+ó&ô+r   r@   c                   ó    — e Zd ZdZdd„Zdd„Zy)Ú
SplitTestsz(
    Tests for L{text.splitQuoted}.
    Nc                 óZ   — d}t        j                  |«      }| j                  g d¢|«       y)z:
        Splitting strings with one-word phrases.
        zThis code "works.")ÚThisÚcodezworks.N©r   ÚsplitQuotedr   ©r   r8   Úrs      r   Útest_oneWordzSplitTests.test_oneWord“   s*   € ð !ˆÜ×Ñ˜QÓˆØ×ÑÒ3°QÕ7r   c                 óZ   — d}t        j                  |«      }| j                  g d¢|«       y )NzThe "hairy monkey" likes pie.)ÚThezhairy monkeyÚlikeszpie.rP   rR   s      r   Útest_multiWordzSplitTests.test_multiWord›   s(   € Ø+ˆÜ×Ñ˜QÓˆØ×ÑÒAÀ1ÕEr   r+   )r-   r.   r/   r0   rT   rX   r1   r   r   rL   rL   Ž   s   „ ñó8ôFr   rL   c                   ó¬   — e Zd Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd	„Z
dd
„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zy)ÚStrFileTestsNc                 ó$   — t        d«      | _        y ©Nzthis is a test string)r   Úior   s    r   r   zStrFileTests.setUp¯   s   € ÜÐ2Ó3ˆ�r   c                  ó   — y )Nr1   r   s    r   ÚtearDownzStrFileTests.tearDown²   s   € Ør   c                 ób   — | j                  t        j                  d| j                  «      «       y )NÚx©r6   r   ÚstrFiler]   r   s    r   Útest_1_fzStrFileTests.test_1_fµ   s   € Ø×ÑœŸ™ c¨4¯7©7Ó3Õ4r   c                 ób   — | j                  t        j                  d| j                  «      «       y )NÚt©r   r   rc   r]   r   s    r   Útest_1_1zStrFileTests.test_1_1¸   ó   € Ø�‰œŸ™ S¨$¯'©'Ó2Õ3r   c                 ób   — | j                  t        j                  d| j                  «      «       y )NÚhrg   r   s    r   Útest_1_2zStrFileTests.test_1_2»   ri   r   c                 ób   — | j                  t        j                  d| j                  «      «       y )NÚirg   r   s    r   Útest_1_3zStrFileTests.test_1_3¾   ri   r   c                 ób   — | j                  t        j                  d| j                  «      «       y )Nr8   rg   r   s    r   Útest_1_4zStrFileTests.test_1_4Á   ri   r   c                 ób   — | j                  t        j                  d| j                  «      «       y )NÚnrg   r   s    r   Útest_1_5zStrFileTests.test_1_5Ä   ri   r   c                 ób   — | j                  t        j                  d| j                  «      «       y )NÚgrg   r   s    r   Útest_1_6zStrFileTests.test_1_6Ç   ri   r   c                 ób   — | j                  t        j                  d| j                  «      «       y )NÚthirg   r   s    r   Útest_3_1zStrFileTests.test_3_1Ê   ó   € Ø�‰œŸ™ U¨D¯G©GÓ4Õ5r   c                 ób   — | j                  t        j                  d| j                  «      «       y )NÚhisrg   r   s    r   Útest_3_2zStrFileTests.test_3_2Í   r{   r   c                 ób   — | j                  t        j                  d| j                  «      «       y )Nzis rg   r   s    r   Útest_3_3zStrFileTests.test_3_3Ð   r{   r   c                 ób   — | j                  t        j                  d| j                  «      «       y )NÚingrg   r   s    r   Útest_3_4zStrFileTests.test_3_4Ó   r{   r   c                 ób   — | j                  t        j                  d| j                  «      «       y )NÚblarb   r   s    r   Útest_3_fzStrFileTests.test_3_fÖ   s   € Ø×ÑœŸ™ e¨T¯W©WÓ5Õ6r   c                 ób   — | j                  t        j                  d| j                  «      «       y )Nzthis is a testrg   r   s    r   Útest_large_1zStrFileTests.test_large_1Ù   s   € Ø�‰œŸ™Ð%5°t·w±wÓ?Õ@r   c                 ób   — | j                  t        j                  d| j                  «      «       y )Nzis a test stringrg   r   s    r   Útest_large_2zStrFileTests.test_large_2Ü   s   € Ø�‰œŸ™Ð%7¸¿¹ÓAÕBr   c                 ób   — | j                  t        j                  d| j                  «      «       y )Nzds jhfsa k fdasrb   r   s    r   Útest_large_fzStrFileTests.test_large_fß   s    € Ø×ÑœŸ™Ð&7¸¿¹ÓAÕBr   c                 ób   — | j                  t        j                  d| j                  «      «       y )Nz-djhsakj dhsa fkhsa s,mdbnfsauiw bndasdf hreewrb   r   s    r   Útest_overlarge_fzStrFileTests.test_overlarge_fâ   s#   € Ø×ÑÜ�L‰LÐHÈ$Ï'É'ÓRõ	
r   c                 ób   — | j                  t        j                  d| j                  «      «       y r\   rg   r   s    r   Ú	test_selfzStrFileTests.test_selfç   s   € Ø�‰œŸ™Ð%<¸d¿g¹gÓFÕGr   c                 ód   — | j                  t        j                  d| j                  d«      «       y )NzThIs is A test STRINGFrg   r   s    r   Útest_insensitivezStrFileTests.test_insensitiveê   s    € Ø�‰œŸ™Ð%<¸d¿g¹gÀuÓMÕNr   r+   )r-   r.   r/   r   r_   rd   rh   rl   ro   rq   rt   rw   rz   r~   r€   rƒ   r†   rˆ   rŠ   rŒ   rŽ   r�   r’   r1   r   r   rZ   rZ   ®   sk   „ ó4óó5ó4ó4ó4ó4ó4ó4ó6ó6ó6ó6ó7óAóCóCó
ó
HôOr   rZ   N)r0   r]   r   Útwisted.pythonr   Útwisted.trialr   r   ÚTestCaser   r3   r@   rL   rZ   r1   r   r   ú<module>r–      s~   ðñõ å Ý "ð€
ô7@�×!Ñ!ô 7@ôt�×!Ñ!ô ô<+˜×*Ñ*ô +ô<F�×"Ñ"ô Fô@=O�8×$Ñ$õ =Or   