Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions tvbwidgets/tests/test_head_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,3 +126,24 @@ def mockk(token):

widget.load_selected_file(Sensors, '.txt')
assert 'Could not load' in widget.message_label.value


def test_head_widget_title_renders_class_name(mocker):
mocker.patch('k3d.Plot.display', lambda self: None)
widget = api.HeadWidget([])
html_widget = widget.children[0]
assert 'HeadWidget' in html_widget.value
assert "<class" not in html_widget.value, (
"HeadWidget title is rendering the class object. "
"Use HeadWidget.__name__ in the f-string, not HeadWidget directly."
)


def test_head_widget_accepts_extra_kwargs(mocker):
mocker.patch('k3d.Plot.display', lambda self: None)
try:
widget = api.HeadWidget([], description="test")
except TypeError as e:
raise AssertionError(
f"HeadWidget crashed with extra kwargs — likely *kwargs instead of **kwargs: {e}"
)
11 changes: 6 additions & 5 deletions tvbwidgets/tests/test_spacetime_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,9 @@ def test_add_options(wid):
assert wid.options.children[3].value == "None"







def test_default_border_not_mutated(wid):
from tvbwidgets.ui.base_widget import TVBWidget
assert 'min_width' not in TVBWidget.DEFAULT_BORDER, (
"SpaceTimeVisualizerWidget mutated the shared TVBWidget.DEFAULT_BORDER. "
"Use layout = {**self.DEFAULT_BORDER} instead of layout = self.DEFAULT_BORDER."
)
4 changes: 2 additions & 2 deletions tvbwidgets/ui/head_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ def __init__(self, datatypes, width=1200, height=550, **kwargs):
Docs
"""
self.output = ipywidgets.Output(layout=ipywidgets.Layout(width=str(width) + 'px', height=str(height) + 'px'))
super(HeadWidget, self).__init__([ipywidgets.HTML(value=f'<h1>{HeadWidget}</h1>'), self.output],
layout=self.DEFAULT_BORDER, *kwargs)
super(HeadWidget, self).__init__([ipywidgets.HTML(value=f'<h1>{HeadWidget.__name__}</h1>'), self.output],
layout=self.DEFAULT_BORDER, **kwargs)
self.plot = None
self.refresh_plot(datatypes)

Expand Down
2 changes: 1 addition & 1 deletion tvbwidgets/ui/spacetime_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ def _create_plots_overview(self):
plt.close(self.fig)

def _prepare_plot_details(self):
layout = self.DEFAULT_BORDER
layout = {**self.DEFAULT_BORDER}
layout['min_width'] = "150px"
self.plot_details = HTML(
value=self._generate_details(),
Expand Down