X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2FT410-argument-parsing.sh;h=b31d239a6f8330bfe8ec33018ce3d4598d83130b;hp=71ed7e38553bcd9e1794992ecfae56e42a2ea4ec;hb=c117306f2dfcdf705ef3433962d227d1cb39eb90;hpb=040c3236afcf95bead0324a48c2e0b9cd7934993 diff --git a/test/T410-argument-parsing.sh b/test/T410-argument-parsing.sh index 71ed7e38..b31d239a 100755 --- a/test/T410-argument-parsing.sh +++ b/test/T410-argument-parsing.sh @@ -37,4 +37,64 @@ positional arg 1 false EOF test_expect_equal_file EXPECTED OUTPUT +test_begin_subtest "--boolean=true" +$TEST_DIRECTORY/arg-test --boolean=true > OUTPUT +cat < EXPECTED +boolean 1 +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "--boolean=false" +$TEST_DIRECTORY/arg-test --boolean=false > OUTPUT +cat < EXPECTED +boolean 0 +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "--no-boolean" +$TEST_DIRECTORY/arg-test --no-boolean > OUTPUT +cat < EXPECTED +boolean 0 +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "--no-flag" +$TEST_DIRECTORY/arg-test --flag=one --flag=three --no-flag=three > OUTPUT +cat < EXPECTED +flags 1 +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "test keyword arguments without value" +$TEST_DIRECTORY/arg-test --boolkeyword bananas > OUTPUT +cat < EXPECTED +boolkeyword 1 +positional arg 1 bananas +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "test keyword arguments with non-default value separated by a space" +$TEST_DIRECTORY/arg-test --boolkeyword false bananas > OUTPUT +cat < EXPECTED +boolkeyword 0 +positional arg 1 bananas +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "test keyword arguments without value at the end" +$TEST_DIRECTORY/arg-test bananas --boolkeyword > OUTPUT +cat < EXPECTED +boolkeyword 1 +positional arg 1 bananas +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "test keyword arguments without value but with = (should be an error)" +$TEST_DIRECTORY/arg-test bananas --boolkeyword= > OUTPUT 2>&1 +cat < EXPECTED +Unknown keyword argument "" for option "boolkeyword". +Unrecognized option: --boolkeyword= +EOF +test_expect_equal_file EXPECTED OUTPUT + test_done