Skip to content

Commit c9afb4b

Browse files
authored
Merge pull request #3173 from jtpio/close-all
Fix the use of _active_widgets in Widget.close_all()
2 parents 624dfc8 + 3f8ae83 commit c9afb4b

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

ipywidgets/widgets/tests/test_widget.py

+12
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,15 @@ def test_widget_view():
4343
assert 'application/vnd.jupyter.widget-view+json' in mime_bundle, "widget should have have a view"
4444
assert cap.stdout == '', repr(cap.stdout)
4545
assert cap.stderr == '', repr(cap.stderr)
46+
47+
48+
def test_close_all():
49+
# create a couple of widgets
50+
widgets = [Button() for i in range(10)]
51+
52+
assert len(Widget._active_widgets) > 0, "expect active widgets"
53+
54+
# close all the widgets
55+
Widget.close_all()
56+
57+
assert len(Widget._active_widgets) == 0, "active widgets should be cleared"

ipywidgets/widgets/widget.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ class Widget(LoggingHasTraits):
271271

272272
@classmethod
273273
def close_all(cls):
274-
for widget in list(cls.widgets.values()):
274+
for widget in list(cls._active_widgets.values()):
275275
widget.close()
276276

277277

0 commit comments

Comments
 (0)