
    h                         S SK Jr   S SKrS SKrSSKJrJrJrJr   " S S5      r	 " S S5      r
 " S	 S
5      r " S S5      rg)    )print_functionN   )
round_tripdedentround_trip_loadround_trip_dumpc                      \ rS rSrS rS r\R                  R                  \	R                  " 5       S:H  SS9S 5       r\R                  R                  \	R                  " 5       S:H  SS9S 5       r\R                  R                  \	R                  " 5       S:H  SS9S	 5       r\R                  R                  \	R                  " 5       S:H  SS9S
 5       rS rS rS rSrg)TestLiteralScalarString   c                     [        S5        g )Nz
        a: abcdefg
        r   selfs    ]/home/james-whalen/.local/lib/python3.13/site-packages/srsly/tests/ruamel_yaml/test_string.pytest_basic_string)TestLiteralScalarString.test_basic_string       	
    c                     [        S5        g )Nz
        a: '12345'
        r   r   s    r   test_quoted_integer_string2TestLiteralScalarString.test_quoted_integer_string!   r   r   JythonzJython throws RepresenterError)reasonc                 *    Sn[        U[        SS9S9  g )Nz2
        a: |
          abc
          def
        zabc
def
aintermediater   dictr   inps     r   test_preserve_string,TestLiteralScalarString.test_preserve_string(   s    

 	3TL%9:r   c                 *    Sn[        U[        SS9S9  g )Nz4
        a: |-
          abc
          def

        zabc
defr   r   r   )r   ss     r   test_preserve_string_strip2TestLiteralScalarString.test_preserve_string_strip4   s    
 	14*#56r   c                 ,    Sn[        U[        SSS9S9  g )NzV
            a: |+
              ghi
              jkl


            b: x
            z
ghi
jkl


x)r   br   r   r!   s     r   test_preserve_string_keep1TestLiteralScalarString.test_preserve_string_keepA   s     	3T,<%DEr   c                 *    Sn[        U[        SS9S9  g )NzT
            a: |+
              ghi
              jkl

            ...
            z	ghi
jkl

r   r   r   r!   s     r    test_preserve_string_keep_at_end8TestLiteralScalarString.test_preserve_string_keep_at_endQ   s     	3TN%;<r   c                     Sn[        U5        g )Nz3
        a: >
          abc
          def

        r   r!   s     r   test_fold_string(TestLiteralScalarString.test_fold_stringa        	3r   c                     Sn[        U5        g )Nz4
        a: >-
          abc
          def

        r   r!   s     r   test_fold_string_strip.TestLiteralScalarString.test_fold_string_stripj   r4   r   c                     [         R                  " [        5       nSn[        U[	        SS9S9  S S S 5        g ! , (       d  f       g = f)NzD
            a: >+
              abc
              def

            z	abc def

r   r   )pytestraisesAssertionErrorr   r    )r   excinfor"   s      r   test_fold_string_keep-TestLiteralScalarString.test_fold_string_keeps   s4    ]]>*gC s)>? +**s	   8
A N)__name__
__module____qualname____firstlineno__r   r   r9   markskipifplatformpython_implementationr#   r'   r,   r/   r2   r6   r=   __static_attributes__r?   r   r   r
   r
      s   

 [[&&(H4/  ;	; [[&&(H4/  7	7 [[&&(H4/  
F	
F [[&&(H4/  
=	
=@r   r
   c                   &    \ rS rSrS rS rS rSrg)TestQuotedScalarString~   c                     Sn[        USS9  g )Nz
        a: 'abc'
        Tpreserve_quotesr   r!   s     r   test_single_quoted_string0TestQuotedScalarString.test_single_quoted_string        	3-r   c                     Sn[        USS9  g )N
        a: "abc"
        TrM   r   r!   s     r   test_double_quoted_string0TestQuotedScalarString.test_double_quoted_string   rQ   r   c                     SnSn[        XS9  g )NrS   z
        a: abc
        )outpr   )r   r"   exps      r   'test_non_preserved_double_quoted_string>TestQuotedScalarString.test_non_preserved_double_quoted_string   s     	3!r   r?   N)r@   rA   rB   rC   rO   rT   rY   rH   r?   r   r   rJ   rJ   ~   s    .."r   rJ   c                   $    \ rS rSrSrS rS rSrg)TestReplace   z$inspired by issue 110 from sandres23c                     SS K n[        S5      n[        USS9nUS   R                  SSS5      n[	        XAR
                  R                  R                  5      (       d   eU[        S5      :X  d   eg )	Nr   zO        foo: |
          foo
          foo
          bar
          foo
        TrM   foobar   z9
        bar
        bar
        bar
        foo
        )srslyr   r   replace
isinstanceruamel_yamlscalarstringLiteralScalarStringr   rb   r&   datasos        r   $test_replace_preserved_scalar_string0TestReplace.test_replace_preserved_scalar_string   s{    
 q$7%[  q1"//<<PPQQQQV
 
 	
 
r   c                     SS K n[        S5      n[        USS9nUS   R                  SSS5      n[	        XAR
                  R                  R                  5      (       d   eUS:X  d   eg )	Nr   z'        foo: "foo foo bar foo"
        TrM   r_   r`   ra   zbar bar bar foo)rb   r   r   rc   rd   re   rf   DoubleQuotedScalarStringrh   s        r   (test_replace_double_quoted_scalar_string4TestReplace.test_replace_double_quoted_scalar_string   sl    

 q$7%[  q1"//<<UUVVVV&&&&r   r?   N)r@   rA   rB   rC   __doc__rk   ro   rH   r?   r   r   r\   r\      s    .
0'r   r\   c                        \ rS rSrS rS rSrg)TestWalkTree   c                     SSK Jn  SSKJn  U" 5       nSUS'   SUS'   U" U5        Sn[	        U5      [        U5      :X  d   eg )	Nr   CommentedMap)	walk_treer   r   zwith
newline
ra   zC        1: a
        2: |
          with
          newline
        )srsly.ruamel_yaml.commentsrw   srsly.ruamel_yaml.scalarstringrx   r   r   )r   rw   rx   ri   rX   s        r   
test_basicTestWalkTree.test_basic   sH    ;<~Q#Q$ t$s333r   c                     SSK Jn  SSKJn  SSKJnJn  SSKJn  SSKJn  U" 5       nSUS'   S	US
'   SUS'   SUS'   U" SU4SU4SU4/5      nU" XxS9  Sn	[        U5      [        U	5      :X  d   eg )Nr   )ordereddictrv   )rx   preserve_literal)rn   )SingleQuotedScalarStringr   r   zwith
new : line
ra   z${abc}   zalmost:mapping   
z${:)mapzv        1: a
        2: |
          with
          new : line
        3: '${abc}'
        4: "almost:mapping"
        )srsly.ruamel_yaml.compatr~   ry   rw   rz   rx   r   rn   r   r   r   )
r   r~   rw   rx   r   dqsqri   mrX   s
             r   test_mapTestWalkTree.test_map   s    8;NQQ~Q&QQ"Q$ 01D":RyIJ$ t$s333r   r?   N)r@   rA   rB   rC   r{   r   rH   r?   r   r   rs   rs      s    4 4r   rs   )
__future__r   r9   rF   	roundtripr   r   r   r   r
   rJ   r\   rs   r?   r   r   <module>r      sN    &   L Kb@ b@J" ".&' &'R'4 '4r   