
    h	                         S SK Jr  S SKrS SKrSSKJr  S r\R                  R                  \R                  S:  SS9S	 5       r
\R                  R                  \R                  S:  SS9S
 5       rg)    )print_functionN   save_and_runc                 *    Sn[        X5      S:X  d   eg )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_srcs     a/home/james-whalen/.local/lib/python3.13/site-packages/srsly/tests/ruamel_yaml/test_yamlobject.pytest_monsterr      s     KB ,111    )   r   zno __qualname__)reasonc                 *    Sn[        X5      S:X  d   eg)	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   s     r   test_qualified_name00r   0   s    K$ ,111r   c                    SSK Jn  SSKnSSKJn  [
        R                  " [        5         U" SSS9nSUl        U" 5       nUR                  UR                  R                  R                  R                  U5        UR                  5       nUS:X  d   eUR                  U5      nXrR                  R                  R                  R                  :X  d   e SSS5        g! , (       d  f       g= f)	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xs           r   test_qualified_name01r,   H   s     '%1	z	"t, j		%##,,::FFLlln]^	
^ IIcN%%..<<HHHHH 
#	"	"s   B(C
C+)
__future__r   sysr   	roundtripr   r   markskipifversion_infor   r,    r   r   <module>r4      s    & 
  #"2J C$$v-6GH2 I2. C$$v-6GHI IIr   