Add some tests for config.configdata.

This commit is contained in:
Florian Bruhin 2015-08-02 00:59:13 +02:00
parent 26f6bb7d0d
commit e94e90baec
2 changed files with 45 additions and 0 deletions

View File

@ -34,6 +34,7 @@ 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',

View File

@ -0,0 +1,44 @@
# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et:
# Copyright 2015 Florian Bruhin (The Compiler) <mail@qutebrowser.org>
# 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 <http://www.gnu.org/licenses/>.
"""Tests for qutebrowser.config.configdata."""
import pytest
from qutebrowser.config import configdata
@pytest.mark.parametrize('sect', configdata.DATA.keys())
def test_section_desc(sect):
"""Make sure every section has a description."""
desc = configdata.SECTION_DESC[sect]
assert isinstance(desc, str)
def test_data():
"""Some simple sanity tests on data()."""
data = configdata.data()
assert 'general' in data
assert 'ignore-case' in data['general']
def test_readonly_data():
"""Make sure DATA is readonly."""
with pytest.raises(ValueError) as excinfo:
configdata.DATA['general'].setv('temp', 'ignore-case', 'true', 'true')
assert str(excinfo.value) == "Trying to modify a read-only config!"