Signed-off-by: Joshua Nelson <jyn514@xxxxxxxxx> --- t/t3104-ls-tree-optional-args.sh | 43 ++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 t/t3104-ls-tree-optional-args.sh diff --git t/t3104-ls-tree-optional-args.sh t/t3104-ls-tree-optional-args.sh new file mode 100644 index 000000000..5917563a7 --- /dev/null +++ t/t3104-ls-tree-optional-args.sh @@ -0,0 +1,43 @@ +#!/bin/sh + +test_description='ls-tree test (optional args) + +This test tries to run git-ls-tree with various combinations of options.' + +. ./test-lib.sh + +test_expect_success 'initial setup' ' +echo hi > test && cp test test2 && git add test test2 && git commit -m initial' + +# cat appends newlines after every file +test_expect_success 'succeed when given no args' 'git ls-tree' + +test_expect_success 'succeed when given only --' 'git ls-tree' + +test_expect_success 'add second commit' ' +echo hi > test3 && git add test3 && git commit -m "commit 2"' + +test_expect_success 'succeed when given revision' ' +git ls-tree HEAD~1' + +test_expect_success 'succeed when given revision and --' ' +git ls-tree HEAD~1 --' + +test_expect_success 'succeed when given -- and file' ' +git ls-tree -- test3' + +test_expect_success 'do nothing when given bad files' ' +git ls-tree -- bad_files' + +test_expect_success 'succeed when given file from past revision' ' +git ls-tree HEAD~1 test' + +test_expect_success 'succeed when given only file' 'git ls-tree test' + +test_expect_success 'raise error when given bad args' ' +test_must_fail git ls-tree HEAD HEAD --' + +test_expect_success 'raise error when given bad revision' ' +test_must_fail git ls-tree bad_revision --' + +test_done -- 2.18.GIT