@@ -2047,6 +2047,27 @@ def test_listen_config_1_ok(self):
20472047 # Original logger output is empty.
20482048 self .assert_log_lines ([])
20492049
2050+ def test_baseconfig (self ):
2051+ d = {
2052+ 'atuple' : (1 , 2 , 3 ),
2053+ 'alist' : ['a' , 'b' , 'c' ],
2054+ 'adict' : {'d' : 'e' , 'f' : 3 },
2055+ 'nest1' : ('g' , ('h' , 'i' ), 'j' ),
2056+ 'nest2' : ['k' , ['l' , 'm' ], 'n' ],
2057+ 'nest3' : ['o' , 'cfg://alist' , 'p' ],
2058+ }
2059+ bc = logging .config .BaseConfigurator (d )
2060+ self .assertEqual (bc .convert ('cfg://atuple[1]' ), 2 )
2061+ self .assertEqual (bc .convert ('cfg://alist[1]' ), 'b' )
2062+ self .assertEqual (bc .convert ('cfg://nest1[1][0]' ), 'h' )
2063+ self .assertEqual (bc .convert ('cfg://nest2[1][1]' ), 'm' )
2064+ self .assertEqual (bc .convert ('cfg://adict.d' ), 'e' )
2065+ self .assertEqual (bc .convert ('cfg://adict[f]' ), 3 )
2066+ v = bc .convert ('cfg://nest3' )
2067+ self .assertEqual (v .pop (1 ), ['a' , 'b' , 'c' ])
2068+ self .assertRaises (KeyError , bc .convert , 'cfg://nosuch' )
2069+ self .assertRaises (ValueError , bc .convert , 'cfg://!' )
2070+ self .assertRaises (KeyError , bc .convert , 'cfg://adict[2]' )
20502071
20512072class ManagerTest (BaseTest ):
20522073 def test_manager_loggerclass (self ):
0 commit comments