mirror of
https://github.com/openSUSE/osc.git
synced 2025-09-07 21:58:41 +02:00
85 lines
1.8 KiB
Python
85 lines
1.8 KiB
Python
import io
|
|
import unittest
|
|
|
|
import osc.util.yaml as osc_yaml
|
|
|
|
|
|
YAML = """
|
|
dict:
|
|
minus-two: -2
|
|
one: 1
|
|
float: 1.2
|
|
int: 123
|
|
list:
|
|
- one
|
|
- two
|
|
- three
|
|
str: text
|
|
""".lstrip()
|
|
|
|
|
|
DATA = {
|
|
"list": ["one", "two", "three"],
|
|
"dict": {
|
|
"one": 1,
|
|
"minus-two": -2,
|
|
},
|
|
"str": "text",
|
|
"int": 123,
|
|
"float": 1.2,
|
|
}
|
|
|
|
|
|
@unittest.skipIf(not osc_yaml.RUAMEL_YAML, "ruamel.yaml not available")
|
|
class TestRuamelYaml(unittest.TestCase):
|
|
def test_dump(self):
|
|
with io.StringIO() as f:
|
|
osc_yaml._ruamel_yaml_dump(DATA, f)
|
|
f.seek(0)
|
|
actual = f.read()
|
|
self.assertEqual(YAML, actual)
|
|
|
|
def test_dumps(self):
|
|
actual = osc_yaml._ruamel_yaml_dumps(DATA)
|
|
self.assertEqual(YAML, actual)
|
|
|
|
def test_load(self):
|
|
with io.StringIO() as f:
|
|
f.write(YAML)
|
|
f.seek(0)
|
|
actual = osc_yaml._ruamel_yaml_load(f)
|
|
self.assertEqual(DATA, actual)
|
|
|
|
def test_loads(self):
|
|
actual = osc_yaml._ruamel_yaml_loads(YAML)
|
|
self.assertEqual(DATA, actual)
|
|
|
|
|
|
@unittest.skipIf(not osc_yaml.PYYAML, "PyYAML not available")
|
|
class TestPyYaml(unittest.TestCase):
|
|
def test_dump(self):
|
|
with io.StringIO() as f:
|
|
osc_yaml._pyyaml_dump(DATA, f)
|
|
f.seek(0)
|
|
actual = f.read()
|
|
self.assertEqual(YAML, actual)
|
|
|
|
def test_dumps(self):
|
|
actual = osc_yaml._pyyaml_dumps(DATA)
|
|
self.assertEqual(YAML, actual)
|
|
|
|
def test_load(self):
|
|
with io.StringIO() as f:
|
|
f.write(YAML)
|
|
f.seek(0)
|
|
actual = osc_yaml._pyyaml_load(f)
|
|
self.assertEqual(DATA, actual)
|
|
|
|
def test_loads(self):
|
|
actual = osc_yaml._pyyaml_loads(YAML)
|
|
self.assertEqual(DATA, actual)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|