Skip to content
Merged
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
6 changes: 6 additions & 0 deletions Orange/widgets/data/owdatasets.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
from Orange.widgets import settings, gui
from Orange.widgets.utils.signals import Output
from Orange.widgets.utils.widgetpreview import WidgetPreview
from Orange.widgets.utils.state_summary import format_summary_details
from Orange.widgets.widget import OWWidget, Msg


Expand Down Expand Up @@ -232,6 +233,8 @@ def __init__(self):
self.splitter.addWidget(self.view)
self.splitter.addWidget(box)

self.info.set_output_summary(self.info.NoOutput)

self.splitter.setSizes([300, 200])
self.splitter.splitterMoved.connect(
lambda:
Expand Down Expand Up @@ -535,9 +538,12 @@ def closeEvent(self, event):
def load_and_output(self, path):
if path is None:
self.Outputs.data.send(None)
self.info.set_output_summary(self.info.NoOutput)
else:
data = self.load_data(path)
self.Outputs.data.send(data)
self.info.set_output_summary(len(data),
format_summary_details(data))

self.current_output = path
self.__update_cached_state()
Expand Down
19 changes: 19 additions & 0 deletions Orange/widgets/data/tests/test_owdatasets.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

from Orange.widgets.data.owdatasets import OWDataSets
from Orange.widgets.tests.base import WidgetTest
from Orange.widgets.utils.state_summary import format_summary_details


class TestOWDataSets(WidgetTest):
Expand Down Expand Up @@ -75,6 +76,24 @@ def test_dir_depth(self):
self.wait_until_stop_blocking(w)
self.assertEqual(w.view.model().rowCount(), 2)

@patch("Orange.widgets.data.owdatasets.OWDataSets.list_remote",
Mock(return_value={('core', 'iris.tab'): {}}))
@patch("Orange.widgets.data.owdatasets.OWDataSets.list_local",
Mock(return_value={}))
@patch("Orange.widgets.data.owdatasets.ensure_local",
Mock(return_value="iris.tab"))
def test_summary(self):
"""Check if status bar is updated when data is received"""
widget = self.create_widget(OWDataSets)
output_sum = widget.info.set_output_summary = Mock()
self.wait_until_stop_blocking(widget)
# select the only dataset
sel_type = QItemSelectionModel.ClearAndSelect | QItemSelectionModel.Rows
widget.view.selectionModel().select(widget.view.model().index(0, 0), sel_type)
widget.commit()
output = self.get_output(widget.Outputs.data, widget)
output_sum.assert_called_with(len(output),
format_summary_details(output))

if __name__ == "__main__":
unittest.main()