Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(195)

Side by Side Diff: tests/git_footers_test.py

Issue 2028303006: Refactor git_footers for later use in git cl. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@footer
Patch Set: nit Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « git_footers.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 2
3 """Tests for git_footers.""" 3 """Tests for git_footers."""
4 4
5 import os 5 import os
6 import StringIO 6 import StringIO
7 import sys 7 import sys
8 import unittest 8 import unittest
9 9
10 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) 10 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
(...skipping 17 matching lines...) Expand all
28 _git_svn_id = ('svn://svn.chromium.org/chrome/trunk/src@290386' 28 _git_svn_id = ('svn://svn.chromium.org/chrome/trunk/src@290386'
29 ' 0039d316-1c4b-4281-b951-d872f2087c98') 29 ' 0039d316-1c4b-4281-b951-d872f2087c98')
30 30
31 _git_svn_id_footer = 'git-svn-id: %s\n' % _git_svn_id 31 _git_svn_id_footer = 'git-svn-id: %s\n' % _git_svn_id
32 32
33 _git_svn_id_branch = ( 33 _git_svn_id_branch = (
34 'svn://svn.chromium.org/chrome/branches/blabble/src@177288') 34 'svn://svn.chromium.org/chrome/branches/blabble/src@177288')
35 35
36 _git_svn_id_footer_branch = 'git-svn-id: %s\n' % _git_svn_id_branch 36 _git_svn_id_footer_branch = 'git-svn-id: %s\n' % _git_svn_id_branch
37 37
38 def testFootersBasic(self):
39 self.assertEqual(
40 git_footers.split_footers('Not-A: footer'),
41 (['Not-A: footer'], [], []))
42 self.assertEqual(
43 git_footers.split_footers('Header\n\nActual: footer'),
44 (['Header', ''], ['Actual: footer'], [('Actual', 'footer')]))
45 self.assertEqual(
46 git_footers.split_footers('\nActual: footer'),
47 ([''], ['Actual: footer'], [('Actual', 'footer')]))
38 48
39 def testFootersBasic(self):
40 self.assertEqual( 49 self.assertEqual(
41 git_footers.parse_footers(self._message), {}) 50 git_footers.parse_footers(self._message), {})
42 self.assertEqual( 51 self.assertEqual(
43 git_footers.parse_footers(self._message + self._position_footer), 52 git_footers.parse_footers(self._message + self._position_footer),
44 { 'Cr-Commit-Position': [ self._position ] }) 53 { 'Cr-Commit-Position': [ self._position ] })
45 self.assertEqual( 54 self.assertEqual(
46 git_footers.parse_footers(self._message + self._git_svn_id_footer), 55 git_footers.parse_footers(self._message + self._git_svn_id_footer),
47 { 'Git-Svn-Id': [ self._git_svn_id ] }) 56 { 'Git-Svn-Id': [ self._git_svn_id ] })
48 self.assertEqual( 57 self.assertEqual(
49 git_footers.parse_footers(self._message + self._position_footer 58 git_footers.parse_footers(self._message + self._position_footer
(...skipping 25 matching lines...) Expand all
75 'Change-Id: ignored', 84 'Change-Id: ignored',
76 '', # Above is ignored because of this empty line. 85 '', # Above is ignored because of this empty line.
77 'Change-Id: Ideadbeaf']) 86 'Change-Id: Ideadbeaf'])
78 self.assertEqual(['Ideadbeaf'], git_footers.get_footer_change_id(msg)) 87 self.assertEqual(['Ideadbeaf'], git_footers.get_footer_change_id(msg))
79 self.assertEqual([], git_footers.get_footer_change_id( 88 self.assertEqual([], git_footers.get_footer_change_id(
80 'desc\nBUG=not-a-valid-footer\nChange-Id: Ixxx')) 89 'desc\nBUG=not-a-valid-footer\nChange-Id: Ixxx'))
81 self.assertEqual(['Ixxx'], git_footers.get_footer_change_id( 90 self.assertEqual(['Ixxx'], git_footers.get_footer_change_id(
82 'desc\nBUG=not-a-valid-footer\n\nChange-Id: Ixxx')) 91 'desc\nBUG=not-a-valid-footer\n\nChange-Id: Ixxx'))
83 92
84 def testAddFooterChangeId(self): 93 def testAddFooterChangeId(self):
94 with self.assertRaises(AssertionError):
95 git_footers.add_footer_change_id('Already has\n\nChange-Id: Ixxx', 'Izzz')
96
85 self.assertEqual( 97 self.assertEqual(
86 git_footers.add_footer_change_id('header-only', 'Ixxx'), 98 git_footers.add_footer_change_id('header-only', 'Ixxx'),
87 'header-only\n\nChange-Id: Ixxx') 99 'header-only\n\nChange-Id: Ixxx')
88 100
89 self.assertEqual( 101 self.assertEqual(
90 git_footers.add_footer_change_id('header\n\nsome: footter', 'Ixxx'), 102 git_footers.add_footer_change_id('header\n\nsome: footter', 'Ixxx'),
91 'header\n\nChange-Id: Ixxx\nsome: footter') 103 'header\n\nChange-Id: Ixxx\nsome: footter')
92 104
93 self.assertEqual( 105 self.assertEqual(
94 git_footers.add_footer_change_id('header\n\nBUG: yy', 'Ixxx'), 106 git_footers.add_footer_change_id('header\n\nBUG: yy', 'Ixxx'),
95 'header\n\nBUG: yy\nChange-Id: Ixxx') 107 'header\n\nBUG: yy\nChange-Id: Ixxx')
96 108
97 self.assertEqual( 109 self.assertEqual(
98 git_footers.add_footer_change_id('header\n\nBUG: yy\nPos: 1', 'Ixxx'), 110 git_footers.add_footer_change_id('header\n\nBUG: yy\nPos: 1', 'Ixxx'),
99 'header\n\nBUG: yy\nChange-Id: Ixxx\nPos: 1') 111 'header\n\nBUG: yy\nChange-Id: Ixxx\nPos: 1')
100 112
101 self.assertEqual( 113 self.assertEqual(
102 git_footers.add_footer_change_id('header\n\nBUG: yy\n\nPos: 1', 'Ixxx'), 114 git_footers.add_footer_change_id('header\n\nBUG: yy\n\nPos: 1', 'Ixxx'),
103 'header\n\nBUG: yy\n\nChange-Id: Ixxx\nPos: 1') 115 'header\n\nBUG: yy\n\nChange-Id: Ixxx\nPos: 1')
104 116
105 # Special case: first line is never a footer, even if it looks line one. 117 # Special case: first line is never a footer, even if it looks line one.
106 self.assertEqual( 118 self.assertEqual(
107 git_footers.add_footer_change_id('header: like footer', 'Ixxx'), 119 git_footers.add_footer_change_id('header: like footer', 'Ixxx'),
108 'header: like footer\n\nChange-Id: Ixxx') 120 'header: like footer\n\nChange-Id: Ixxx')
109 121
122 def testAddFooter(self):
123 self.assertEqual(
124 git_footers.add_footer('', 'Key', 'Value'),
125 '\nKey: Value')
126 self.assertEqual(
127 git_footers.add_footer('Header with empty line.\n\n', 'Key', 'Value'),
128 'Header with empty line.\n\nKey: Value')
129
130 self.assertEqual(
131 git_footers.add_footer('Top\n\nSome: footer', 'Key', 'value'),
132 'Top\n\nSome: footer\nKey: value')
133
134 self.assertEqual(
135 git_footers.add_footer('Top\n\nSome: footer', 'Key', 'value',
136 after_keys=['Any']),
137 'Top\n\nKey: value\nSome: footer')
138
139 self.assertEqual(
140 git_footers.add_footer('Top\n\nSome: footer', 'Key', 'value',
141 after_keys=['Some']),
142 'Top\n\nSome: footer\nKey: value')
143
144 self.assertEqual(
145 git_footers.add_footer('Top\n\nSome: footer\nOther: footer',
146 'Key', 'value', after_keys=['Some']),
147 'Top\n\nSome: footer\nKey: value\nOther: footer')
148
110 def testReadStdin(self): 149 def testReadStdin(self):
111 self.mock(git_footers.sys, 'stdin', StringIO.StringIO( 150 self.mock(git_footers.sys, 'stdin', StringIO.StringIO(
112 'line\r\notherline\r\n\r\n\r\nFoo: baz')) 151 'line\r\notherline\r\n\r\n\r\nFoo: baz'))
113 152
114 stdout = StringIO.StringIO() 153 stdout = StringIO.StringIO()
115 self.mock(git_footers.sys, 'stdout', stdout) 154 self.mock(git_footers.sys, 'stdout', stdout)
116 155
117 self.assertEqual(git_footers.main([]), 0) 156 self.assertEqual(git_footers.main([]), 0)
118 self.assertEqual(stdout.getvalue(), "Foo: baz\n") 157 self.assertEqual(stdout.getvalue(), "Foo: baz\n")
119 158
120 159
121 160
122 if __name__ == '__main__': 161 if __name__ == '__main__':
123 unittest.main() 162 unittest.main()
OLDNEW
« no previous file with comments | « git_footers.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698