def test_help_completion(qtmodeltester, monkeypatch, stubs, key_config_stub): """Test the results of command completion. Validates that: - only non-deprecated commands are included - the command description is shown in the desc column - the binding (if any) is shown in the misc column - aliases are included - only the first line of a multiline description is shown """ module = 'qutebrowser.completion.models.miscmodels' key_config_stub.set_bindings_for('normal', {'s': 'stop', 'rr': 'roll'}) _patch_cmdutils(monkeypatch, stubs, module + '.cmdutils') _patch_configdata(monkeypatch, stubs, module + '.configdata.DATA') model = miscmodels.HelpCompletionModel() qtmodeltester.data_display_may_return_none = True qtmodeltester.check(model) _check_completions(model, { "Commands": [ (':stop', 'stop qutebrowser', 's'), (':drop', 'drop all user data', ''), (':roll', 'never gonna give you up', 'rr'), (':hide', '', ''), ], "Settings": [ ('general->time', 'Is an illusion.', ''), ('general->volume', 'Goes to 11', ''), ('ui->gesture', 'Waggle your hands to control qutebrowser', ''), ('ui->mind', 'Enable mind-control ui (experimental)', ''), ('ui->voice', 'Whether to respond to voice commands', ''), ('searchengines->DEFAULT', '', ''), ] })
def test_help_completion(monkeypatch, stubs): """Test the results of command completion. Validates that: - only non-hidden and non-deprecated commands are included - commands are sorted by name - the command description is shown in the desc column - the binding (if any) is shown in the misc column - aliases are included - only the first line of a multiline description is shown """ module = 'qutebrowser.completion.models.miscmodels' _patch_cmdutils(monkeypatch, stubs, module + '.cmdutils') _patch_configdata(monkeypatch, stubs, module + '.configdata.DATA') actual = _get_completions(miscmodels.HelpCompletionModel()) assert actual == [ ("Commands", [(':drop', 'drop all user data', ''), (':roll', 'never gonna give you up', ''), (':stop', 'stop qutebrowser', '')]), ("Settings", [ ('general->time', 'Is an illusion.', ''), ('general->volume', 'Goes to 11', ''), ('ui->gesture', 'Waggle your hands to control qutebrowser', ''), ('ui->mind', 'Enable mind-control ui (experimental)', ''), ('ui->voice', 'Whether to respond to voice commands', ''), ]) ]
def _init_helptopic_completion(): """Initialize the helptopic completion model.""" log.completion.debug("Initializing helptopic completion.") model = miscmodels.HelpCompletionModel() _instances[usertypes.Completion.helptopic] = model