Add missing tests for completions
This commit is contained in:
parent
60f0175a36
commit
5eb340d481
@ -173,6 +173,8 @@ PERFECT_FILES = [
|
|||||||
'completion/models/util.py'),
|
'completion/models/util.py'),
|
||||||
('tests/unit/completion/test_models.py',
|
('tests/unit/completion/test_models.py',
|
||||||
'completion/models/urlmodel.py'),
|
'completion/models/urlmodel.py'),
|
||||||
|
('tests/unit/completion/test_models.py',
|
||||||
|
'completion/models/configmodel.py'),
|
||||||
('tests/unit/completion/test_histcategory.py',
|
('tests/unit/completion/test_histcategory.py',
|
||||||
'completion/models/histcategory.py'),
|
'completion/models/histcategory.py'),
|
||||||
('tests/unit/completion/test_listcategory.py',
|
('tests/unit/completion/test_listcategory.py',
|
||||||
|
@ -28,7 +28,7 @@ from PyQt5.QtCore import QUrl
|
|||||||
from qutebrowser.completion import completer
|
from qutebrowser.completion import completer
|
||||||
from qutebrowser.completion.models import miscmodels, urlmodel, configmodel
|
from qutebrowser.completion.models import miscmodels, urlmodel, configmodel
|
||||||
from qutebrowser.config import configdata, configtypes
|
from qutebrowser.config import configdata, configtypes
|
||||||
from qutebrowser.utils import objreg
|
from qutebrowser.utils import objreg, usertypes
|
||||||
from qutebrowser.browser import history
|
from qutebrowser.browser import history
|
||||||
from qutebrowser.commands import cmdutils
|
from qutebrowser.commands import cmdutils
|
||||||
|
|
||||||
@ -91,7 +91,8 @@ def configdata_stub(config_stub, monkeypatch, configdata_init):
|
|||||||
valtype=configtypes.Command(),
|
valtype=configtypes.Command(),
|
||||||
),
|
),
|
||||||
default={'q': 'quit'},
|
default={'q': 'quit'},
|
||||||
backends=[],
|
backends=[usertypes.Backend.QtWebKit,
|
||||||
|
usertypes.Backend.QtWebEngine],
|
||||||
raw_backends=None)),
|
raw_backends=None)),
|
||||||
('bindings.default', configdata.Option(
|
('bindings.default', configdata.Option(
|
||||||
name='bindings.default',
|
name='bindings.default',
|
||||||
@ -131,6 +132,13 @@ def configdata_stub(config_stub, monkeypatch, configdata_init):
|
|||||||
},
|
},
|
||||||
backends=[],
|
backends=[],
|
||||||
raw_backends=None)),
|
raw_backends=None)),
|
||||||
|
('content.javascript.enabled', configdata.Option(
|
||||||
|
name='content.javascript.enabled',
|
||||||
|
description='Enable/Disable JavaScript',
|
||||||
|
typ=configtypes.Bool(),
|
||||||
|
default=True,
|
||||||
|
backends=[],
|
||||||
|
raw_backends=None)),
|
||||||
]))
|
]))
|
||||||
config_stub._init_values()
|
config_stub._init_values()
|
||||||
|
|
||||||
@ -248,6 +256,7 @@ def test_help_completion(qtmodeltester, cmdutils_stub, key_config_stub,
|
|||||||
('aliases', 'Aliases for commands.', None),
|
('aliases', 'Aliases for commands.', None),
|
||||||
('bindings.commands', 'Default keybindings', None),
|
('bindings.commands', 'Default keybindings', None),
|
||||||
('bindings.default', 'Default keybindings', None),
|
('bindings.default', 'Default keybindings', None),
|
||||||
|
('content.javascript.enabled', 'Enable/Disable JavaScript', None),
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -648,10 +657,66 @@ def test_setting_option_completion(qtmodeltester, config_stub,
|
|||||||
'"I": "invalid", "d": "scroll down"}}')),
|
'"I": "invalid", "d": "scroll down"}}')),
|
||||||
('bindings.default', 'Default keybindings',
|
('bindings.default', 'Default keybindings',
|
||||||
'{"normal": {"<ctrl+q>": "quit", "d": "tab-close"}}'),
|
'{"normal": {"<ctrl+q>": "quit", "d": "tab-close"}}'),
|
||||||
|
('content.javascript.enabled', 'Enable/Disable JavaScript',
|
||||||
|
'true'),
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
def test_setting_customized_option_completion(qtmodeltester, config_stub,
|
||||||
|
configdata_stub, info):
|
||||||
|
info.config.set_obj('aliases', {'foo': 'nop'})
|
||||||
|
|
||||||
|
model = configmodel.customized_option(info=info)
|
||||||
|
model.set_pattern('')
|
||||||
|
qtmodeltester.data_display_may_return_none = True
|
||||||
|
qtmodeltester.check(model)
|
||||||
|
|
||||||
|
_check_completions(model, {
|
||||||
|
"Customized options": [
|
||||||
|
('aliases', 'Aliases for commands.', '{"foo": "nop"}'),
|
||||||
|
]
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
def test_setting_value_completion(qtmodeltester, config_stub, configdata_stub,
|
||||||
|
info):
|
||||||
|
model = configmodel.value(optname='content.javascript.enabled', info=info)
|
||||||
|
model.set_pattern('')
|
||||||
|
qtmodeltester.data_display_may_return_none = True
|
||||||
|
qtmodeltester.check(model)
|
||||||
|
|
||||||
|
_check_completions(model, {
|
||||||
|
"Current/Default": [
|
||||||
|
('true', 'Current value', None),
|
||||||
|
('true', 'Default value', None),
|
||||||
|
],
|
||||||
|
"Completions": [
|
||||||
|
('false', '', None),
|
||||||
|
('true', '', None),
|
||||||
|
],
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
def test_setting_value_no_completions(qtmodeltester, config_stub,
|
||||||
|
configdata_stub, info):
|
||||||
|
model = configmodel.value(optname='aliases', info=info)
|
||||||
|
model.set_pattern('')
|
||||||
|
qtmodeltester.data_display_may_return_none = True
|
||||||
|
qtmodeltester.check(model)
|
||||||
|
|
||||||
|
_check_completions(model, {
|
||||||
|
"Current/Default": [
|
||||||
|
('{"q": "quit"}', 'Current value', None),
|
||||||
|
('{"q": "quit"}', 'Default value', None),
|
||||||
|
],
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
def test_setting_value_completion_invalid(info):
|
||||||
|
assert configmodel.value(optname='foobarbaz', info=info) is None
|
||||||
|
|
||||||
|
|
||||||
def test_bind_completion(qtmodeltester, cmdutils_stub, config_stub,
|
def test_bind_completion(qtmodeltester, cmdutils_stub, config_stub,
|
||||||
key_config_stub, configdata_stub, info):
|
key_config_stub, configdata_stub, info):
|
||||||
"""Test the results of keybinding command completion.
|
"""Test the results of keybinding command completion.
|
||||||
|
Loading…
Reference in New Issue
Block a user