3
d@!                 @   s   d dl mZ d dl mZ d dl mZ d dlZddlmZmZmZm	Z	m
Z
 dd ZG d	d
 d
ZG dd dZdd ZG dd dZG dd dZdS )    )absolute_import)print_function)unicode_literalsN   )
round_tripround_trip_loadround_trip_dumpdedentYAMLc             C   s8   dd l }|jj|jj| |jjd|jjd}|j d S )Nr   )Loader)Dumper
)srsly.ruamel_yamlruamel_yamldumploadRoundTripLoaderRoundTripDumperstrip)ssrslyres r   \/var/www/html/virt/lib64/python3.6/site-packages/srsly/tests/ruamel_yaml/test_indentation.pyrt   s
    r   c               @   s   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#S )$
TestIndentc             C   s   d}t |}||kstd S )Nza: [a, b, c]
)r   AssertionError)selfr   outputr   r   r   test_roundtrip_inline_list   s    z%TestIndent.test_roundtrip_inline_listc             C   s    t d}t|}||kstd S )Nz2        a: [a, b, c]
        j: [k, l, m]
        )r	   r   r   )r   r   r   r   r   r   &test_roundtrip_mapping_of_inline_lists   s    z1TestIndent.test_roundtrip_mapping_of_inline_listsc             C   s    t d}t|}||kstd S )NzZ        # comment A
        a: [a, b, c]
        # comment B
        j: [k, l, m]
        )r	   r   r   )r   r   r   r   r   r   /test_roundtrip_mapping_of_inline_lists_comments'   s    z:TestIndent.test_roundtrip_mapping_of_inline_lists_commentsc             C   s    t d}t|}||kstd S )Nz`        # comment A
        a: [a, b, c]  # comment B
        j: [k, l, m]  # comment C
        )r	   r   r   )r   r   r   r   r   r   6test_roundtrip_mapping_of_inline_sequence_eol_comments3   s    zATestIndent.test_roundtrip_mapping_of_inline_sequence_eol_commentsc             C   s^   dd l }td}d}|jj||jjd}|d }|jj  |jj||jjd}||ksZt	d S )Nr   z8
        a:
        - b
        - c
        - d
        za: [b, c, d]
)r   a)r   )
r   r	   r   r   r   faZset_flow_styler   r   r   )r   r   s1r   datavalr   r   r   r   test_added_inline_list?   s    
z!TestIndent.test_added_inline_listc             C   sH   dd l }td}|jj||jjd}|jj||jjd}||ksDtd S )Nr   z=        - {a: 1, b: hallo}
        - {j: fka, k: 42}
        )r   )r   )r   r	   r   r   r   r   r   r   )r   r   r   r&   r   r   r   r   test_roundtrip_flow_mappingT   s    z&TestIndent.test_roundtrip_flow_mappingc             C   s    t d}t|}||kstd S )Nzk        # comment A
        - {a: 1, b: hallo}  # comment B
        - {j: fka, k: 42}  # comment C
        )r	   r   r   )r   r   r   r   r   r   7test_roundtrip_sequence_of_inline_mappings_eol_commentsa   s    zBTestIndent.test_roundtrip_sequence_of_inline_mappings_eol_commentsc             C   s   d}t |dd d S )Nz*
        -   a:
            -   b
           )indent)r   )r   inpr   r   r   test_indent_top_levell   s    z TestIndent.test_indent_top_levelc             C   s   d}t |ddd d S )NzY
        a:
         -   b: c
         -   1
         -   d:
              -   2
           r   )r,   block_seq_indent)r   )r   r-   r   r   r   %test_set_indent_5_block_list_indent_1s   s    z0TestIndent.test_set_indent_5_block_list_indent_1c             C   s   d}t |ddd d S )NzT
        a:
          - b: c
          - 1
          - d:
              - 2
        r+      )r,   r0   )r   )r   r-   r   r   r   %test_set_indent_4_block_list_indent_2}   s    z0TestIndent.test_set_indent_4_block_list_indent_2c             C   s   d}t |ddd d S )NzO
        a:
        -  b: c
        -  1
        -  d:
           -  2
           r   )r,   r0   )r   )r   r-   r   r   r   %test_set_indent_3_block_list_indent_0   s    z0TestIndent.test_set_indent_3_block_list_indent_0c             C   s   d}t |ddd d S )Nz
        a:
          -
           b: c
          -
           1
          -
           d:
             -
              2
        r4   r2   )r,   r0   )r   )r   r-   r   r   r   &Xtest_set_indent_3_block_list_indent_2   s    z1TestIndent.Xtest_set_indent_3_block_list_indent_2c             C   s   d}t |ddd d S )NzS
        a:
          - b: c
          - 1
          - d:
             - 2
        r4   r2   )r,   r0   )r   )r   r-   r   r   r   %test_set_indent_3_block_list_indent_2   s    z0TestIndent.test_set_indent_3_block_list_indent_2c             C   s   d}t |ddd d S )Nz
        a:
          -
           b: c
          -
           1
          -
           d:
             -
              2
        r2   )r,   r0   )r   )r   r-   r   r   r   &Xtest_set_indent_2_block_list_indent_2   s    z1TestIndent.Xtest_set_indent_2_block_list_indent_2c             C   s   d}t |ddd d S )NzR
        a:
          - b: c
          - 1
          - d:
            - 2
        r2   )r,   r0   )r   )r   r-   r   r   r   %test_set_indent_2_block_list_indent_2   s    z0TestIndent.test_set_indent_2_block_list_indent_2c             C   s   d}t |dd d S )Nza:
-   foo
-   bar
r+   )r,   )r   )r   r   r   r   r   !test_roundtrip_four_space_indents   s    z,TestIndent.test_roundtrip_four_space_indentsc             C   s$   d}d}t t|t|ks td S )Nz4
        a:
        -   foo
        -   bar
        z0
        a:
        - foo
        - bar
        )r   r   r	   r   )r   r-   expr   r   r   )test_roundtrip_four_space_indents_no_fail   s    z4TestIndent.test_roundtrip_four_space_indents_no_failN)__name__
__module____qualname__r   r    r!   r"   r(   r)   r*   r.   r1   r3   r5   r6   r7   r8   r9   r:   r<   r   r   r   r   r      s"   





r   c               @   s   e Zd Zdd ZdS )TestYpkgIndentc             C   s   d}t |ddddd d S )Na  
        name       : nano
        version    : 2.3.2
        release    : 1
        homepage   : http://www.nano-editor.org
        source     :
          - http://www.nano-editor.org/dist/v2.3/nano-2.3.2.tar.gz : ff30924807ea289f5b60106be8
        license    : GPL-2.0
        summary    : GNU nano is an easy-to-use text editor
        builddeps  :
          - ncurses-devel
        description: |
            GNU nano is an easy-to-use text editor originally designed
            as a replacement for Pico, the ncurses-based editor from the non-free mailer
            package Pine (itself now available under the Apache License as Alpine).
        r+   r2   T )r,   r0   Ztop_level_colon_alignZprefix_colon)r   )r   r-   r   r   r   test_00   s    zTestYpkgIndent.test_00N)r=   r>   r?   rB   r   r   r   r   r@      s   r@   c             C   s&   ddl m} |t| \}}}||fS )Nr   )load_yaml_guess_indent)Zsrsly.ruamel_yaml.utilrC   r	   )r   rC   xyzr   r   r   guess   s    rG   c               @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
TestGuessIndentc             C   s   d}t |dkstd S )Nz        a:
        - 1
        r2   r   )r2   r   )rG   r   )r   r-   r   r   r   test_guess_20   s    zTestGuessIndent.test_guess_20c             C   s   d}t |dkstd S )Nz!        a:
          - 1
        r+   r2   )r+   r2   )rG   r   )r   r-   r   r   r   test_guess_42  s    zTestGuessIndent.test_guess_42c             C   s   d}t |dkstd S )Nz8        b:
              a:
                - 1
        r+   r2   )r+   r2   )rG   r   )r   r-   r   r   r   test_guess_42a  s    zTestGuessIndent.test_guess_42ac             C   s   d}t |dkstd S )Nz#        b:
           a: 1
        r4   )r4   N)rG   r   )r   r-   r   r   r   test_guess_3None  s    z TestGuessIndent.test_guess_3NoneN)r=   r>   r?   rI   rJ   rK   rL   r   r   r   r   rH      s   	rH   c               @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )TestSeparateMapSeqIndentsc             C   s$   t  }d|_d|_d}|j| d S )N   r4   z9
        a:
           -  1
           -  [1, 2]
        )r
   r,   r0   r   )r   yamlr-   r   r   r   rB      s
    z!TestSeparateMapSeqIndents.test_00c             C   s0   t  }|jdd |jdd d}|j| d S )NrN   )sequencer4   )offsetz9
        a:
           -  1
           -  {b: 3}
        )r
   r,   r   )r   rO   r-   r   r   r   test_01,  s
    z!TestSeparateMapSeqIndents.test_01c             C   s(   t  }|jdddd d}|j| d S )Nr/   rN   r4   )mappingrP   rQ   zS
        a:
             b:
                -  1
                -  [1, 2]
        )r
   r,   r   )r   rO   r-   r   r   r   test_027  s    z!TestSeparateMapSeqIndents.test_02c             C   s   d}t |dd d S )Nzg
        a:
            b:
                c:
                -   1
                -   [1, 2]
        r+   )r,   )r   )r   r-   r   r   r   test_03B  s    z!TestSeparateMapSeqIndents.test_03c             C   s&   t  }|jddd d}|j| d S )Nr/   rN   )rS   rP   zp
        a:
             b:
             -     1
             -     [1, 2]
             -     {d: 3.14}
        )r
   r,   r   )r   rO   r-   r   r   r   test_04L  s    z!TestSeparateMapSeqIndents.test_04c             C   s(   t  }|jddd d|_|jd d S )Nr+   r2   )rP   rQ   Ta  
        role::startup::author::rsyslog_inputs:
          imfile:
            - ruleset: 'AEM-slinglog'
              File: '/opt/aem/author/crx-quickstart/logs/error.log'
              startmsg.regex: '^[-+T.:[:digit:]]*'
              tag: 'error'
            - ruleset: 'AEM-slinglog'
              File: '/opt/aem/author/crx-quickstart/logs/stdout.log'
              startmsg.regex: '^[-+T.:[:digit:]]*'
              tag: 'stdout'
        )r
   r,   Zpreserve_quotesr   )r   rO   r   r   r   test_issue_51X  s
    z'TestSeparateMapSeqIndents.test_issue_51N)	r=   r>   r?   rB   rR   rT   rU   rV   rW   r   r   r   r   rM     s   
rM   )
__future__r   r   r   ZpytestZ	roundtripr   r   r   r	   r
   r   r   r@   rG   rH   rM   r   r   r   r   <module>   s   
 E 