mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-09 07:18:27 +01:00
Also expose `encoding` and `path` as attributes, so programmatic consumers can access it easily.
26 lines
619 B
Python
26 lines
619 B
Python
import pytest
|
|
|
|
from dvc.utils.serialize import EncodingError, YAMLError, load_yaml, parse_yaml
|
|
|
|
|
|
def test_parse_yaml_duplicate_key_error():
|
|
text = """\
|
|
mykey:
|
|
- foo
|
|
mykey:
|
|
- bar
|
|
"""
|
|
with pytest.raises(YAMLError, match='found duplicate key "mykey"'):
|
|
parse_yaml(text, "mypath")
|
|
|
|
|
|
def test_parse_yaml_invalid_unicode(tmp_dir):
|
|
filename = "invalid_utf8.yaml"
|
|
tmp_dir.gen(filename, b"\x80some: stuff")
|
|
|
|
with pytest.raises(EncodingError) as excinfo:
|
|
load_yaml(tmp_dir / filename)
|
|
|
|
assert filename in excinfo.value.path
|
|
assert excinfo.value.encoding == "utf-8"
|