o
    
i	                     @   sp   d dl mZ d dlZd dlZddlm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dS )    )print_functionN   save_and_runc                 C   s   d}t || dksJ d S )Na      import srsly.ruamel_yaml
    from textwrap import dedent

    class Monster(srsly.ruamel_yaml.YAMLObject):
        yaml_tag = u'!Monster'

        def __init__(self, name, hp, ac, attacks):
            self.name = name
            self.hp = hp
            self.ac = ac
            self.attacks = attacks

        def __repr__(self):
            return "%s(name=%r, hp=%r, ac=%r, attacks=%r)" % (
                self.__class__.__name__, self.name, self.hp, self.ac, self.attacks)

    data = srsly.ruamel_yaml.load(dedent("""\
        --- !Monster
        name: Cave spider
        hp: [2,6]    # 2d6
        ac: 16
        attacks: [BITE, HURT]
    """), Loader=srsly.ruamel_yaml.Loader)
    # normal dump, keys will be sorted
    assert srsly.ruamel_yaml.dump(data) == dedent("""\
        !Monster
        ac: 16
        attacks: [BITE, HURT]
        hp: [2, 6]
        name: Cave spider
    """)
    r   r   tmpdirprogram_src r	   [/home/ubuntu/.local/lib/python3.10/site-packages/srsly/tests/ruamel_yaml/test_yamlobject.pytest_monster   s   !r   )   r   zno __qualname__)reasonc                 C   s   d}t || dksJ dS )	issue 214a      from srsly.ruamel_yaml import YAML
    from srsly.ruamel_yaml.compat import StringIO

    class A:
        def f(self):
            pass

    yaml = YAML(typ='unsafe', pure=True)
    yaml.explicit_end = True
    buf = StringIO()
    yaml.dump(A.f, buf)
    res = buf.getvalue()
    print('res', repr(res))
    assert res == "!!python/name:__main__.A.f ''\n...\n"
    x = yaml.load(res)
    assert x == A.f
    r   Nr   r   r	   r	   r
   test_qualified_name000   s   r   c                 C   s   ddl m} ddl}ddlm} tt8 |ddd}d|_| }|	|j
jjj| | }|dks6J ||}||j
jjjksEJ W d   dS 1 sPw   Y  dS )	r   r   )YAMLN)StringIOunsafeT)typpurezJ!!python/name:srsly.ruamel_yaml.comments.CommentedBase.yaml_anchor ''
...
)srsly.ruamel_yamlr   srsly.ruamel_yaml.commentssrsly.ruamel_yaml.compatr   pytestraises
ValueErrorexplicit_enddumpruamel_yamlcommentsCommentedBaseyaml_anchorgetvalueload)r   r   srslyr   yamlbufresxr	   r	   r
   test_qualified_name01H   s   
"r(   )
__future__r   sysr   	roundtripr   r   markskipifversion_infor   r(   r	   r	   r	   r
   <module>   s   %
