
    wiZ              	          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	 ddlm
Z
 ddlmZ dd	lmZ d
 Zd Zd Zd Zd Zd Zd Zd Zej                            dg ddfddddfdd dfdd idfg          d             ZdS )    )StringIO)PathN   )
yaml_dumps
yaml_loads	read_yaml
write_yamlis_yaml_serializable)CommentedMap   )make_tempdirc                  P    ddgdddgdd} t          |           }d}||k    sJ d S )	Nr   hellobar      %@x   foobazab=a:
  - 1
  - hello
b:
  foo: bar
  baz:
    - 10.5
    - 120
r   dataresultexpecteds      i/root/.openclaw/workspace/chatterbox_venv_py311/lib/python3.11/site-packages/srsly/tests/test_yaml_api.pytest_yaml_dumpsr!      sH    WE4+$F$FGGDFVHX    c                  X    ddgdddgdd} t          | ddd	
          }d}||k    sJ d S )Nr   r   r   r   r   r   r   r   r   )indent_mappingindent_sequenceindent_offset5a:
- 1
- hello
b:
  foo: bar
  baz:
  - 10.5
  - 120
r   r   s      r    test_yaml_dumps_indentr(      sR    WE4+$F$FGGDQQRSSSFNHXr"   c                  z    d} t          |           }t          |t                    rJ |ddgdddgddk    sJ d S )	Nr'   r   r   r   r   r   r   r   )r   
isinstancer   )r   r   s     r    test_yaml_loadsr+      s[    JDF &,/////Aw<eT3K.P.PQQQQQQQQr"   c                      d} t          d| i          5 }|dz  }|                                sJ t          |          }d d d            n# 1 swxY w Y   t          |          dk    sJ |d         ddgk    sJ d S )Nr'   tmp.yamlr   r   r   r   )r   existsr   len)file_contentstemp_dir	file_pathr   s       r    test_read_yaml_filer3   "   s    SM	z=1	2	2 $hz)	!!!!!##$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ t99>>>>9G$$$$$$s   +AAAc                     d} t          d| i          5 }|dz  }|                                sJ t          j        t                    5  t          |           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nz9a: - 1
- hello
b:
  foo: bar
  baz:
    - 10.5
    - 120
r-   )r   r.   pytestraises
ValueErrorr   )r0   r1   r2   s      r    test_read_yaml_file_invalidr8   ,   s   VM	z=1	2	2 !hz)	!!!!!]:&& 	! 	!i   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s5   5A=	A%A=%A)	)A=,A)	-A==BBc                     d}|                      dt          |                     t          d          }t          |          dk    sJ |d         ddgk    sJ d S )Nr   z	sys.stdin-r   r   r   r   )setattrr   r   r/   )monkeypatch
input_datar   s      r    test_read_yaml_stdinr>   5   sb    XJXj%9%9:::S>>Dt99>>>>9G$$$$$$r"   c                  >   dddgd} d}t                      5 }|dz  }t          ||            t          |                              dd	          5 }|                                |k    sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )
Nworld{     r   testz#hello: world
test:
  - 123
  - 456
r-   rutf8)encoding)r   r	   r   openread)r   r   r1   r2   fs        r    test_write_yaml_filerK   =   s*   sCj11D8H	 (8z)	9d###)__!!#!77 	(16688x'''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s5   :BA:.B:A>	>BA>	BBBc                 z    dddgd}d}t          d|           |                                 }|j        |k    sJ d S )Nr@   rA   rB   rC   z$hello: world
test:
  - 123
  - 456

r:   )r	   
readouterrout)capsysr   r   captureds       r    test_write_yaml_stdoutrQ   G   sR    sCj11D:HsD  ""H<8######r"   zobj,expected)r   r   r   r   Tr   rA   )r   c)r   Tc                     | S N xs    r    <lambda>rX   U   s    1 r"   Fr   c                     | S rT   rU   rV   s    r    rX   rX   V   s     r"   c                 Z    t          |           |k    sJ t          |           |k    sJ d S rT   r
   )objr   s     r    test_is_yaml_serializabler\   O   s<      $$0000$$000000r"   )ior   pathlibr   r5   	_yaml_apir   r   r   r	   r   ruamel_yaml.commentsr   utilr   r!   r(   r+   r3   r8   r>   rK   rQ   markparametrizer\   rU   r"   r    <module>rd      s                E E E E E E E E E E E E , , , , , , / / / / / /          R R R% % %! ! !% % %( ( ($ $ $ 			4 		t$	e
{{	U#	 	1 1	 	1 1 1r"   