@@ -3662,7 +3662,28 @@ def test_baseconfig(self):
3662
3662
d = {
3663
3663
'atuple' : (1 , 2 , 3 ),
3664
3664
'alist' : ['a' , 'b' , 'c' ],
3665
- 'adict' : {'d' : 'e' , 'f' : 3 },
3665
+ 'adict' : {
3666
+ 'd' : 'e' , 'f' : 3 ,
3667
+ 'alpha numeric 1 with spaces' : 5 ,
3668
+ 'aplha numeric 1 %( - © ©ß¯' : 9 ,
3669
+ 'alpha numeric ] 1 with spaces' : 15 ,
3670
+ 'aplha ]] numeric 1 %( - © ©ß¯]' : 19 ,
3671
+ ' aplha [ numeric 1 %( - © ©ß¯] ' : 11 ,
3672
+ ' aplha ' : 32 ,
3673
+ '' : 10 ,
3674
+ 'nest4' : {
3675
+ 'd' : 'e' , 'f' : 3 ,
3676
+ 'alpha numeric 1 with spaces' : 5 ,
3677
+ 'aplha numeric 1 %( - © ©ß¯' : 9 ,
3678
+ '' : 10 ,
3679
+ 'somelist' : ('g' , ('h' , 'i' ), 'j' ),
3680
+ 'somedict' : {
3681
+ 'a' : 1 ,
3682
+ 'a with 1 and space' : 3 ,
3683
+ 'a with ( and space' : 4 ,
3684
+ }
3685
+ }
3686
+ },
3666
3687
'nest1' : ('g' , ('h' , 'i' ), 'j' ),
3667
3688
'nest2' : ['k' , ['l' , 'm' ], 'n' ],
3668
3689
'nest3' : ['o' , 'cfg://alist' , 'p' ],
@@ -3674,11 +3695,36 @@ def test_baseconfig(self):
3674
3695
self .assertEqual (bc .convert ('cfg://nest2[1][1]' ), 'm' )
3675
3696
self .assertEqual (bc .convert ('cfg://adict.d' ), 'e' )
3676
3697
self .assertEqual (bc .convert ('cfg://adict[f]' ), 3 )
3698
+ self .assertEqual (bc .convert ('cfg://adict[alpha numeric 1 with spaces]' ), 5 )
3699
+ self .assertEqual (bc .convert ('cfg://adict[aplha numeric 1 %( - © ©ß¯]' ), 9 )
3700
+ self .assertEqual (bc .convert ('cfg://adict[]' ), 10 )
3701
+ self .assertEqual (bc .convert ('cfg://adict.nest4.d' ), 'e' )
3702
+ self .assertEqual (bc .convert ('cfg://adict.nest4[d]' ), 'e' )
3703
+ self .assertEqual (bc .convert ('cfg://adict[nest4].d' ), 'e' )
3704
+ self .assertEqual (bc .convert ('cfg://adict[nest4][f]' ), 3 )
3705
+ self .assertEqual (bc .convert ('cfg://adict[nest4][alpha numeric 1 with spaces]' ), 5 )
3706
+ self .assertEqual (bc .convert ('cfg://adict[nest4][aplha numeric 1 %( - © ©ß¯]' ), 9 )
3707
+ self .assertEqual (bc .convert ('cfg://adict[nest4][]' ), 10 )
3708
+ self .assertEqual (bc .convert ('cfg://adict[nest4][somelist][0]' ), 'g' )
3709
+ self .assertEqual (bc .convert ('cfg://adict[nest4][somelist][1][0]' ), 'h' )
3710
+ self .assertEqual (bc .convert ('cfg://adict[nest4][somelist][1][1]' ), 'i' )
3711
+ self .assertEqual (bc .convert ('cfg://adict[nest4][somelist][2]' ), 'j' )
3712
+ self .assertEqual (bc .convert ('cfg://adict[nest4].somedict.a' ), 1 )
3713
+ self .assertEqual (bc .convert ('cfg://adict[nest4].somedict[a]' ), 1 )
3714
+ self .assertEqual (bc .convert ('cfg://adict[nest4].somedict[a with 1 and space]' ), 3 )
3715
+ self .assertEqual (bc .convert ('cfg://adict[nest4].somedict[a with ( and space]' ), 4 )
3716
+ self .assertEqual (bc .convert ('cfg://adict.nest4.somelist[1][1]' ), 'i' )
3717
+ self .assertEqual (bc .convert ('cfg://adict.nest4.somelist[2]' ), 'j' )
3718
+ self .assertEqual (bc .convert ('cfg://adict.nest4.somedict.a' ), 1 )
3719
+ self .assertEqual (bc .convert ('cfg://adict.nest4.somedict[a]' ), 1 )
3677
3720
v = bc .convert ('cfg://nest3' )
3678
3721
self .assertEqual (v .pop (1 ), ['a' , 'b' , 'c' ])
3679
3722
self .assertRaises (KeyError , bc .convert , 'cfg://nosuch' )
3680
3723
self .assertRaises (ValueError , bc .convert , 'cfg://!' )
3681
3724
self .assertRaises (KeyError , bc .convert , 'cfg://adict[2]' )
3725
+ self .assertRaises (KeyError , bc .convert , 'cfg://adict[alpha numeric ] 1 with spaces]' )
3726
+ self .assertRaises (ValueError , bc .convert , 'cfg://adict[ aplha ]] numeric 1 %( - © ©ß¯] ]' )
3727
+ self .assertRaises (ValueError , bc .convert , 'cfg://adict[ aplha [ numeric 1 %( - © ©ß¯] ]' )
3682
3728
3683
3729
def test_namedtuple (self ):
3684
3730
# see bpo-39142
0 commit comments