From 64b1b48be6c81c5911ce4b084641709a4ade586e Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 10:39:01 +0200 Subject: [PATCH 01/37] Extract test_no_metaobj to separate module --- qutebrowser/test/utils/test_debug.py | 9 ------ .../test/utils/test_debug/test_qenum_key.py | 30 +++++++++++++++++++ 2 files changed, 30 insertions(+), 9 deletions(-) create mode 100644 qutebrowser/test/utils/test_debug/test_qenum_key.py diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index b21db3fb0..a60f478ec 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -35,15 +35,6 @@ class QEnumKeyTests(unittest.TestCase): """Tests for qenum_key.""" - def test_no_metaobj(self): - """Test with an enum with no meta-object.""" - with self.assertRaises(AttributeError): - # Make sure it doesn't have a meta object - # pylint: disable=pointless-statement,no-member - QStyle.PrimitiveElement.staticMetaObject - key = debug.qenum_key(QStyle, QStyle.PE_PanelButtonCommand) - self.assertEqual(key, 'PE_PanelButtonCommand') - def test_metaobj(self): """Test with an enum with meta-object.""" # pylint: disable=pointless-statement diff --git a/qutebrowser/test/utils/test_debug/test_qenum_key.py b/qutebrowser/test/utils/test_debug/test_qenum_key.py new file mode 100644 index 000000000..3af0c2c1b --- /dev/null +++ b/qutebrowser/test/utils/test_debug/test_qenum_key.py @@ -0,0 +1,30 @@ +# Copyright 2014-2015 Florian Bruhin (The Compiler) +# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et: + +# +# This file is part of qutebrowser. +# +# qutebrowser is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# qutebrowser is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with qutebrowser. If not, see . + +"""Tests for qutebrowser.utils.debug.""" + + +def test_no_metaobj(self): + """Test with an enum with no meta-object.""" + with self.assertRaises(AttributeError): + # Make sure it doesn't have a meta object + # pylint: disable=pointless-statement,no-member + QStyle.PrimitiveElement.staticMetaObject + key = debug.qenum_key(QStyle, QStyle.PE_PanelButtonCommand) + self.assertEqual(key, 'PE_PanelButtonCommand') From d4d14598ddb68fe5b89aa3ec67bb2e38455dc1cb Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 10:46:14 +0200 Subject: [PATCH 02/37] Convert test_no_metaobj --- .../test/utils/test_debug/test_qenum_key.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/qutebrowser/test/utils/test_debug/test_qenum_key.py b/qutebrowser/test/utils/test_debug/test_qenum_key.py index 3af0c2c1b..e488e06ad 100644 --- a/qutebrowser/test/utils/test_debug/test_qenum_key.py +++ b/qutebrowser/test/utils/test_debug/test_qenum_key.py @@ -19,12 +19,20 @@ """Tests for qutebrowser.utils.debug.""" +import pytest -def test_no_metaobj(self): +from PyQt5.QtWidgets import QStyle + +from qutebrowser.utils import debug + + +def test_no_metaobj(): """Test with an enum with no meta-object.""" - with self.assertRaises(AttributeError): + + with pytest.raises(AttributeError): # Make sure it doesn't have a meta object # pylint: disable=pointless-statement,no-member QStyle.PrimitiveElement.staticMetaObject + key = debug.qenum_key(QStyle, QStyle.PE_PanelButtonCommand) - self.assertEqual(key, 'PE_PanelButtonCommand') + assert key == 'PE_PanelButtonCommand' From 11ded52f06ddeb2b20c415b35f74ef6ebf3141ae Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 10:48:54 +0200 Subject: [PATCH 03/37] Convert test_metaobj --- qutebrowser/test/utils/test_debug.py | 7 ------- qutebrowser/test/utils/test_debug/test_qenum_key.py | 12 +++++++++++- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index a60f478ec..09eae4fdb 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -35,13 +35,6 @@ class QEnumKeyTests(unittest.TestCase): """Tests for qenum_key.""" - def test_metaobj(self): - """Test with an enum with meta-object.""" - # pylint: disable=pointless-statement - QFrame.staticMetaObject # make sure it has a meta-object - key = debug.qenum_key(QFrame, QFrame.Sunken) - self.assertEqual(key, 'Sunken') - def test_add_base(self): """Test with add_base=True.""" key = debug.qenum_key(QFrame, QFrame.Sunken, add_base=True) diff --git a/qutebrowser/test/utils/test_debug/test_qenum_key.py b/qutebrowser/test/utils/test_debug/test_qenum_key.py index e488e06ad..183ec1622 100644 --- a/qutebrowser/test/utils/test_debug/test_qenum_key.py +++ b/qutebrowser/test/utils/test_debug/test_qenum_key.py @@ -21,7 +21,7 @@ import pytest -from PyQt5.QtWidgets import QStyle +from PyQt5.QtWidgets import QStyle, QFrame from qutebrowser.utils import debug @@ -36,3 +36,13 @@ def test_no_metaobj(): key = debug.qenum_key(QStyle, QStyle.PE_PanelButtonCommand) assert key == 'PE_PanelButtonCommand' + + +def test_metaobj(): + """Test with an enum with meta-object.""" + + # pylint: disable=pointless-statement + QFrame.staticMetaObject # make sure it has a meta-object + key = debug.qenum_key(QFrame, QFrame.Sunken) + + assert key == 'Sunken' From df3096fbb50deb05cdc1be13c0f2eddf3fc88370 Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 10:56:24 +0200 Subject: [PATCH 04/37] Convert test_add_base --- qutebrowser/test/utils/test_debug.py | 5 ----- qutebrowser/test/utils/test_debug/test_qenum_key.py | 9 ++++++++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index 09eae4fdb..4f1418405 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -35,11 +35,6 @@ class QEnumKeyTests(unittest.TestCase): """Tests for qenum_key.""" - def test_add_base(self): - """Test with add_base=True.""" - key = debug.qenum_key(QFrame, QFrame.Sunken, add_base=True) - self.assertEqual(key, 'QFrame.Sunken') - def test_int_noklass(self): """Test passing an int without explicit klass given.""" with self.assertRaises(TypeError): diff --git a/qutebrowser/test/utils/test_debug/test_qenum_key.py b/qutebrowser/test/utils/test_debug/test_qenum_key.py index 183ec1622..00cc572a7 100644 --- a/qutebrowser/test/utils/test_debug/test_qenum_key.py +++ b/qutebrowser/test/utils/test_debug/test_qenum_key.py @@ -43,6 +43,13 @@ def test_metaobj(): # pylint: disable=pointless-statement QFrame.staticMetaObject # make sure it has a meta-object - key = debug.qenum_key(QFrame, QFrame.Sunken) + key = debug.qenum_key(QFrame, QFrame.Sunken) assert key == 'Sunken' + + +def test_add_base(): + """Test with add_base=True.""" + + key = debug.qenum_key(QFrame, QFrame.Sunken, add_base=True) + assert key == 'QFrame.Sunken' From 9e59108788529297e91164b2e2bbe9c0d67cc9a6 Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 10:58:54 +0200 Subject: [PATCH 05/37] Convert test_int_noklass --- qutebrowser/test/utils/test_debug.py | 5 ----- qutebrowser/test/utils/test_debug/test_qenum_key.py | 7 +++++++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index 4f1418405..1a0561c65 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -35,11 +35,6 @@ class QEnumKeyTests(unittest.TestCase): """Tests for qenum_key.""" - def test_int_noklass(self): - """Test passing an int without explicit klass given.""" - with self.assertRaises(TypeError): - debug.qenum_key(QFrame, 42) - def test_int(self): """Test passing an int with explicit klass given.""" key = debug.qenum_key(QFrame, 0x0030, klass=QFrame.Shadow) diff --git a/qutebrowser/test/utils/test_debug/test_qenum_key.py b/qutebrowser/test/utils/test_debug/test_qenum_key.py index 00cc572a7..3680f07c6 100644 --- a/qutebrowser/test/utils/test_debug/test_qenum_key.py +++ b/qutebrowser/test/utils/test_debug/test_qenum_key.py @@ -53,3 +53,10 @@ def test_add_base(): key = debug.qenum_key(QFrame, QFrame.Sunken, add_base=True) assert key == 'QFrame.Sunken' + + +def test_int_noklass(): + """Test passing an int without explicit klass given.""" + + with pytest.raises(TypeError): + debug.qenum_key(QFrame, 42) From 1b476d9af7efd6970d565b514f6a152d00e8055f Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 11:00:56 +0200 Subject: [PATCH 06/37] Convert test_int --- qutebrowser/test/utils/test_debug.py | 5 ----- qutebrowser/test/utils/test_debug/test_qenum_key.py | 7 +++++++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index 1a0561c65..e0a6fcd7f 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -35,11 +35,6 @@ class QEnumKeyTests(unittest.TestCase): """Tests for qenum_key.""" - def test_int(self): - """Test passing an int with explicit klass given.""" - key = debug.qenum_key(QFrame, 0x0030, klass=QFrame.Shadow) - self.assertEqual(key, 'Sunken') - def test_unknown(self): """Test passing an unknown value.""" key = debug.qenum_key(QFrame, 0x1337, klass=QFrame.Shadow) diff --git a/qutebrowser/test/utils/test_debug/test_qenum_key.py b/qutebrowser/test/utils/test_debug/test_qenum_key.py index 3680f07c6..63379ee6c 100644 --- a/qutebrowser/test/utils/test_debug/test_qenum_key.py +++ b/qutebrowser/test/utils/test_debug/test_qenum_key.py @@ -60,3 +60,10 @@ def test_int_noklass(): with pytest.raises(TypeError): debug.qenum_key(QFrame, 42) + + +def test_int(): + """Test passing an int with explicit klass given.""" + + key = debug.qenum_key(QFrame, 0x0030, klass=QFrame.Shadow) + assert key == 'Sunken' From 6b7ae70e6d5e4911277decfd95cb6945a8efa801 Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 11:04:30 +0200 Subject: [PATCH 07/37] Convert test_unknown --- qutebrowser/test/utils/test_debug.py | 5 ----- qutebrowser/test/utils/test_debug/test_qenum_key.py | 7 +++++++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index e0a6fcd7f..daad21005 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -35,11 +35,6 @@ class QEnumKeyTests(unittest.TestCase): """Tests for qenum_key.""" - def test_unknown(self): - """Test passing an unknown value.""" - key = debug.qenum_key(QFrame, 0x1337, klass=QFrame.Shadow) - self.assertEqual(key, '0x1337') - def test_reconverted(self): """Test passing a flag value which was re-converted to an enum.""" # FIXME maybe this should return the right thing anyways? diff --git a/qutebrowser/test/utils/test_debug/test_qenum_key.py b/qutebrowser/test/utils/test_debug/test_qenum_key.py index 63379ee6c..09711b7ea 100644 --- a/qutebrowser/test/utils/test_debug/test_qenum_key.py +++ b/qutebrowser/test/utils/test_debug/test_qenum_key.py @@ -67,3 +67,10 @@ def test_int(): key = debug.qenum_key(QFrame, 0x0030, klass=QFrame.Shadow) assert key == 'Sunken' + + +def test_unknown(): + """Test passing an unknown value.""" + + key = debug.qenum_key(QFrame, 0x1337, klass=QFrame.Shadow) + assert key == '0x1337' From b938318d5fdeb925c4903876f8ba9f80b7e9fae0 Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 11:11:21 +0200 Subject: [PATCH 08/37] Remove former unittest class and skip test_reconverted --- qutebrowser/test/utils/test_debug.py | 10 ---------- qutebrowser/test/utils/test_debug/test_qenum_key.py | 12 +++++++++++- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index daad21005..36d261297 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -31,16 +31,6 @@ from qutebrowser.utils import debug from qutebrowser.test import stubs -class QEnumKeyTests(unittest.TestCase): - - """Tests for qenum_key.""" - - def test_reconverted(self): - """Test passing a flag value which was re-converted to an enum.""" - # FIXME maybe this should return the right thing anyways? - debug.qenum_key(Qt, Qt.Alignment(int(Qt.AlignLeft))) - - class QFlagsKeyTests(unittest.TestCase): """Tests for qflags_key().""" diff --git a/qutebrowser/test/utils/test_debug/test_qenum_key.py b/qutebrowser/test/utils/test_debug/test_qenum_key.py index 09711b7ea..f98c58c34 100644 --- a/qutebrowser/test/utils/test_debug/test_qenum_key.py +++ b/qutebrowser/test/utils/test_debug/test_qenum_key.py @@ -17,10 +17,11 @@ # You should have received a copy of the GNU General Public License # along with qutebrowser. If not, see . -"""Tests for qutebrowser.utils.debug.""" +"""Tests for qutebrowser.utils.debug.qenum_key.""" import pytest +from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QStyle, QFrame from qutebrowser.utils import debug @@ -74,3 +75,12 @@ def test_unknown(): key = debug.qenum_key(QFrame, 0x1337, klass=QFrame.Shadow) assert key == '0x1337' + + +def test_reconverted(): + """Test passing a flag value which was re-converted to an enum.""" + + pytest.skip(msg="It is not clear what this test is supposed to do") + + # FIXME maybe this should return the right thing anyways? + debug.qenum_key(Qt, Qt.Alignment(int(Qt.AlignLeft))) From 96a600e9dc88cc10a92ee9c23944949c2c0288a0 Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 16:37:31 +0200 Subject: [PATCH 09/37] Change containing directory name to debug --- qutebrowser/test/utils/{test_debug => debug}/test_qenum_key.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename qutebrowser/test/utils/{test_debug => debug}/test_qenum_key.py (100%) diff --git a/qutebrowser/test/utils/test_debug/test_qenum_key.py b/qutebrowser/test/utils/debug/test_qenum_key.py similarity index 100% rename from qutebrowser/test/utils/test_debug/test_qenum_key.py rename to qutebrowser/test/utils/debug/test_qenum_key.py From 9a478487940478edd6bc41034d88c02617c84ffe Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 18:22:13 +0200 Subject: [PATCH 10/37] Create a new module and convert test_single --- .../test/utils/debug/test_qflags_key.py | 33 +++++++++++++++++++ qutebrowser/test/utils/test_debug.py | 6 ---- 2 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 qutebrowser/test/utils/debug/test_qflags_key.py diff --git a/qutebrowser/test/utils/debug/test_qflags_key.py b/qutebrowser/test/utils/debug/test_qflags_key.py new file mode 100644 index 000000000..8b0116812 --- /dev/null +++ b/qutebrowser/test/utils/debug/test_qflags_key.py @@ -0,0 +1,33 @@ +# Copyright 2014-2015 Florian Bruhin (The Compiler) +# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et: + +# +# This file is part of qutebrowser. +# +# qutebrowser is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# qutebrowser is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with qutebrowser. If not, see . + +"""Tests for qutebrowser.utils.debug.qflags_key.""" + +import pytest + +from PyQt5.QtCore import Qt +from qutebrowser.utils import debug + + +@pytest.mark.xfail(reason="Broken but shouldn't generate a failure") +def test_single(): + """Test with single value.""" + + flags = debug.qflags_key(Qt, Qt.AlignTop) + assert flags == 'AlignTop' diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index 36d261297..4f1262caa 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -37,12 +37,6 @@ class QFlagsKeyTests(unittest.TestCase): # https://github.com/The-Compiler/qutebrowser/issues/42 - @unittest.skip('FIXME') - def test_single(self): - """Test with single value.""" - flags = debug.qflags_key(Qt, Qt.AlignTop) - self.assertEqual(flags, 'AlignTop') - @unittest.skip('FIXME') def test_multiple(self): """Test with multiple values.""" From f68cfc13e02632ad17b6e4b462497248893ea7bf Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 18:25:28 +0200 Subject: [PATCH 11/37] Convert test_multiple and use custom xfail marker --- qutebrowser/test/utils/debug/test_qflags_key.py | 13 ++++++++++++- qutebrowser/test/utils/test_debug.py | 6 ------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/qutebrowser/test/utils/debug/test_qflags_key.py b/qutebrowser/test/utils/debug/test_qflags_key.py index 8b0116812..f5214f3e0 100644 --- a/qutebrowser/test/utils/debug/test_qflags_key.py +++ b/qutebrowser/test/utils/debug/test_qflags_key.py @@ -25,9 +25,20 @@ from PyQt5.QtCore import Qt from qutebrowser.utils import debug -@pytest.mark.xfail(reason="Broken but shouldn't generate a failure") +fixme = pytest.mark.xfail(reason="Broken but shouldn't generate a failure") + + +@fixme def test_single(): """Test with single value.""" flags = debug.qflags_key(Qt, Qt.AlignTop) assert flags == 'AlignTop' + + +@fixme +def test_multiple(): + """Test with multiple values.""" + + flags = debug.qflags_key(Qt, Qt.AlignLeft | Qt.AlignTop) + assert flags == 'AlignLeft|AlignTop' diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index 4f1262caa..05a8e1eb2 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -37,12 +37,6 @@ class QFlagsKeyTests(unittest.TestCase): # https://github.com/The-Compiler/qutebrowser/issues/42 - @unittest.skip('FIXME') - def test_multiple(self): - """Test with multiple values.""" - flags = debug.qflags_key(Qt, Qt.AlignLeft | Qt.AlignTop) - self.assertEqual(flags, 'AlignLeft|AlignTop') - def test_combined(self): """Test with a combined value.""" flags = debug.qflags_key(Qt, Qt.AlignCenter) From 6482025399062e68e77cae05afcec42816495478 Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 18:29:33 +0200 Subject: [PATCH 12/37] Convert test_combined --- qutebrowser/test/utils/debug/test_qflags_key.py | 7 +++++++ qutebrowser/test/utils/test_debug.py | 5 ----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/qutebrowser/test/utils/debug/test_qflags_key.py b/qutebrowser/test/utils/debug/test_qflags_key.py index f5214f3e0..2007c85b0 100644 --- a/qutebrowser/test/utils/debug/test_qflags_key.py +++ b/qutebrowser/test/utils/debug/test_qflags_key.py @@ -42,3 +42,10 @@ def test_multiple(): flags = debug.qflags_key(Qt, Qt.AlignLeft | Qt.AlignTop) assert flags == 'AlignLeft|AlignTop' + + +def test_combined(): + """Test with a combined value.""" + + flags = debug.qflags_key(Qt, Qt.AlignCenter) + assert flags == 'AlignHCenter|AlignVCenter' diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index 05a8e1eb2..078e83c07 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -37,11 +37,6 @@ class QFlagsKeyTests(unittest.TestCase): # https://github.com/The-Compiler/qutebrowser/issues/42 - def test_combined(self): - """Test with a combined value.""" - flags = debug.qflags_key(Qt, Qt.AlignCenter) - self.assertEqual(flags, 'AlignHCenter|AlignVCenter') - @unittest.skip('FIXME') def test_add_base(self): """Test with add_base=True.""" From 75e927f79ede6dc22170cf731bba321d0e0e8c29 Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 18:33:22 +0200 Subject: [PATCH 13/37] Convert test_add_base --- qutebrowser/test/utils/debug/test_qflags_key.py | 8 ++++++++ qutebrowser/test/utils/test_debug.py | 6 ------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/qutebrowser/test/utils/debug/test_qflags_key.py b/qutebrowser/test/utils/debug/test_qflags_key.py index 2007c85b0..3f69a1158 100644 --- a/qutebrowser/test/utils/debug/test_qflags_key.py +++ b/qutebrowser/test/utils/debug/test_qflags_key.py @@ -49,3 +49,11 @@ def test_combined(): flags = debug.qflags_key(Qt, Qt.AlignCenter) assert flags == 'AlignHCenter|AlignVCenter' + + +@fixme +def test_add_base(): + """Test with add_base=True.""" + + flags = debug.qflags_key(Qt, Qt.AlignTop, add_base=True) + assert flags == 'Qt.AlignTop' diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index 078e83c07..beb6efd1c 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -37,12 +37,6 @@ class QFlagsKeyTests(unittest.TestCase): # https://github.com/The-Compiler/qutebrowser/issues/42 - @unittest.skip('FIXME') - def test_add_base(self): - """Test with add_base=True.""" - flags = debug.qflags_key(Qt, Qt.AlignTop, add_base=True) - self.assertEqual(flags, 'Qt.AlignTop') - def test_int_noklass(self): """Test passing an int without explicit klass given.""" with self.assertRaises(TypeError): From 086f12600c8f84be8b60358dae13cfedf34c4208 Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 18:37:12 +0200 Subject: [PATCH 14/37] Convert test_int_noklass --- qutebrowser/test/utils/debug/test_qflags_key.py | 7 +++++++ qutebrowser/test/utils/test_debug.py | 5 ----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/qutebrowser/test/utils/debug/test_qflags_key.py b/qutebrowser/test/utils/debug/test_qflags_key.py index 3f69a1158..de1d0e49c 100644 --- a/qutebrowser/test/utils/debug/test_qflags_key.py +++ b/qutebrowser/test/utils/debug/test_qflags_key.py @@ -57,3 +57,10 @@ def test_add_base(): flags = debug.qflags_key(Qt, Qt.AlignTop, add_base=True) assert flags == 'Qt.AlignTop' + + +def test_int_noklass(): + """Test passing an int without explicit klass given.""" + + with pytest.raises(TypeError): + debug.qflags_key(Qt, 42) diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index beb6efd1c..0f453f1c1 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -37,11 +37,6 @@ class QFlagsKeyTests(unittest.TestCase): # https://github.com/The-Compiler/qutebrowser/issues/42 - def test_int_noklass(self): - """Test passing an int without explicit klass given.""" - with self.assertRaises(TypeError): - debug.qflags_key(Qt, 42) - @unittest.skip('FIXME') def test_int(self): """Test passing an int with explicit klass given.""" From ff75d18e624844e0fcbc04d7e2332f30bb459990 Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 18:40:41 +0200 Subject: [PATCH 15/37] Convert test_int --- qutebrowser/test/utils/debug/test_qflags_key.py | 7 +++++++ qutebrowser/test/utils/test_debug.py | 6 ------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/qutebrowser/test/utils/debug/test_qflags_key.py b/qutebrowser/test/utils/debug/test_qflags_key.py index de1d0e49c..f2c4ecef3 100644 --- a/qutebrowser/test/utils/debug/test_qflags_key.py +++ b/qutebrowser/test/utils/debug/test_qflags_key.py @@ -64,3 +64,10 @@ def test_int_noklass(): with pytest.raises(TypeError): debug.qflags_key(Qt, 42) + +@fixme +def test_int(): + """Test passing an int with explicit klass given.""" + + flags = debug.qflags_key(Qt, 0x0021, klass=Qt.Alignment) + assert flags == 'AlignLeft|AlignTop' diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index 0f453f1c1..23d05b8ee 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -37,12 +37,6 @@ class QFlagsKeyTests(unittest.TestCase): # https://github.com/The-Compiler/qutebrowser/issues/42 - @unittest.skip('FIXME') - def test_int(self): - """Test passing an int with explicit klass given.""" - flags = debug.qflags_key(Qt, 0x0021, klass=Qt.Alignment) - self.assertEqual(flags, 'AlignLeft|AlignTop') - def test_unknown(self): """Test passing an unknown value.""" flags = debug.qflags_key(Qt, 0x1100, klass=Qt.Alignment) From 0b063ab4b42837e561c2d498ba03741b6b14f42c Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 18:51:40 +0200 Subject: [PATCH 16/37] Convert test_unknown --- qutebrowser/test/utils/debug/test_qflags_key.py | 12 +++++++++++- qutebrowser/test/utils/test_debug.py | 12 ------------ 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/qutebrowser/test/utils/debug/test_qflags_key.py b/qutebrowser/test/utils/debug/test_qflags_key.py index f2c4ecef3..fecc808ce 100644 --- a/qutebrowser/test/utils/debug/test_qflags_key.py +++ b/qutebrowser/test/utils/debug/test_qflags_key.py @@ -17,7 +17,10 @@ # You should have received a copy of the GNU General Public License # along with qutebrowser. If not, see . -"""Tests for qutebrowser.utils.debug.qflags_key.""" +"""Tests for qutebrowser.utils.debug.qflags_key. + +https://github.com/The-Compiler/qutebrowser/issues/42 +""" import pytest @@ -65,9 +68,16 @@ def test_int_noklass(): with pytest.raises(TypeError): debug.qflags_key(Qt, 42) + @fixme def test_int(): """Test passing an int with explicit klass given.""" flags = debug.qflags_key(Qt, 0x0021, klass=Qt.Alignment) assert flags == 'AlignLeft|AlignTop' + + +def test_unknown(): + """Test passing an unknown value.""" + flags = debug.qflags_key(Qt, 0x1100, klass=Qt.Alignment) + assert flags == '0x0100|0x1000' diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index 23d05b8ee..737763044 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -31,18 +31,6 @@ from qutebrowser.utils import debug from qutebrowser.test import stubs -class QFlagsKeyTests(unittest.TestCase): - - """Tests for qflags_key().""" - - # https://github.com/The-Compiler/qutebrowser/issues/42 - - def test_unknown(self): - """Test passing an unknown value.""" - flags = debug.qflags_key(Qt, 0x1100, klass=Qt.Alignment) - self.assertEqual(flags, '0x0100|0x1000') - - class TestDebug(unittest.TestCase): """Test signal debug output functions.""" From 5b372aeee0e81b94652702f08afb5d9dce1fe90f Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 18:55:24 +0200 Subject: [PATCH 17/37] Remove blank lines in test_qflags_key --- qutebrowser/test/utils/debug/test_qflags_key.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/qutebrowser/test/utils/debug/test_qflags_key.py b/qutebrowser/test/utils/debug/test_qflags_key.py index fecc808ce..371efdeff 100644 --- a/qutebrowser/test/utils/debug/test_qflags_key.py +++ b/qutebrowser/test/utils/debug/test_qflags_key.py @@ -34,7 +34,6 @@ fixme = pytest.mark.xfail(reason="Broken but shouldn't generate a failure") @fixme def test_single(): """Test with single value.""" - flags = debug.qflags_key(Qt, Qt.AlignTop) assert flags == 'AlignTop' @@ -42,14 +41,12 @@ def test_single(): @fixme def test_multiple(): """Test with multiple values.""" - flags = debug.qflags_key(Qt, Qt.AlignLeft | Qt.AlignTop) assert flags == 'AlignLeft|AlignTop' def test_combined(): """Test with a combined value.""" - flags = debug.qflags_key(Qt, Qt.AlignCenter) assert flags == 'AlignHCenter|AlignVCenter' @@ -57,14 +54,12 @@ def test_combined(): @fixme def test_add_base(): """Test with add_base=True.""" - flags = debug.qflags_key(Qt, Qt.AlignTop, add_base=True) assert flags == 'Qt.AlignTop' def test_int_noklass(): """Test passing an int without explicit klass given.""" - with pytest.raises(TypeError): debug.qflags_key(Qt, 42) @@ -72,7 +67,6 @@ def test_int_noklass(): @fixme def test_int(): """Test passing an int with explicit klass given.""" - flags = debug.qflags_key(Qt, 0x0021, klass=Qt.Alignment) assert flags == 'AlignLeft|AlignTop' From 58a8a7e992779a367b8f3a39c58ba12cf1fc41db Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 20:10:41 +0200 Subject: [PATCH 18/37] Introduce pytest plugin capturelog and convert test_log_time --- qutebrowser/test/utils/debug/test_log_time.py | 45 +++++++++++++++++++ qutebrowser/test/utils/test_debug.py | 17 ------- tox.ini | 1 + 3 files changed, 46 insertions(+), 17 deletions(-) create mode 100644 qutebrowser/test/utils/debug/test_log_time.py diff --git a/qutebrowser/test/utils/debug/test_log_time.py b/qutebrowser/test/utils/debug/test_log_time.py new file mode 100644 index 000000000..b5d1b97fe --- /dev/null +++ b/qutebrowser/test/utils/debug/test_log_time.py @@ -0,0 +1,45 @@ +# Copyright 2014-2015 Florian Bruhin (The Compiler) +# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et: + +# +# This file is part of qutebrowser. +# +# qutebrowser is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# qutebrowser is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with qutebrowser. If not, see . + +"""Tests for qutebrowser.utils.debug.log_time.""" + +import logging +import re +import time + +from qutebrowser.utils import debug + + +def test_log_time(caplog): + """Test if log_time logs properly.""" + logger = logging.getLogger('qt-tests') + + with caplog.atLevel(logging.DEBUG, logger='qt-tests'): + with debug.log_time(logger, action='foobar'): + time.sleep(0.1) + + records = caplog.records() + assert len(records) == 1 + + pattern = re.compile(r'^Foobar took ([\d.]*) seconds\.$') + match = pattern.match(records[0].msg) + assert match + + duration = float(match.group(1)) + assert abs(duration - 0.1) < 0.01 diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index 737763044..7bd2d94c4 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -59,22 +59,5 @@ class TestDebug(unittest.TestCase): r"fake('foo\nbar')") -class TestLogTime(unittest.TestCase): - - """Test log_time.""" - - def test_log_time(self): - """Test if log_time logs properly.""" - logger = logging.getLogger('qt-tests') - with self.assertLogs(logger, logging.DEBUG) as logged: - with debug.log_time(logger, action='foobar'): - time.sleep(0.1) - self.assertEqual(len(logged.records), 1) - pattern = re.compile(r'^Foobar took ([\d.]*) seconds\.$') - match = pattern.match(logged.records[0].msg) - self.assertTrue(match) - duration = float(match.group(1)) - self.assertAlmostEqual(duration, 0.1, delta=0.01) - if __name__ == '__main__': unittest.main() diff --git a/tox.ini b/tox.ini index 143d4f804..502915d7f 100644 --- a/tox.ini +++ b/tox.ini @@ -19,6 +19,7 @@ setenv = QT_QPA_PLATFORM_PLUGIN_PATH={envsitepackagesdir}/PyQt5/plugins/platform deps = py==1.4.26 pytest==2.7.0 + pytest-capturelog==0.7 # We don't use {[testenv:mkvenv]commands} here because that seems to be broken # on Ubuntu Trusty. commands = From 6fb83aacae00c71cffda5fc824fd72cdc70c6c82 Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 20:32:29 +0200 Subject: [PATCH 19/37] Add a local variable for the logger name --- qutebrowser/test/utils/debug/test_log_time.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/qutebrowser/test/utils/debug/test_log_time.py b/qutebrowser/test/utils/debug/test_log_time.py index b5d1b97fe..5619174aa 100644 --- a/qutebrowser/test/utils/debug/test_log_time.py +++ b/qutebrowser/test/utils/debug/test_log_time.py @@ -28,10 +28,11 @@ from qutebrowser.utils import debug def test_log_time(caplog): """Test if log_time logs properly.""" - logger = logging.getLogger('qt-tests') - with caplog.atLevel(logging.DEBUG, logger='qt-tests'): - with debug.log_time(logger, action='foobar'): + logger_name = 'qt-tests' + + with caplog.atLevel(logging.DEBUG, logger=logger_name): + with debug.log_time(logging.getLogger(), action='foobar'): time.sleep(0.1) records = caplog.records() From 91a8b23aeb7d2b4d0ceedb6d2e0aa8c5db9ec158 Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 20:40:37 +0200 Subject: [PATCH 20/37] Use actual unittest implementation of assertAlmostEqual --- qutebrowser/test/utils/debug/test_log_time.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/qutebrowser/test/utils/debug/test_log_time.py b/qutebrowser/test/utils/debug/test_log_time.py index 5619174aa..f64f81ce1 100644 --- a/qutebrowser/test/utils/debug/test_log_time.py +++ b/qutebrowser/test/utils/debug/test_log_time.py @@ -43,4 +43,6 @@ def test_log_time(caplog): assert match duration = float(match.group(1)) - assert abs(duration - 0.1) < 0.01 + + # Imitate unittests assertAlmostEqual(duration, 0.1, delta=0.01) + assert round(duration - 0.1, 2) == 0 From 45e95d497d9f7be39846724628f29d0b00fcdecb Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 21:41:41 +0200 Subject: [PATCH 21/37] Convert test_signal_name using a signal fixture --- qutebrowser/test/utils/debug/test_signal.py | 35 +++++++++++++++++++++ qutebrowser/test/utils/test_debug.py | 4 --- 2 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 qutebrowser/test/utils/debug/test_signal.py diff --git a/qutebrowser/test/utils/debug/test_signal.py b/qutebrowser/test/utils/debug/test_signal.py new file mode 100644 index 000000000..ff23680d0 --- /dev/null +++ b/qutebrowser/test/utils/debug/test_signal.py @@ -0,0 +1,35 @@ +# Copyright 2014-2015 Florian Bruhin (The Compiler) +# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et: + +# +# This file is part of qutebrowser. +# +# qutebrowser is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# qutebrowser is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with qutebrowser. If not, see . + +"""Test signal debug output functions.""" + +import pytest + +from qutebrowser.test import stubs +from qutebrowser.utils import debug + + +@pytest.fixture +def signal(): + return stubs.FakeSignal() + + +def test_signal_name(signal): + """Test signal_name().""" + assert debug.signal_name(signal) == 'fake' diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index 7bd2d94c4..e08b2b943 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -38,10 +38,6 @@ class TestDebug(unittest.TestCase): def setUp(self): self.signal = stubs.FakeSignal() - def test_signal_name(self): - """Test signal_name().""" - self.assertEqual(debug.signal_name(self.signal), 'fake') - def test_dbg_signal(self): """Test dbg_signal().""" self.assertEqual(debug.dbg_signal(self.signal, [23, 42]), From 9d39fbd4e5a1bf2a4749317b556099ad217026da Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 21:45:10 +0200 Subject: [PATCH 22/37] Convert test_dbg_signal --- qutebrowser/test/utils/debug/test_signal.py | 5 +++++ qutebrowser/test/utils/test_debug.py | 5 ----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/qutebrowser/test/utils/debug/test_signal.py b/qutebrowser/test/utils/debug/test_signal.py index ff23680d0..b6126b22f 100644 --- a/qutebrowser/test/utils/debug/test_signal.py +++ b/qutebrowser/test/utils/debug/test_signal.py @@ -33,3 +33,8 @@ def signal(): def test_signal_name(signal): """Test signal_name().""" assert debug.signal_name(signal) == 'fake' + + +def test_dbg_signal(signal): + """Test dbg_signal().""" + assert debug.dbg_signal(signal, [23, 42]) == 'fake(23, 42)' diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index e08b2b943..f36d7f24b 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -38,11 +38,6 @@ class TestDebug(unittest.TestCase): def setUp(self): self.signal = stubs.FakeSignal() - def test_dbg_signal(self): - """Test dbg_signal().""" - self.assertEqual(debug.dbg_signal(self.signal, [23, 42]), - 'fake(23, 42)') - def test_dbg_signal_eliding(self): """Test eliding in dbg_signal().""" self.assertEqual(debug.dbg_signal(self.signal, From 22522406e13cb98ed26e544bd2e864d9273317af Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 21:50:32 +0200 Subject: [PATCH 23/37] Convert test_dbg_signal_eliding --- qutebrowser/test/utils/debug/test_signal.py | 6 ++++++ qutebrowser/test/utils/test_debug.py | 6 ------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/qutebrowser/test/utils/debug/test_signal.py b/qutebrowser/test/utils/debug/test_signal.py index b6126b22f..177a11c6b 100644 --- a/qutebrowser/test/utils/debug/test_signal.py +++ b/qutebrowser/test/utils/debug/test_signal.py @@ -38,3 +38,9 @@ def test_signal_name(signal): def test_dbg_signal(signal): """Test dbg_signal().""" assert debug.dbg_signal(signal, [23, 42]) == 'fake(23, 42)' + + +def test_dbg_signal_eliding(signal): + """Test eliding in dbg_signal().""" + dbg_signal = debug.dbg_signal(signal, ['x' * 201]) + assert dbg_signal == "fake('{}\u2026)".format('x' * 198) diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index f36d7f24b..ee6ec30fe 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -38,12 +38,6 @@ class TestDebug(unittest.TestCase): def setUp(self): self.signal = stubs.FakeSignal() - def test_dbg_signal_eliding(self): - """Test eliding in dbg_signal().""" - self.assertEqual(debug.dbg_signal(self.signal, - ['x' * 201]), - "fake('{}\u2026)".format('x' * 198)) - def test_dbg_signal_newline(self): """Test dbg_signal() with a newline.""" self.assertEqual(debug.dbg_signal(self.signal, ['foo\nbar']), From 7540a5bbf4453fde3b307041a2be366db03a0649 Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 21:54:24 +0200 Subject: [PATCH 24/37] Convert test_dbg_signal_newline --- qutebrowser/test/utils/debug/test_signal.py | 6 ++++++ qutebrowser/test/utils/test_debug.py | 13 ------------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/qutebrowser/test/utils/debug/test_signal.py b/qutebrowser/test/utils/debug/test_signal.py index 177a11c6b..4bea5bf6d 100644 --- a/qutebrowser/test/utils/debug/test_signal.py +++ b/qutebrowser/test/utils/debug/test_signal.py @@ -44,3 +44,9 @@ def test_dbg_signal_eliding(signal): """Test eliding in dbg_signal().""" dbg_signal = debug.dbg_signal(signal, ['x' * 201]) assert dbg_signal == "fake('{}\u2026)".format('x' * 198) + + +def test_dbg_signal_newline(signal): + """Test dbg_signal() with a newline.""" + dbg_signal = debug.dbg_signal(signal, ['foo\nbar']) + assert dbg_signal == r"fake('foo\nbar')" diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index ee6ec30fe..13db4f1bd 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -31,18 +31,5 @@ from qutebrowser.utils import debug from qutebrowser.test import stubs -class TestDebug(unittest.TestCase): - - """Test signal debug output functions.""" - - def setUp(self): - self.signal = stubs.FakeSignal() - - def test_dbg_signal_newline(self): - """Test dbg_signal() with a newline.""" - self.assertEqual(debug.dbg_signal(self.signal, ['foo\nbar']), - r"fake('foo\nbar')") - - if __name__ == '__main__': unittest.main() From efbc8e0cbfb71442504500d029b676745e76dc55 Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 21:55:19 +0200 Subject: [PATCH 25/37] Remove former unittest module test_debug.py --- qutebrowser/test/utils/test_debug.py | 35 ---------------------------- 1 file changed, 35 deletions(-) delete mode 100644 qutebrowser/test/utils/test_debug.py diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py deleted file mode 100644 index 13db4f1bd..000000000 --- a/qutebrowser/test/utils/test_debug.py +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2014-2015 Florian Bruhin (The Compiler) -# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et: - -# -# This file is part of qutebrowser. -# -# qutebrowser is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# qutebrowser is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with qutebrowser. If not, see . - -"""Tests for qutebrowser.utils.debug.""" - -import re -import time -import unittest -import logging - -from PyQt5.QtCore import Qt -from PyQt5.QtWidgets import QStyle, QFrame - -from qutebrowser.utils import debug -from qutebrowser.test import stubs - - -if __name__ == '__main__': - unittest.main() From 231feda2c8fe1b3a7a80ce62ef3e3c7cc6e96868 Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 3 Apr 2015 22:45:26 +0200 Subject: [PATCH 26/37] Use logger with name of local var logger_name --- qutebrowser/test/utils/debug/test_log_time.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qutebrowser/test/utils/debug/test_log_time.py b/qutebrowser/test/utils/debug/test_log_time.py index f64f81ce1..008d726e7 100644 --- a/qutebrowser/test/utils/debug/test_log_time.py +++ b/qutebrowser/test/utils/debug/test_log_time.py @@ -32,7 +32,7 @@ def test_log_time(caplog): logger_name = 'qt-tests' with caplog.atLevel(logging.DEBUG, logger=logger_name): - with debug.log_time(logging.getLogger(), action='foobar'): + with debug.log_time(logging.getLogger(logger_name), action='foobar'): time.sleep(0.1) records = caplog.records() From fba0ae69ce0b59a49b2ebc81af2f5d60f8ec9bf5 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Fri, 3 Apr 2015 23:05:08 +0200 Subject: [PATCH 27/37] Remove test_reconverted from qenum_key tests. The test didn't really seem to test anything useful, and also uses a QFlags instead of a QEnum. --- qutebrowser/test/utils/debug/test_qenum_key.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/qutebrowser/test/utils/debug/test_qenum_key.py b/qutebrowser/test/utils/debug/test_qenum_key.py index f98c58c34..4361ba567 100644 --- a/qutebrowser/test/utils/debug/test_qenum_key.py +++ b/qutebrowser/test/utils/debug/test_qenum_key.py @@ -75,12 +75,3 @@ def test_unknown(): key = debug.qenum_key(QFrame, 0x1337, klass=QFrame.Shadow) assert key == '0x1337' - - -def test_reconverted(): - """Test passing a flag value which was re-converted to an enum.""" - - pytest.skip(msg="It is not clear what this test is supposed to do") - - # FIXME maybe this should return the right thing anyways? - debug.qenum_key(Qt, Qt.Alignment(int(Qt.AlignLeft))) From e94a8a80f17533b5bd660f1e6f8761cd9ed9ca0e Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Fri, 3 Apr 2015 23:18:56 +0200 Subject: [PATCH 28/37] test_qenum_key: Use hasattr() for attribute checks. --- qutebrowser/test/utils/debug/test_qenum_key.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/qutebrowser/test/utils/debug/test_qenum_key.py b/qutebrowser/test/utils/debug/test_qenum_key.py index 4361ba567..7b1e99bd4 100644 --- a/qutebrowser/test/utils/debug/test_qenum_key.py +++ b/qutebrowser/test/utils/debug/test_qenum_key.py @@ -30,10 +30,7 @@ from qutebrowser.utils import debug def test_no_metaobj(): """Test with an enum with no meta-object.""" - with pytest.raises(AttributeError): - # Make sure it doesn't have a meta object - # pylint: disable=pointless-statement,no-member - QStyle.PrimitiveElement.staticMetaObject + assert not hasattr(QStyle.PrimitiveElement, 'staticMetaObject') key = debug.qenum_key(QStyle, QStyle.PE_PanelButtonCommand) assert key == 'PE_PanelButtonCommand' @@ -42,8 +39,7 @@ def test_no_metaobj(): def test_metaobj(): """Test with an enum with meta-object.""" - # pylint: disable=pointless-statement - QFrame.staticMetaObject # make sure it has a meta-object + assert hasattr(QFrame, 'staticMetaObject') key = debug.qenum_key(QFrame, QFrame.Sunken) assert key == 'Sunken' From 0e76f9b1f12aee41a23437b35fc32461ab566978 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Fri, 3 Apr 2015 23:19:49 +0200 Subject: [PATCH 29/37] Whitespace adjustments --- qutebrowser/test/utils/debug/test_qenum_key.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/qutebrowser/test/utils/debug/test_qenum_key.py b/qutebrowser/test/utils/debug/test_qenum_key.py index 7b1e99bd4..c111ff311 100644 --- a/qutebrowser/test/utils/debug/test_qenum_key.py +++ b/qutebrowser/test/utils/debug/test_qenum_key.py @@ -29,45 +29,37 @@ from qutebrowser.utils import debug def test_no_metaobj(): """Test with an enum with no meta-object.""" - assert not hasattr(QStyle.PrimitiveElement, 'staticMetaObject') - key = debug.qenum_key(QStyle, QStyle.PE_PanelButtonCommand) assert key == 'PE_PanelButtonCommand' def test_metaobj(): """Test with an enum with meta-object.""" - assert hasattr(QFrame, 'staticMetaObject') - key = debug.qenum_key(QFrame, QFrame.Sunken) assert key == 'Sunken' def test_add_base(): """Test with add_base=True.""" - key = debug.qenum_key(QFrame, QFrame.Sunken, add_base=True) assert key == 'QFrame.Sunken' def test_int_noklass(): """Test passing an int without explicit klass given.""" - with pytest.raises(TypeError): debug.qenum_key(QFrame, 42) def test_int(): """Test passing an int with explicit klass given.""" - key = debug.qenum_key(QFrame, 0x0030, klass=QFrame.Shadow) assert key == 'Sunken' def test_unknown(): """Test passing an unknown value.""" - key = debug.qenum_key(QFrame, 0x1337, klass=QFrame.Shadow) assert key == '0x1337' From 544dc650e77379f592406cf6d237d4475e9c4104 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Fri, 3 Apr 2015 23:23:31 +0200 Subject: [PATCH 30/37] Remove now unused imports from test_debug. --- qutebrowser/test/utils/test_debug.py | 1 - 1 file changed, 1 deletion(-) diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index 36d261297..203423cfe 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -25,7 +25,6 @@ import unittest import logging from PyQt5.QtCore import Qt -from PyQt5.QtWidgets import QStyle, QFrame from qutebrowser.utils import debug from qutebrowser.test import stubs From 05087b976a2d9ec5821e618dc9a142d8d0b04316 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Fri, 3 Apr 2015 23:43:06 +0200 Subject: [PATCH 31/37] test_qflags_key: Improve xfail message. --- qutebrowser/test/utils/debug/test_qflags_key.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qutebrowser/test/utils/debug/test_qflags_key.py b/qutebrowser/test/utils/debug/test_qflags_key.py index 371efdeff..6a2a85069 100644 --- a/qutebrowser/test/utils/debug/test_qflags_key.py +++ b/qutebrowser/test/utils/debug/test_qflags_key.py @@ -28,7 +28,7 @@ from PyQt5.QtCore import Qt from qutebrowser.utils import debug -fixme = pytest.mark.xfail(reason="Broken but shouldn't generate a failure") +fixme = pytest.mark.xfail(reason="See issue #42", raises=AssertionError) @fixme From 2ac0c7b8f07844ecfbbf2be4356d0b0d5264afd9 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Fri, 3 Apr 2015 23:52:13 +0200 Subject: [PATCH 32/37] Remove now unused import from test_debug. --- qutebrowser/test/utils/test_debug.py | 1 - 1 file changed, 1 deletion(-) diff --git a/qutebrowser/test/utils/test_debug.py b/qutebrowser/test/utils/test_debug.py index 737763044..107f06d32 100644 --- a/qutebrowser/test/utils/test_debug.py +++ b/qutebrowser/test/utils/test_debug.py @@ -24,7 +24,6 @@ import time import unittest import logging -from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QStyle, QFrame from qutebrowser.utils import debug From 80b069297190c6717cd310528f926dad93622b3f Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Sat, 4 Apr 2015 01:11:57 +0200 Subject: [PATCH 33/37] Remove blank line to make pep257 happy. --- qutebrowser/test/utils/debug/test_log_time.py | 1 - 1 file changed, 1 deletion(-) diff --git a/qutebrowser/test/utils/debug/test_log_time.py b/qutebrowser/test/utils/debug/test_log_time.py index 008d726e7..a83ce9f88 100644 --- a/qutebrowser/test/utils/debug/test_log_time.py +++ b/qutebrowser/test/utils/debug/test_log_time.py @@ -28,7 +28,6 @@ from qutebrowser.utils import debug def test_log_time(caplog): """Test if log_time logs properly.""" - logger_name = 'qt-tests' with caplog.atLevel(logging.DEBUG, logger=logger_name): From 8e9374704083adcd290d6abbc16a2a16450e6d67 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Sat, 4 Apr 2015 12:03:26 +0200 Subject: [PATCH 34/37] test_log_time: Fix/simplify duration assert. See #13. --- qutebrowser/test/utils/debug/test_log_time.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/qutebrowser/test/utils/debug/test_log_time.py b/qutebrowser/test/utils/debug/test_log_time.py index a83ce9f88..72a8e8d4a 100644 --- a/qutebrowser/test/utils/debug/test_log_time.py +++ b/qutebrowser/test/utils/debug/test_log_time.py @@ -42,6 +42,5 @@ def test_log_time(caplog): assert match duration = float(match.group(1)) - - # Imitate unittests assertAlmostEqual(duration, 0.1, delta=0.01) - assert round(duration - 0.1, 2) == 0 + assert duration >= 0.09 + assert duration <= 0.11 From f1ebbda7a0e7cbfdc1e2738204b3400509ef42e0 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Sat, 4 Apr 2015 12:08:22 +0200 Subject: [PATCH 35/37] test_signal: Add docstring for signal(). --- qutebrowser/test/utils/debug/test_signal.py | 1 + 1 file changed, 1 insertion(+) diff --git a/qutebrowser/test/utils/debug/test_signal.py b/qutebrowser/test/utils/debug/test_signal.py index 4bea5bf6d..32d994e78 100644 --- a/qutebrowser/test/utils/debug/test_signal.py +++ b/qutebrowser/test/utils/debug/test_signal.py @@ -27,6 +27,7 @@ from qutebrowser.utils import debug @pytest.fixture def signal(): + """Fixture to provide a faked pyqtSignal.""" return stubs.FakeSignal() From cef88d6e19d09ee99f9d2d3884a052d444799d7f Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Sat, 4 Apr 2015 16:33:10 +0200 Subject: [PATCH 36/37] test_log_time: Prettify duration assertion. As suggested by @nicoddemus in #13. --- qutebrowser/test/utils/debug/test_log_time.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/qutebrowser/test/utils/debug/test_log_time.py b/qutebrowser/test/utils/debug/test_log_time.py index 72a8e8d4a..f7da1a220 100644 --- a/qutebrowser/test/utils/debug/test_log_time.py +++ b/qutebrowser/test/utils/debug/test_log_time.py @@ -42,5 +42,4 @@ def test_log_time(caplog): assert match duration = float(match.group(1)) - assert duration >= 0.09 - assert duration <= 0.11 + assert 0.09 <= duration <= 0.11 From 1e1a433dff4b79cc0b5fcb071a6c9f6b646eab01 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Sat, 4 Apr 2015 23:32:32 +0200 Subject: [PATCH 37/37] Regenerate authors. --- README.asciidoc | 1 + 1 file changed, 1 insertion(+) diff --git a/README.asciidoc b/README.asciidoc index f445a9c6f..f8bc6afe5 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -134,6 +134,7 @@ Contributors, sorted by the number of commits in descending order: // QUTE_AUTHORS_START * Florian Bruhin * Joel Torstensson +* Raphael Pierzina * Claude * ZDarian * Peter Vilim