summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Kamat <jaygkamat@gmail.com>2018-09-27 19:17:46 -0700
committerJay Kamat <jaygkamat@gmail.com>2018-09-27 19:59:43 -0700
commitde148bb778105317b237d783e9f37311386760c8 (patch)
treed558930481480e9e4b1b79bb15c4ccda3e912a06
parent14e55eae498c98aaa51f7332d02efeb473679c7c (diff)
downloadqutebrowser-de148bb778105317b237d783e9f37311386760c8.tar.gz
qutebrowser-de148bb778105317b237d783e9f37311386760c8.zip
Fix tabwidget tests
-rw-r--r--qutebrowser/mainwindow/tabwidget.py9
-rw-r--r--tests/unit/mainwindow/test_tabwidget.py18
2 files changed, 12 insertions, 15 deletions
diff --git a/qutebrowser/mainwindow/tabwidget.py b/qutebrowser/mainwindow/tabwidget.py
index 09655a969..d2b0f744e 100644
--- a/qutebrowser/mainwindow/tabwidget.py
+++ b/qutebrowser/mainwindow/tabwidget.py
@@ -613,15 +613,12 @@ class TabBar(QTabBar):
width = self.minimumTabSizeHint(index, ellipsis=False).width()
else:
# Request as much space as possible so we fill the tabbar, let
- # Qt shrink us down
- width = self.width()
+ # Qt shrink us down. If for some reason (tests, bugs)
+ # self.width() gives 0, use a sane min of 10 px
+ width = max(self.width(), 10)
max_width = config.cache['tabs.max_width']
if max_width > 0:
width = min(max_width, width)
-
- # If for some reason (tests, bugs) self.width() gives 0, use a
- # sane min of 10 px
- width = max(width, 10)
size = QSize(width, height)
qtutils.ensure_valid(size)
return size
diff --git a/tests/unit/mainwindow/test_tabwidget.py b/tests/unit/mainwindow/test_tabwidget.py
index dba9f8f02..3b780a3fc 100644
--- a/tests/unit/mainwindow/test_tabwidget.py
+++ b/tests/unit/mainwindow/test_tabwidget.py
@@ -39,7 +39,6 @@ class TestTabWidget:
monkeypatch.setattr(tabwidget.objects, 'backend',
usertypes.Backend.QtWebKit)
w.show()
- # monkeypatch.setattr(w.tabBar(), 'width', w.width)
return w
@pytest.fixture
@@ -130,17 +129,18 @@ class TestTabWidget:
benchmark(widget.update_tab_titles)
- def test_tab_min_width(self, widget, fake_web_tab, config_stub):
+ def test_tab_min_width(self, widget, fake_web_tab, config_stub, qtbot):
widget.addTab(fake_web_tab(), 'foobar')
- normal_size = widget.tabBar().tabRect(0).width() + 100
- config_stub.val.tabs.min_width = normal_size
- assert widget.tabBar().tabRect(0).width() == normal_size
+ widget.addTab(fake_web_tab(), 'foobar1')
+ min_size = widget.tabBar().tabRect(0).width() + 10
+ config_stub.val.tabs.min_width = min_size
+ assert widget.tabBar().tabRect(0).width() == min_size
- def test_tab_max_width(self, widget, fake_web_tab, config_stub):
+ def test_tab_max_width(self, widget, fake_web_tab, config_stub, qtbot):
widget.addTab(fake_web_tab(), 'foobar')
- normal_size = widget.tabBar().tabRect(0).width() - 10
- config_stub.val.tabs.max_width = normal_size
- assert widget.tabBar().tabRect(0).width() == normal_size
+ max_size = widget.tabBar().tabRect(0).width() - 10
+ config_stub.val.tabs.max_width = max_size
+ assert widget.tabBar().tabRect(0).width() == max_size
@pytest.mark.parametrize("num_tabs", [4, 10])
def test_add_remove_tab_benchmark(self, benchmark, browser,