
    i                         d dl mZ 	 d dlZd dlZddlmZmZmZmZ  G d d      Z	 G d d      Z
 G d	 d
      Z G d d      Zy)    )print_functionN   )
round_tripdedentround_trip_loadround_trip_dumpc                      e Zd Zd Zd Zej                  j                   ej                         dk(  d      d        Z
ej                  j                   ej                         dk(  d      d        Zej                  j                   ej                         dk(  d      d        Zej                  j                   ej                         dk(  d      d	        Zd
 Zd Zd Zy)TestLiteralScalarStringc                     t        d       y )Nz
        a: abcdefg
        r   selfs    t/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/srsly/tests/ruamel_yaml/test_string.pytest_basic_stringz)TestLiteralScalarString.test_basic_string       	
    c                     t        d       y )Nz
        a: '12345'
        r   r   s    r   test_quoted_integer_stringz2TestLiteralScalarString.test_quoted_integer_string!   r   r   JythonzJython throws RepresenterError)reasonc                 6    d}t        |t        d             y )Nz2
        a: |
          abc
          def
        zabc
def
aintermediater   dictr   inps     r   test_preserve_stringz,TestLiteralScalarString.test_preserve_string(   s    

 	3TL%9:r   c                 6    d}t        |t        d             y )Nz4
        a: |-
          abc
          def

        zabc
defr   r   r   )r   ss     r   test_preserve_string_stripz2TestLiteralScalarString.test_preserve_string_strip4   s    
 	14*#56r   c                 8    d}t        |t        dd             y )NzV
            a: |+
              ghi
              jkl


            b: x
            z
ghi
jkl


x)r   br   r   r   s     r   test_preserve_string_keepz1TestLiteralScalarString.test_preserve_string_keepA   s     	3T,<%DEr   c                 6    d}t        |t        d             y )NzT
            a: |+
              ghi
              jkl

            ...
            z	ghi
jkl

r   r   r   r   s     r    test_preserve_string_keep_at_endz8TestLiteralScalarString.test_preserve_string_keep_at_endQ   s     	3TN%;<r   c                     d}t        |       y )Nz3
        a: >
          abc
          def

        r   r   s     r   test_fold_stringz(TestLiteralScalarString.test_fold_stringa        	3r   c                     d}t        |       y )Nz4
        a: >-
          abc
          def

        r   r   s     r   test_fold_string_stripz.TestLiteralScalarString.test_fold_string_stripj   r,   r   c                     t        j                  t              5 }d}t        |t	        d             d d d        y # 1 sw Y   y xY w)NzD
            a: >+
              abc
              def

            z	abc def

r   r   )pytestraisesAssertionErrorr   r   )r   excinfor   s      r   test_fold_string_keepz-TestLiteralScalarString.test_fold_string_keeps   sA    ]]>* 	@gC s)>?	@ 	@ 	@s	   =AN)__name__
__module____qualname__r   r   r0   markskipifplatformpython_implementationr    r#   r'   r)   r+   r.   r4    r   r   r
   r
      s   

 [[&&&(H4/  ;	; [[&&&(H4/  7	7 [[&&&(H4/  
F	
F [[&&&(H4/  
=	
=@r   r
   c                       e Zd Zd Zd Zd Zy)TestQuotedScalarStringc                 "    d}t        |d       y )Nz
        a: 'abc'
        Tpreserve_quotesr   r   s     r   test_single_quoted_stringz0TestQuotedScalarString.test_single_quoted_string        	3-r   c                 "    d}t        |d       y )N
        a: "abc"
        Tr@   r   r   s     r   test_double_quoted_stringz0TestQuotedScalarString.test_double_quoted_string   rC   r   c                 &    d}d}t        ||       y )NrE   z
        a: abc
        )outpr   )r   r   exps      r   'test_non_preserved_double_quoted_stringz>TestQuotedScalarString.test_non_preserved_double_quoted_string   s     	3S!r   N)r5   r6   r7   rB   rF   rJ   r<   r   r   r>   r>   ~   s    .."r   r>   c                       e Zd ZdZd Zd Zy)TestReplacez$inspired by issue 110 from sandres23c                     dd l }t        d      }t        |d      }|d   j                  ddd      }t	        ||j
                  j                  j                        sJ |t        d      k(  sJ y )	Nr   zO        foo: |
          foo
          foo
          bar
          foo
        Tr@   foobar   z9
        bar
        bar
        bar
        foo
        )srslyr   r   replace
isinstanceruamel_yamlscalarstringLiteralScalarStringr   rQ   r"   datasos        r   $test_replace_preserved_scalar_stringz0TestReplace.test_replace_preserved_scalar_string   sz    
 q$7%[  q1"e//<<PPQQQV
 
 	
 
r   c                     dd l }t        d      }t        |d      }|d   j                  ddd      }t	        ||j
                  j                  j                        sJ |dk(  sJ y )	Nr   z'        foo: "foo foo bar foo"
        Tr@   rN   rO   rP   zbar bar bar foo)rQ   r   r   rR   rS   rT   rU   DoubleQuotedScalarStringrW   s        r   (test_replace_double_quoted_scalar_stringz4TestReplace.test_replace_double_quoted_scalar_string   sk    

 q$7%[  q1"e//<<UUVVV&&&&r   N)r5   r6   r7   __doc__rZ   r]   r<   r   r   rL   rL      s    .
0'r   rL   c                       e Zd Zd Zd Zy)TestWalkTreec                     ddl m} ddlm}  |       }d|d<   d|d<    ||       d}t	        |      t        |      k(  sJ y )	Nr   CommentedMap)	walk_treer   r   zwith
newline
rP   zC        1: a
        2: |
          with
          newline
        )srsly.ruamel_yaml.commentsrc   srsly.ruamel_yaml.scalarstringrd   r   r   )r   rc   rd   rX   rI   s        r   
test_basiczTestWalkTree.test_basic   sH    ;<~Q#Q$ t$s333r   c                     ddl m} ddlm} ddlm}m} ddlm} ddlm}  |       }d|d<   d	|d
<   d|d<   d|d<    |d|fd|fd|fg      } |||       d}	t        |      t        |	      k(  sJ y )Nr   )ordereddictrb   )rd   preserve_literal)r\   )SingleQuotedScalarStringr   r   zwith
new : line
rP   z${abc}   zalmost:mapping   
z${:)mapzv        1: a
        2: |
          with
          new : line
        3: '${abc}'
        4: "almost:mapping"
        )srsly.ruamel_yaml.compatri   re   rc   rf   rd   rj   r\   rk   r   r   )
r   ri   rc   rd   rj   dqsqrX   mrI   s
             r   test_mapzTestWalkTree.test_map   s    8;NQQ~Q&QQ"Q$ 01D":RyIJ$A t$s333r   N)r5   r6   r7   rg   ru   r<   r   r   r`   r`      s    4 4r   r`   )
__future__r   r0   r:   	roundtripr   r   r   r   r
   r>   rL   r`   r<   r   r   <module>rx      sN    &   L Kb@ b@J" ".&' &'R'4 '4r   