From de26eb599ef8855f5f7dc0167f1eb1663182cd4b Mon Sep 17 00:00:00 2001 From: ulif <uli@gnufix.de> Date: Wed, 28 Jan 2015 11:25:16 +0100 Subject: [PATCH] Support num argument. --- diceware/diceware.py | 3 +++ tests/test_diceware.py | 10 ++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/diceware/diceware.py b/diceware/diceware.py index 57daa2f..7b52ebc 100644 --- a/diceware/diceware.py +++ b/diceware/diceware.py @@ -19,6 +19,9 @@ def handle_options(args): """Handle commandline options. """ parser = argparse.ArgumentParser(description="Create a passphrase") + parser.add_argument( + '-n', '--num', default=6, type=int, + help='number of words to concatenate. Default: 6') args = parser.parse_args(args) return args diff --git a/tests/test_diceware.py b/tests/test_diceware.py index e094d05..259ec6d 100644 --- a/tests/test_diceware.py +++ b/tests/test_diceware.py @@ -62,6 +62,11 @@ class TestDicewareModule(object): handle_options(['--help']) assert exc_info.value.code == 0 + def test_handle_options_defaults(self): + # defaults are correctly set + options = handle_options([]) + assert options.num == 6 + def test_main(self, capsys): # we can get help with pytest.raises(SystemExit) as exc_info: @@ -71,10 +76,11 @@ class TestDicewareModule(object): out = out.replace( os.path.basename(sys.argv[0]), 'diceware') assert out == ( - 'usage: diceware [-h]\n' + 'usage: diceware [-h] [-n NUM]\n' '\n' 'Create a passphrase\n' '\n' 'optional arguments:\n' - ' -h, --help show this help message and exit\n' + ' -h, --help show this help message and exit\n' + ' -n NUM, --num NUM number of words to concatenate. Default: 6\n' ) -- GitLab