diff --git a/diceware/diceware.py b/diceware/diceware.py index 57daa2f0c795b38805a13fef3dceb2c710faf344..7b52ebce6c09f92c9e475e6de16fac7ad9c9d2e2 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 e094d0592a7415bd8bf7b081774f7c24c66c7440..259ec6d1c3dc5fa5a53ef833aeb530ce2a0bde3b 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' )