
    hZ              	           S SK Jr  S SKJr  S SKrSSKJrJrJrJ	r	  SSKJ
r
  SSKJr  SS	KJr  S
 rS rS rS rS rS rS rS r\R.                  R1                  S/ SQS4SSS.S4SS S4SS 0S4/5      S 5       rg)    )StringIO)PathN   )
yaml_dumps
yaml_loads	read_yaml
write_yamlis_yaml_serializable)CommentedMap   )make_tempdirc                  D    SS/SSS/S.S.n [        U 5      nSnX:X  d   eg )	Nr   hellobar      %@x   foobazab=a:
  - 1
  - hello
b:
  foo: bar
  baz:
    - 10.5
    - 120
r   dataresultexpecteds      S/home/james-whalen/.local/lib/python3.13/site-packages/srsly/tests/test_yaml_api.pytest_yaml_dumpsr!      s4    WE4+$FGDFVH    c                  F    SS/SSS/S.S.n [        U SSS	S
9nSnX:X  d   eg )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(      s;    WE4+$FGDQQRSFNHr"   c                  p    Sn [        U 5      n[        U[        5      (       a   eUSS/SSS/S.S.:X  d   eg )	Nr'   r   r   r   r   r   r   r   )r   
isinstancer   )r   r   s     r    test_yaml_loadsr+      sF    JDF &,////Aw<eT3K.PQQQQr"   c                      Sn [        SU 05       nUS-  nUR                  5       (       d   e[        U5      nS S S 5        [        W5      S:X  d   eUS   SS/:X  d   eg ! , (       d  f       N-= f)Nr'   tmp.yamlr   r   r   r   )r   existsr   len)file_contentstemp_dir	file_pathr   s       r    test_read_yaml_filer3   "   su    SM	z=1	2hz)	!!!!# 
3 t9>>9G$$$ 
3	2s   (A
A-c                     Sn [        SU 05       nUS-  nUR                  5       (       d   e[        R                  " [        5         [        U5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)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   ,   sh    VM	z=1	2hz)	!!!!]]:&i  ' 
3	2 '& 
3	2s#   7A5A$A5$
A2	.A55
Bc                     SnU R                  S[        U5      5        [        S5      n[        U5      S:X  d   eUS   SS/:X  d   eg )Nr   z	sys.stdin-r   r   r   r   )setattrr   r   r/   )monkeypatch
input_datar   s      r    test_read_yaml_stdinr>   5   sK    XJXj%9:S>Dt9>>9G$$$r"   c                     SSS/S.n Sn[        5        nUS-  n[        X05        [        U5      R                  SSS	9 nUR	                  5       U:X  d   e S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)
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   =   sx    sCj1D8H	8z)	9#)_!!#!71668x''' 8 
 87 
s"   *A8A'A8'
A5	1A88
Bc                 r    SSS/S.nSn[        SU5        U R                  5       nUR                  U:X  d   eg )Nr@   rA   rB   rC   z$hello: world
test:
  - 123
  - 456

r:   )r	   
readouterrout)capsysr   r   captureds       r    test_write_yaml_stdoutrQ   G   s?    sCj1D:HsD  "H<<8###r"   zobj,expected)r   r   r   r   Tr   rA   )r   c)r   Tc                     U $ N xs    r    <lambda>rX   U   s    1r"   Fr   c                     U $ rT   rU   rV   s    r    rX   rX   V   s    r"   c                 H    [        U 5      U:X  d   e[        U 5      U:X  d   eg rT   r
   )objr   s     r    test_is_yaml_serializabler\   O   s*      $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 , / R%!%($ 	4 	t$	e
{	U#	1	1r"   