summaryrefslogtreecommitdiff
path: root/python/tests/test_example.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/tests/test_example.py')
-rw-r--r--python/tests/test_example.py59
1 files changed, 59 insertions, 0 deletions
diff --git a/python/tests/test_example.py b/python/tests/test_example.py
new file mode 100644
index 000000000000..f0785531f4e2
--- /dev/null
+++ b/python/tests/test_example.py
@@ -0,0 +1,59 @@
+from .compat import unittest
+import json
+import ucl
+
+_ucl_inp = '''
+param = value;
+section {
+ param = value;
+ param1 = value1;
+ flag = true;
+ number = 10k;
+ time = 0.2s;
+ string = "something";
+ subsection {
+ host = {
+ host = "hostname";
+ port = 900;
+ }
+ host = {
+ host = "hostname";
+ port = 901;
+ }
+ }
+}
+'''
+
+_json_res = {
+ 'param': 'value',
+ 'section': {
+ 'param': 'value',
+ 'param1': 'value1',
+ 'flag': True,
+ 'number': 10000,
+ 'time': '0.2s',
+ 'string': 'something',
+ 'subsection': {
+ 'host': [
+ {
+ 'host': 'hostname',
+ 'port': 900,
+ },
+ {
+ 'host': 'hostname',
+ 'port': 901,
+ }
+ ]
+ }
+ }
+}
+
+class TestExample(unittest.TestCase):
+ def test_example(self):
+ # load in sample UCL
+ u = ucl.load(_ucl_inp)
+
+ # Output and read back the JSON
+ uj = json.loads(json.dumps(u))
+
+ self.assertEqual(uj, _json_res)