
    i	                     V    d dl mZ 	 d dlZd dlZd dlZddlmZmZmZm	Z	  G d d      Z
y)    )print_functionN   )
round_tripdedentround_trip_loadround_trip_dumpc                   l   e Zd Zd Zd Zd Zej                  j                  e	j                  dk  d      d        Zej                  j                  e	j                  dk\  xs  ej                         d	k7  d
      d        Zd Zd 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d Zy)TestYAMLc                     t        d       y )NzM
        handlers:
          static_files: applications/\1/static/\2
        r   selfs    v/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/srsly/tests/ruamel_yaml/test_yamlfile.pytest_backslashzTestYAML.test_backslash   s    	
    c                     ddl m} dd l} |ddg      }|j                  j	                  |d      }|t        d      k(  sJ y )Nr   ordereddictar   b   Fdefault_flow_style6
        !!omap
        - a: 1
        - b: 2
        )srsly.ruamel_yaml.compatr   srsly.ruamel_yamlruamel_yamldumpr   r   r   srslyxress        r   test_omap_outzTestYAML.test_omap_out   sP    8 8,-$$Q5$Af
 
 	
 
r   c                     t        d       y )NzT
        !!omap
        - a: 1
        - b: 2
        - c: 3
        - d: 4
        r   r   s    r   test_omap_roundtripzTestYAML.test_omap_roundtrip&   s    	
r   )r      zcollections not available)reasonc                     ddl m} dd l} |ddg      }|j                  j	                  ||j                  j
                  d      }|t        d      k(  sJ y )Nr   )OrderedDictr   r   FDumperr   r   )collectionsr+   r   r   r    RoundTripDumperr   )r   r+   r"   r#   r$   s        r   !test_dump_collections_ordereddictz*TestYAML.test_dump_collections_ordereddict1   sg    +  8,-$$e''77E % 
 f
 
 	
 
r   )   r   CPythonzsrsly.ruamel_yaml not availablec                     ddl m} dd l} |ddg      }|j                  j	                  ||j                  j
                  d      }|t        d      k(  sJ y )Nr   r   r   r   Fr,   r   )r   r   r   r   r    r/   r   r!   s        r   test_dump_ruamel_ordereddictz%TestYAML.test_dump_ruamel_ordereddictC   si    
 	9  8,-$$e''77E % 
 f
 
 	
 
r   c                 
   ddl m}  |g d      }|j                  d       |j                  d       | |g d      k(  sJ |j                  d       |j                  d       |j                  d       | |g d	      k(  sJ y )
Nr   )CommentedSetr   r   cr   d)r   r8   r9   ef)r   r8   r9   r;   )srsly.ruamel_yaml.constructorr6   removeadd)r   r6   ss      r   test_CommentedSetzTestYAML.test_CommentedSetX   sm    >)		c
L1111	c
	c
	L!56666r   c                     dd l }t        g d      }|j                  j                  |d      }|t	        d      k(  sJ y )Nr   r7   Fr   zG
        !!set
        a: null
        b: null
        c: null
        )r   setr   r    r   )r   r"   r#   r$   s       r   test_set_outzTestYAML.test_set_outd   sH      $$Q5$Af
 
 	
 
r   c                     t        d       y )Nz;
        !!set
        ? a
        ? b
        ? c
        r   r   s    r   test_set_compactzTestYAML.test_set_compactt   s    	
r   c                     t        d       y )Nz@
        # Comment with spaces after it.


        a: 1
        r   r   s    r   test_blank_line_after_commentz&TestYAML.test_blank_line_after_comment   s    	
r   c                     t        d       y )Nzc
        # Seq with empty lines in between items.
        b:
        - bar


        - baz
        r   r   s    r   !test_blank_line_between_seq_itemsz*TestYAML.test_blank_line_between_seq_items   s    		
r   JythonzJython throws RepresenterErrorc                     d}t        t        |            }t        |       t        |       |d   d   j	                  d      d   dk(  sJ |d   d   j	                  d      d   dk(  sJ y )Nz
        c:
        - |
          This item
          has a blank line
          following it.

        - |
          To visually separate it from this item.

          This item contains a blank line.


        r8   r   it.r   
line.r   r   printr   splitr   r?   r9   s      r   "test_blank_line_after_literal_chipz+TestYAML.test_blank_line_after_literal_chip   so    
 F1I&a1vayu%a(D000vayw'*d222r   c                     d}t        t        |            }t        |       t        |       |d   d   j	                  d      d   dk(  sJ |d   d   j	                  d      d   dk(  sJ y	)
z2 have to insert an eof marker in YAML to test thisz
        c:
        - |+
          This item
          has a blank line
          following it.

        - |+
          To visually separate it from this item.

          This item contains a blank line.


        ...
        r8   r   rL   r   z

rN   z


NrO   rR   s      r   "test_blank_line_after_literal_keepz+TestYAML.test_blank_line_after_literal_keep   so     F1I&a1vayu%a(F222vayw'*h666r   c                     d}t        t        |            }t        |       t        |       |d   d   j	                  d      d   dk(  sJ |d   d   j	                  d      d   dk(  sJ y )Nz
        c:
        - |-
          This item
          has a blank line
          following it.

        - |-
          To visually separate it from this item.

          This item contains a blank line.


        r8   r   rL   r    rN   rO   rR   s      r   #test_blank_line_after_literal_stripz,TestYAML.test_blank_line_after_literal_strip   so    
 F1I&a1vayu%a(B...vayw'*b000r   c                 T   dd l }t        d      }g }|j                  j                  |d      D ]  }|j	                  |        |j                  j                  ||j                  j                        }t        t        |d   d         |d   d          t        |       ||k(  sJ y )Nr   z<        a: 'hello'
        ---
        b: "goodbye"
        T)preserve_quotes)r-   r   )	r   r   r   round_trip_load_allappenddump_allr/   rP   type)r   r"   r?   datar#   outs         r   test_load_all_perserve_quotesz&TestYAML.test_load_all_perserve_quotes   s     
 ""66q$6O 	AKKN	((e6G6G6W6W(Xd473< $q'#,/c
axxr   N)__name__
__module____qualname__r   r%   r'   pytestmarkskipifsysversion_infor0   platformpython_implementationr4   r@   rC   rE   rG   rI   rS   rU   rX   ra    r   r   r
   r
      sm   

	
 [[((61:UV
 W
" [[F"S&Dh&D&D&F)&S0  
	
"
7
 	



 [[&&&(H4/  3	3* [[&&&(H4/  7	7. [[&&&(H4/  1	1*r   r
   )
__future__r   rh   re   rj   	roundtripr   r   r   r   r
   rl   r   r   <module>ro      s*    %    K Ke er   