0a05d4b81b9c314913eba032afd1b933f8232e1b
[tools/git-buildpackage.git] / tests / test_GitModifier.py
1 # vim: set fileencoding=utf-8 :
2
3 """
4 Test L{gbp.git.GitModifier}
5 """
6
7 from . import context
8
9 def test_author():
10     """
11     Methods tested:
12          - L{gbp.git.GitModifier.get_author_env}
13          - L{gbp.git.GitModifier.get_committer_env}
14          - L{gbp.git.GitModifier.keys}
15
16     >>> import gbp.git
17     >>> modifier = gbp.git.GitModifier('foo', 'bar')
18     >>> modifier.name
19     'foo'
20     >>> modifier.email
21     'bar'
22     >>> modifier.get_author_env()
23     {'GIT_AUTHOR_EMAIL': 'bar', 'GIT_AUTHOR_NAME': 'foo'}
24     >>> modifier.get_committer_env()
25     {'GIT_COMMITTER_NAME': 'foo', 'GIT_COMMITTER_EMAIL': 'bar'}
26     >>> modifier._get_env('foo')
27     Traceback (most recent call last):
28     ...
29     GitModifierError: Neither committer nor author
30     >>> modifier['name']
31     'foo'
32     >>> modifier['email']
33     'bar'
34     >>> modifier['date']
35     """
36
37 def test_date():
38     """
39     Methods tested:
40          - L{gbp.git.GitModifier.__init__}
41
42     Properties tested:
43          - L{gbp.git.GitModifier.date}
44          - L{gbp.git.GitModifier.datetime}
45          - L{gbp.git.GitModifier.tz_offset}
46
47     >>> import gbp.git
48     >>> import datetime
49     >>> modifier = gbp.git.GitModifier('foo', 'bar', 1)
50     >>> modifier.date
51     '1 +0000'
52     >>> modifier.date = '1 +0400'
53     >>> modifier.date
54     '1 +0400'
55     >>> modifier['date']
56     '1 +0400'
57     >>> modifier.datetime   # doctest: +ELLIPSIS
58     datetime.datetime(1970, 1, 1, 4, 0, 1, tzinfo=<gbp.git.modifier.GitTz...>)
59     >>> modifier.date = datetime.datetime(1970, 1, 1, 0, 0, 1)
60     >>> modifier.date
61     '1 +0000'
62     >>> modifier.datetime   # doctest: +ELLIPSIS
63     datetime.datetime(1970, 1, 1, 0, 0, 1, tzinfo=<gbp.git.modifier.GitTz...>)
64     >>> modifier.tz_offset
65     '+0000'
66     """
67
68 def test_dict():
69     """
70     Test C{dict} interface
71     >>> import gbp.git
72     >>> modifier = gbp.git.GitModifier('foo', 'bar', 1)
73     >>> sorted(modifier.keys())
74     ['date', 'email', 'name']
75     >>> sorted(modifier.items())
76     [('date', '1 +0000'), ('email', 'bar'), ('name', 'foo')]
77     """
78