Files
openloongarch-buildroot-202…/support/testing/tests/package/sample_python_ruamel_yaml.py
T
2025-02-12 17:59:29 +08:00

40 lines
953 B
Python

from ruamel.yaml import YAML
yaml_text = """
Rootkey:
- ListEntry
AnotherRootKey: some-string
ListRoot:
- float-value: '1.0'
int-value: 10234
NestedList:
- 1
- 2
- another-float: '1.1'
another-int: 1111
OneMoreRootKey: 9.99
"""
# Tests the pure python based implementation
yaml = YAML(typ='safe', pure=True)
parsed = yaml.load(yaml_text)
assert parsed['OneMoreRootKey'] == 9.99
assert parsed['ListRoot'][1]['another-int'] == 1111
# Tests the C extension based loader
# ruamel.yaml automatically falls back to the pure python version, so we need
# to explicitly check if importing the CLoader works here.
# Import this here, so it's clearer what part of the test is failing.
from ruamel.yaml import CLoader # noqa: E402
assert CLoader is not None
yaml = YAML(typ='safe')
parsed_from_c = yaml.load(yaml_text)
assert parsed_from_c['OneMoreRootKey'] == 9.99
assert parsed_from_c['ListRoot'][1]['another-int'] == 1111