diff --git a/scripts/dev/check_coverage.py b/scripts/dev/check_coverage.py index 80f47209a..8e16476c2 100644 --- a/scripts/dev/check_coverage.py +++ b/scripts/dev/check_coverage.py @@ -33,11 +33,13 @@ from scripts import utils PERFECT_FILES = [ 'qutebrowser/commands/cmdexc.py', - 'qutebrowser/config/configtypes.py', - 'qutebrowser/config/configdata.py', 'qutebrowser/misc/readline.py', 'qutebrowser/browser/tabhistory.py', + 'qutebrowser/config/configtypes.py', + 'qutebrowser/config/configdata.py', + 'qutebrowser/config/configexc.py', + 'qutebrowser/utils/qtutils.py', 'qutebrowser/utils/standarddir.py', 'qutebrowser/utils/urlutils.py', diff --git a/tests/config/test_configexc.py b/tests/config/test_configexc.py new file mode 100644 index 000000000..be773cd9d --- /dev/null +++ b/tests/config/test_configexc.py @@ -0,0 +1,50 @@ +# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et: +# Copyright 2015 Florian Bruhin (The Compiler) + +# 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.config.configexc.""" + +import pytest + +from qutebrowser.config import configexc + + +def test_validation_error(): + e = configexc.ValidationError('val', 'msg') + assert e.section is None + assert e.option is None + assert str(e) == "Invalid value 'val' - msg" + + +def test_no_section_error(): + e = configexc.NoSectionError('sect') + assert e.section == 'sect' + assert str(e) == "Section 'sect' does not exist!" + + +def test_no_option_error(): + e = configexc.NoOptionError('opt', 'sect') + assert e.section == 'sect' + assert e.option == 'opt' + assert str(e) == "No option 'opt' in section 'sect'" + + +def test_interpolation_syntax_error(): + e = configexc.InterpolationSyntaxError('opt', 'sect', 'msg') + assert e.section == 'sect' + assert e.option == 'opt' + assert str(e) == 'msg'