changeset 183:d1103f0f9166

Unit-tests with the file-mode scanner
author Franz Glasner <f.glasner@feldmann-mg.com>
date Fri, 03 May 2019 10:42:54 +0200
parents 3c0ff52b2bdb
children 781b8dc1883f
files tests/data/no-mode.conf tests/data/unknown-mode.conf tests/test.py
diffstat 3 files changed, 35 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/data/no-mode.conf	Fri May 03 10:42:54 2019 +0200
@@ -0,0 +1,4 @@
+%YAML 1.1
+---
+
+key-new: new value
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/data/unknown-mode.conf	Fri May 03 10:42:54 2019 +0200
@@ -0,0 +1,5 @@
+# -*- coding: utf-8; mode: non-existing; indent-tabs-mode: nil; -*-
+%YAML 1.1
+---
+
+key-new: new value
--- a/tests/test.py	Fri May 03 09:46:43 2019 +0200
+++ b/tests/test.py	Fri May 03 10:42:54 2019 +0200
@@ -344,6 +344,32 @@
 
         self.assertRaises(KeyError, _g)
 
+    def test04_determine_mode(self):
+        configmix.clear_assoc()
+        configmix.set_assoc("*.conf", configmix.try_determine_filemode)
+        cfg = configmix.load(os.path.join(TESTDATADIR, "conf30.conf"))
+        self.assertEqual(u("new value"), cfg.getvar_s("key-new"))
+
+        self.assertRaises(KeyError, cfg.getvar_s, "key7")
+
+    def test05_try_determine_mode_none(self):
+        configmix.clear_assoc()
+        configmix.set_assoc("*.conf", configmix.try_determine_filemode)
+
+        def _ld():
+            return configmix.load(os.path.join(TESTDATADIR, "no-mode.conf"))
+
+        self.assertRaises(ValueError, _ld)
+
+    def test06_try_determine_mode_unknown(self):
+        configmix.clear_assoc()
+        configmix.set_assoc("*.conf", configmix.try_determine_filemode)
+
+        def _ld():
+            return configmix.load(os.path.join(TESTDATADIR, "unknown-mode.conf"))
+
+        self.assertRaises(KeyError, _ld)
+
 
 if __name__ == "__main__":
     unittest.main()