3
d                 @   sp   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 dZ	G dd dZ
G d	d
 d
ZG dd dZdS )    )print_functionN   )
round_tripdedentround_trip_loadround_trip_dumpc               @   s   e Zd Zdd Zdd Zejjej	 dkdddd	 Z
ejjej	 dkddd
d Zejjej	 dkdddd Zejjej	 dkdddd Zdd Zdd Zdd ZdS )TestLiteralScalarStringc             C   s   t d d S )Nz
        a: abcdefg
        )r   )self r
   W/var/www/html/virt/lib64/python3.6/site-packages/srsly/tests/ruamel_yaml/test_string.pytest_basic_string   s    z)TestLiteralScalarString.test_basic_stringc             C   s   t d d S )Nz
        a: '12345'
        )r   )r	   r
   r
   r   test_quoted_integer_string!   s    z2TestLiteralScalarString.test_quoted_integer_stringJythonzJython throws RepresenterError)reasonc             C   s   d}t |tddd d S )Nz2
        a: |
          abc
          def
        zabc
def
)a)intermediate)r   dict)r	   inpr
   r
   r   test_preserve_string(   s    	z,TestLiteralScalarString.test_preserve_stringc             C   s   d}t |tddd d S )Nz4
        a: |-
          abc
          def

        zabc
def)r   )r   )r   r   )r	   sr
   r
   r   test_preserve_string_strip4   s    
z2TestLiteralScalarString.test_preserve_string_stripc             C   s   d}t |tdddd d S )NzV
            a: |+
              ghi
              jkl


            b: x
            z
ghi
jkl


x)r   b)r   )r   r   )r	   r   r
   r
   r   test_preserve_string_keepA   s    z1TestLiteralScalarString.test_preserve_string_keepc             C   s   d}t |tddd d S )NzT
            a: |+
              ghi
              jkl

            ...
            z	ghi
jkl

)r   )r   )r   r   )r	   r   r
   r
   r    test_preserve_string_keep_at_endQ   s    z8TestLiteralScalarString.test_preserve_string_keep_at_endc             C   s   d}t | d S )Nz3
        a: >
          abc
          def

        )r   )r	   r   r
   r
   r   test_fold_stringa   s    z(TestLiteralScalarString.test_fold_stringc             C   s   d}t | d S )Nz4
        a: >-
          abc
          def

        )r   )r	   r   r
   r
   r   test_fold_string_stripj   s    z.TestLiteralScalarString.test_fold_string_stripc             C   s0   t jt}d}t|tddd W d Q R X d S )NzD
            a: >+
              abc
              def

            z	abc def

)r   )r   )pytestZraisesAssertionErrorr   r   )r	   Zexcinfor   r
   r
   r   test_fold_string_keeps   s    z-TestLiteralScalarString.test_fold_string_keepN)__name__
__module____qualname__r   r   r   markZskipifplatformpython_implementationr   r   r   r   r   r   r   r
   r
   r
   r   r      s"   




		r   c               @   s$   e Zd Zdd Zdd Zdd ZdS )TestQuotedScalarStringc             C   s   d}t |dd d S )Nz
        a: 'abc'
        T)preserve_quotes)r   )r	   r   r
   r
   r   test_single_quoted_string   s    z0TestQuotedScalarString.test_single_quoted_stringc             C   s   d}t |dd d S )Nz
        a: "abc"
        T)r'   )r   )r	   r   r
   r
   r   test_double_quoted_string   s    z0TestQuotedScalarString.test_double_quoted_stringc             C   s   d}d}t ||d d S )Nz
        a: "abc"
        z
        a: abc
        )Zoutp)r   )r	   r   expr
   r
   r   'test_non_preserved_double_quoted_string   s    z>TestQuotedScalarString.test_non_preserved_double_quoted_stringN)r    r!   r"   r(   r)   r+   r
   r
   r
   r   r&   ~   s   r&   c               @   s    e Zd ZdZdd Zdd ZdS )TestReplacez$inspired by issue 110 from sandres23c             C   sV   dd l }td}t|dd}|d jddd}t||jjjsBt|tdksRtd S )	Nr   zO        foo: |
          foo
          foo
          bar
          foo
        T)r'   foobar   z9
        bar
        bar
        bar
        foo
        )	srslyr   r   replace
isinstanceruamel_yamlscalarstringZLiteralScalarStringr   )r	   r0   r   datasor
   r
   r   $test_replace_preserved_scalar_string   s    z0TestReplace.test_replace_preserved_scalar_stringc             C   sR   dd l }td}t|dd}|d jddd}t||jjjsBt|dksNtd S )	Nr   z'        foo: "foo foo bar foo"
        T)r'   r-   r.   r/   zbar bar bar foo)	r0   r   r   r1   r2   r3   r4   DoubleQuotedScalarStringr   )r	   r0   r   r5   r6   r
   r
   r   (test_replace_double_quoted_scalar_string   s    z4TestReplace.test_replace_double_quoted_scalar_stringN)r    r!   r"   __doc__r7   r9   r
   r
   r
   r   r,      s   r,   c               @   s   e Zd Zdd Zdd ZdS )TestWalkTreec             C   sR   ddl m} ddlm} | }d|d< d|d< || d}t|t|ksNtd S )	Nr   )CommentedMap)	walk_treer   r   zwith
newline
r/   zC        1: a
        2: |
          with
          newline
        )srsly.ruamel_yaml.commentsr<   srsly.ruamel_yaml.scalarstringr=   r   r   r   )r	   r<   r=   r5   r*   r
   r
   r   
test_basic   s    zTestWalkTree.test_basicc       
      C   s   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 d}	t	|t
|	kstd S )Nr   )ordereddict)r<   )r=   preserve_literal)r8   )SingleQuotedScalarStringr   r   zwith
new : line
r/   z${abc}   zalmost:mapping   
z${:)mapzv        1: a
        2: |
          with
          new : line
        3: '${abc}'
        4: "almost:mapping"
        )Zsrsly.ruamel_yaml.compatrA   r>   r<   r?   r=   rB   r8   rC   r   r   r   )
r	   rA   r<   r=   rB   Zdqsqr5   mr*   r
   r
   r   test_map   s    zTestWalkTree.test_mapN)r    r!   r"   r@   rK   r
   r
   r
   r   r;      s   r;   )
__future__r   r   r$   Z	roundtripr   r   r   r   r   r&   r,   r;   r
   r
   r
   r   <module>   s   e)