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 @@ -502,6 +502,12 @@ def __init__(self, **kwargs):
502502
503503 Widget ._call_widget_constructed (self )
504504 self .open ()
505+
506+ def __copy__ (self ):
507+ raise NotImplementedError ("Widgets cannot be copied; custom implementation required" )
508+
509+ def __deepcopy__ (self , memo ):
510+ raise NotImplementedError ("Widgets cannot be copied; custom implementation required" )
505511
506512 def __del__ (self ):
507513 """Object disposal"""
You can’t perform that action at this time.
0 commit comments