|
1 | 1 | import unittest |
2 | 2 | import csv |
3 | 3 | import io |
| 4 | +from AnyQt.QtCore import Qt |
4 | 5 |
|
5 | 6 | from AnyQt.QtWidgets import QComboBox, QWidget |
6 | | -from AnyQt.QtTest import QSignalSpy |
| 7 | +from AnyQt.QtTest import QSignalSpy, QTest |
7 | 8 |
|
8 | 9 | from Orange.widgets.utils import textimport |
9 | 10 | from Orange.widgets.tests.base import GuiTest |
| 11 | +from Orange.widgets.utils.textimport import TablePreview, TablePreviewModel |
10 | 12 |
|
11 | 13 | ColumnTypes = textimport.ColumnType |
12 | 14 |
|
|
19 | 21 | DATA5 = b'a\tb\n' * 1000 |
20 | 22 |
|
21 | 23 |
|
22 | | -class WidgetsTests(GuiTest): |
| 24 | +class OptionsWidgetTests(GuiTest): |
23 | 25 | def test_options_widget(self): |
24 | 26 | w = textimport.CSVOptionsWidget() |
25 | 27 | schanged = QSignalSpy(w.optionsChanged) |
@@ -52,6 +54,8 @@ def test_options_widget(self): |
52 | 54 | self.assertEqual(d.delimiter, d1.delimiter) |
53 | 55 | self.assertEqual(d.quotechar, d1.quotechar) |
54 | 56 |
|
| 57 | + |
| 58 | +class ImportWidgetTest(GuiTest): |
55 | 59 | def test_import_widget(self): |
56 | 60 | w = textimport.CSVImportWidget() |
57 | 61 | w.setDialect(csv.excel()) |
@@ -101,6 +105,21 @@ def test_import_widget(self): |
101 | 105 | self.assertGreater(model.rowCount(), rows) |
102 | 106 | self.assertEqual(len(spy), 1) |
103 | 107 |
|
| 108 | + def test_preview_view(self): |
| 109 | + w = TablePreview() |
| 110 | + model = TablePreviewModel() |
| 111 | + model.setPreviewStream(csv.reader(io.StringIO(DATA4.decode('utf-8')))) |
| 112 | + w.setModel(model) |
| 113 | + QTest.mouseClick(w.verticalHeader().viewport(), Qt.LeftButton) |
| 114 | + self.assertEqual(w.selectionBehavior(), TablePreview.SelectRows) |
| 115 | + QTest.mouseClick(w.horizontalHeader().viewport(), Qt.LeftButton) |
| 116 | + self.assertEqual(w.selectionBehavior(), TablePreview.SelectColumns) |
| 117 | + |
| 118 | + QTest.mouseClick(w.verticalHeader().viewport(), Qt.LeftButton) |
| 119 | + self.assertEqual(w.selectionBehavior(), TablePreview.SelectRows) |
| 120 | + QTest.mouseClick(w.viewport(), Qt.LeftButton) |
| 121 | + self.assertEqual(w.selectionBehavior(), TablePreview.SelectColumns) |
| 122 | + |
104 | 123 |
|
105 | 124 | if __name__ == "__main__": |
106 | 125 | unittest.main(__name__) |
0 commit comments