1#!/bin/sh
2
3test_description='Test "contains" argument behavior'
4
5. ./test-lib.sh
6
7test_expect_success 'setup ' '
8 git init . &&
9 echo "this is a test" >file &&
10 git add -A &&
11 git commit -am "tag test" &&
12 git tag "v1.0" &&
13 git tag "v1.1"
14'
15
16test_expect_success 'tag --contains <existent_tag>' '
17 git tag --contains "v1.0" >actual &&
18 grep "v1.0" actual &&
19 grep "v1.1" actual
20'
21
22test_expect_success 'tag --contains <inexistent_tag>' '
23 test_must_fail git tag --contains "notag" 2>actual &&
24 test_i18ngrep "error" actual
25'
26
27test_expect_success 'tag --no-contains <existent_tag>' '
28 git tag --no-contains "v1.1" >actual &&
29 test_line_count = 0 actual
30'
31
32test_expect_success 'tag --no-contains <inexistent_tag>' '
33 test_must_fail git tag --no-contains "notag" 2>actual &&
34 test_i18ngrep "error" actual
35'
36
37test_expect_success 'tag usage error' '
38 test_must_fail git tag --noopt 2>actual &&
39 test_i18ngrep "usage" actual
40'
41
42test_expect_success 'branch --contains <existent_commit>' '
43 git branch --contains "master" >actual &&
44 test_i18ngrep "master" actual
45'
46
47test_expect_success 'branch --contains <inexistent_commit>' '
48 test_must_fail git branch --no-contains "nocommit" 2>actual &&
49 test_i18ngrep "error" actual
50'
51
52test_expect_success 'branch --no-contains <existent_commit>' '
53 git branch --no-contains "master" >actual &&
54 test_line_count = 0 actual
55'
56
57test_expect_success 'branch --no-contains <inexistent_commit>' '
58 test_must_fail git branch --no-contains "nocommit" 2>actual &&
59 test_i18ngrep "error" actual
60'
61
62test_expect_success 'branch usage error' '
63 test_must_fail git branch --noopt 2>actual &&
64 test_i18ngrep "usage" actual
65'
66
67test_expect_success 'for-each-ref --contains <existent_object>' '
68 git for-each-ref --contains "master" >actual &&
69 test_line_count = 3 actual
70'
71
72test_expect_success 'for-each-ref --contains <inexistent_object>' '
73 test_must_fail git for-each-ref --no-contains "noobject" 2>actual &&
74 test_i18ngrep "error" actual
75'
76
77test_expect_success 'for-each-ref --no-contains <existent_object>' '
78 git for-each-ref --no-contains "master" >actual &&
79 test_line_count = 0 actual
80'
81
82test_expect_success 'for-each-ref --no-contains <inexistent_object>' '
83 test_must_fail git for-each-ref --no-contains "noobject" 2>actual &&
84 test_i18ngrep "error" actual
85'
86
87test_expect_success 'for-each-ref usage error' '
88 test_must_fail git for-each-ref --noopt 2>actual &&
89 test_i18ngrep "usage" actual
90'
91
92test_done