Sfoglia il codice sorgente

Add tests for saneget()

Mike Naberezny 10 anni fa
parent
commit
7439ff0943
1 ha cambiato i file con 36 aggiunte e 0 eliminazioni
  1. 36 0
      supervisor/tests/test_options.py

+ 36 - 0
supervisor/tests/test_options.py

@@ -2537,6 +2537,42 @@ class UnhosedConfigParserTests(unittest.TestCase):
         result = parser.saneget("supervisord", "missing", default="abc")
         self.assertEqual(result, "abc")
 
+    def test_saneget_with_default_and_expand(self):
+        parser = self._makeOne()
+        parser.expansions = {'pet': 'dog'}
+        parser.read_string("[supervisord]\n")
+        result = parser.saneget("supervisord", "foo", default="%(pet)s")
+        self.assertEqual(result, "dog")
+
+    def test_saneget_with_default_no_expand(self):
+        parser = self._makeOne()
+        parser.expansions = {'pet': 'dog'}
+        parser.read_string("[supervisord]\n")
+        result = parser.saneget("supervisord", "foo",
+            default="%(pet)s", do_expand=False)
+        self.assertEqual(result, "%(pet)s")
+
+    def test_saneget_no_default_no_expand(self):
+        parser = self._makeOne()
+        parser.read_string("[supervisord]\nfoo=%(pet)s\n")
+        result = parser.saneget("supervisord", "foo", do_expand=False)
+        self.assertEqual(result, "%(pet)s")
+
+    def test_saneget_expands_instance_expansions(self):
+        parser = self._makeOne()
+        parser.expansions = {'pet': 'dog'}
+        parser.read_string("[supervisord]\nfoo=%(pet)s\n")
+        result = parser.saneget("supervisord", "foo")
+        self.assertEqual(result, "dog")
+
+    def test_saneget_expands_arg_expansions(self):
+        parser = self._makeOne()
+        parser.expansions = {'pet': 'dog'}
+        parser.read_string("[supervisord]\nfoo=%(pet)s\n")
+        result = parser.saneget("supervisord", "foo",
+            expansions={'pet': 'cat'})
+        self.assertEqual(result, "cat")
+
     def test_getdefault_does_saneget_with_mysection(self):
         parser = self._makeOne()
         parser.read_string("[%s]\nfoo=bar\n" % parser.mysection)