@@ -25,6 +25,8 @@ class _Root:
25
25
26
26
proxy_cls = None
27
27
28
+ upstr_cls = None
29
+
28
30
def test_exposed_names (self ):
29
31
name = self .cls .__name__
30
32
while name .startswith ('_' ):
@@ -282,6 +284,16 @@ def test_get(self):
282
284
self .assertEqual (1 , d ['a' ])
283
285
284
286
287
+ class _NonProxyCIMultiDict (_CIMultiDictTests ):
288
+
289
+ def test_extend_with_upstr (self ):
290
+ us = self .upstr_cls ('a' )
291
+ d = self .make_dict ()
292
+
293
+ d .extend ((us , 'val' ))
294
+ self .assertEqual ([('A' , 'val' )], list (d .items ()))
295
+
296
+
285
297
class _TestProxy (_MultiDictTests ):
286
298
287
299
def make_dict (self , * args , ** kwargs ):
@@ -652,9 +664,11 @@ class PyMutableMultiDictTests(_BaseMutableMultiDictTests, unittest.TestCase):
652
664
cls = _MultiDict
653
665
654
666
655
- class PyCIMutableMultiDictTests (_CIMutableMultiDictTests , unittest .TestCase ):
667
+ class PyCIMutableMultiDictTests (_CIMutableMultiDictTests , _NonProxyCIMultiDict ,
668
+ unittest .TestCase ):
656
669
657
670
cls = _CIMultiDict
671
+ upstr_cls = _upstr
658
672
659
673
660
674
class TestMultiDictProxy (_TestProxy , unittest .TestCase ):
@@ -663,7 +677,7 @@ class TestMultiDictProxy(_TestProxy, unittest.TestCase):
663
677
proxy_cls = MultiDictProxy
664
678
665
679
666
- class TestCIMultiDictProxt (_TestCIProxy , unittest .TestCase ):
680
+ class TestCIMultiDictProxy (_TestCIProxy , unittest .TestCase ):
667
681
668
682
cls = CIMultiDict
669
683
proxy_cls = CIMultiDictProxy
@@ -674,9 +688,11 @@ class MutableMultiDictTests(_BaseMutableMultiDictTests, unittest.TestCase):
674
688
cls = MultiDict
675
689
676
690
677
- class CIMutableMultiDictTests (_CIMutableMultiDictTests , unittest .TestCase ):
691
+ class CIMutableMultiDictTests (_CIMutableMultiDictTests , _NonProxyCIMultiDict ,
692
+ unittest .TestCase ):
678
693
679
694
cls = CIMultiDict
695
+ upstr_cls = upstr
680
696
681
697
682
698
class _UpStrMixin :
0 commit comments