瀏覽代碼

Add tests for saneget()

Mike Naberezny 10 年之前
父節點
當前提交
7439ff0943
共有 1 個文件被更改,包括 36 次插入0 次删除
  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)