Fix Bash completion for sub-actions like "borgmatic config bootstrap" (#697 follow-on work).
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2023-06-15 10:55:31 -07:00
parent 1d7c7eaaa7
commit bbc7f0596c
15 changed files with 170 additions and 82 deletions

View File

@@ -0,0 +1,20 @@
import borgmatic.commands.arguments
from borgmatic.commands.completion import actions as module
def test_available_actions_uses_only_subactions_for_action_with_subactions():
unused_top_level_parser, subparsers = borgmatic.commands.arguments.make_parsers()
actions = module.available_actions(subparsers, 'config')
assert 'bootstrap' in actions
assert 'list' not in actions
def test_available_actions_omits_subactions_for_action_without_subactions():
unused_top_level_parser, subparsers = borgmatic.commands.arguments.make_parsers()
actions = module.available_actions(subparsers, 'list')
assert 'bootstrap' not in actions
assert 'config' in actions

View File

@@ -0,0 +1,5 @@
from borgmatic.commands.completion import bash as module
def test_bash_completion_does_not_raise():
assert module.bash_completion()

View File

@@ -0,0 +1,5 @@
from borgmatic.commands.completion import fish as module
def test_fish_completion_does_not_raise():
assert module.fish_completion()

View File

@@ -1,9 +0,0 @@
from borgmatic.commands import completion as module
def test_bash_completion_does_not_raise():
assert module.bash_completion()
def test_fish_completion_does_not_raise():
assert module.fish_completion()