]> granicus.if.org Git - python/commitdiff
Yet more test_logging coverage improvements.
authorVinay Sajip <vinay_sajip@yahoo.co.uk>
Tue, 26 Apr 2011 19:05:24 +0000 (20:05 +0100)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>
Tue, 26 Apr 2011 19:05:24 +0000 (20:05 +0100)
Lib/test/test_logging.py

index cad0ad7c6ef4ebcf5cab6377b093ad1e3d5b0acc..813e62a01425e3d611401aafafa44fcfef734c61 100644 (file)
@@ -2047,6 +2047,27 @@ class ConfigDictTest(BaseTest):
             # Original logger output is empty.
             self.assert_log_lines([])
 
+    def test_baseconfig(self):
+        d = {
+            'atuple': (1, 2, 3),
+            'alist': ['a', 'b', 'c'],
+            'adict': {'d': 'e', 'f': 3 },
+            'nest1': ('g', ('h', 'i'), 'j'),
+            'nest2': ['k', ['l', 'm'], 'n'],
+            'nest3': ['o', 'cfg://alist', 'p'],
+        }
+        bc = logging.config.BaseConfigurator(d)
+        self.assertEqual(bc.convert('cfg://atuple[1]'), 2)
+        self.assertEqual(bc.convert('cfg://alist[1]'), 'b')
+        self.assertEqual(bc.convert('cfg://nest1[1][0]'), 'h')
+        self.assertEqual(bc.convert('cfg://nest2[1][1]'), 'm')
+        self.assertEqual(bc.convert('cfg://adict.d'), 'e')
+        self.assertEqual(bc.convert('cfg://adict[f]'), 3)
+        v = bc.convert('cfg://nest3')
+        self.assertEqual(v.pop(1), ['a', 'b', 'c'])
+        self.assertRaises(KeyError, bc.convert, 'cfg://nosuch')
+        self.assertRaises(ValueError, bc.convert, 'cfg://!')
+        self.assertRaises(KeyError, bc.convert, 'cfg://adict[2]')
 
 class ManagerTest(BaseTest):
     def test_manager_loggerclass(self):