@@ -263,12 +263,16 @@ def _check_f(base, f):
263263
264264    @async_mark () 
265265    @td .check_file_leaks  
266-     async  def  test_tab_complete_warning (self , ip ):
266+     async  def  test_tab_complete_warning (self , ip ,  frame_or_series ):
267267        # GH 16409 
268268        pytest .importorskip ("IPython" , minversion = "6.0.0" )
269269        from  IPython .core .completer  import  provisionalcompleter 
270270
271-         code  =  "from pandas import DataFrame; df = DataFrame()" 
271+         if  frame_or_series  is  DataFrame :
272+             code  =  "from pandas import DataFrame; obj = DataFrame()" 
273+         else :
274+             code  =  "from pandas import Series; obj = Series(dtype=object)" 
275+ 
272276        await  ip .run_code (code )
273277
274278        # TODO: remove it when Ipython updates 
@@ -283,7 +287,7 @@ async def test_tab_complete_warning(self, ip):
283287            )
284288        with  warning :
285289            with  provisionalcompleter ("ignore" ):
286-                 list (ip .Completer .completions ("df ." , 1 ))
290+                 list (ip .Completer .completions ("obj ." , 1 ))
287291
288292    def  test_attrs (self ):
289293        df  =  DataFrame ({"A" : [2 , 3 ]})
@@ -294,31 +298,37 @@ def test_attrs(self):
294298        assert  result .attrs  ==  {"version" : 1 }
295299
296300    @pytest .mark .parametrize ("allows_duplicate_labels" , [True , False , None ]) 
297-     def  test_set_flags (self , allows_duplicate_labels ):
298-         df  =  DataFrame ({"A" : [1 , 2 ]})
299-         result  =  df .set_flags (allows_duplicate_labels = allows_duplicate_labels )
301+     def  test_set_flags (self , allows_duplicate_labels , frame_or_series ):
302+         obj  =  DataFrame ({"A" : [1 , 2 ]})
303+         key  =  (0 , 0 )
304+         if  frame_or_series  is  Series :
305+             obj  =  obj ["A" ]
306+             key  =  0 
307+ 
308+         result  =  obj .set_flags (allows_duplicate_labels = allows_duplicate_labels )
309+ 
300310        if  allows_duplicate_labels  is  None :
301311            # We don't update when it's not provided 
302312            assert  result .flags .allows_duplicate_labels  is  True 
303313        else :
304314            assert  result .flags .allows_duplicate_labels  is  allows_duplicate_labels 
305315
306316        # We made a copy 
307-         assert  df  is  not result 
317+         assert  obj  is  not result 
308318
309-         # We didn't mutate df  
310-         assert  df .flags .allows_duplicate_labels  is  True 
319+         # We didn't mutate obj  
320+         assert  obj .flags .allows_duplicate_labels  is  True 
311321
312322        # But we didn't copy data 
313-         result .iloc [0 ,  0 ] =  0 
314-         assert  df .iloc [0 ,  0 ] ==  0 
323+         result .iloc [key ] =  0 
324+         assert  obj .iloc [key ] ==  0 
315325
316326        # Now we do copy. 
317-         result  =  df .set_flags (
327+         result  =  obj .set_flags (
318328            copy = True , allows_duplicate_labels = allows_duplicate_labels 
319329        )
320-         result .iloc [0 ,  0 ] =  10 
321-         assert  df .iloc [0 ,  0 ] ==  0 
330+         result .iloc [key ] =  10 
331+         assert  obj .iloc [key ] ==  0 
322332
323333    @skip_if_no ("jinja2" ) 
324334    def  test_constructor_expanddim_lookup (self ):
0 commit comments