File tree Expand file tree Collapse file tree 2 files changed +15
-0
lines changed
python/ipywidgets/ipywidgets/widgets Expand file tree Collapse file tree 2 files changed +15
-0
lines changed Original file line number Diff line number Diff line change 1313from .. import widget
1414from ..widget import Widget
1515from ..widget_button import Button
16+ import copy
1617
1718
1819def test_no_widget_view ():
@@ -80,3 +81,11 @@ def test_compatibility():
8081 caller_path = inspect .stack (context = 0 )[1 ].filename
8182 assert all (x .filename == caller_path for x in record )
8283 assert len (record ) == 6
84+
85+
86+ def test_widget_copy ():
87+ button = Button ()
88+ with pytest .raises (NotImplementedError ):
89+ copy .copy (button )
90+ with pytest .raises (NotImplementedError ):
91+ copy .deepcopy (button )
Original file line number Diff line number Diff line change @@ -504,6 +504,12 @@ def __init__(self, **kwargs):
504504
505505 Widget ._call_widget_constructed (self )
506506 self .open ()
507+
508+ def __copy__ (self ):
509+ raise NotImplementedError ("Widgets cannot be copied; custom implementation required" )
510+
511+ def __deepcopy__ (self , memo ):
512+ raise NotImplementedError ("Widgets cannot be copied; custom implementation required" )
507513
508514 def __del__ (self ):
509515 """Object disposal"""
You can’t perform that action at this time.
0 commit comments