Add --issue flag to git cl status.
R=phajdan.jr@chromium.org, vadimsh@chromium.org
BUG=
Review-Url: https://codereview.chromium.org/2250323003
diff --git a/tests/git_cl_test.py b/tests/git_cl_test.py
index 378525a..3e31a60 100755
--- a/tests/git_cl_test.py
+++ b/tests/git_cl_test.py
@@ -1532,6 +1532,42 @@
'description', 'https://code.review.org/123123', '-d', '--rietveld']))
self.assertEqual('foobar\n', out.getvalue())
+ def test_StatusFieldOverrideIssueMissingArgs(self):
+ out = StringIO.StringIO()
+ self.mock(git_cl.sys, 'stderr', out)
+
+ try:
+ self.assertEqual(git_cl.main(['status', '--issue', '1']), 0)
+ except SystemExit as ex:
+ self.assertEqual(ex.code, 2)
+ self.assertRegexpMatches(out.getvalue(), r'--issue may only be specified')
+
+ out = StringIO.StringIO()
+ self.mock(git_cl.sys, 'stderr', out)
+
+ try:
+ self.assertEqual(git_cl.main(['status', '--issue', '1', '--rietveld']), 0)
+ except SystemExit as ex:
+ self.assertEqual(ex.code, 2)
+ self.assertRegexpMatches(out.getvalue(), r'--issue may only be specified')
+
+ def test_StatusFieldOverrideIssue(self):
+ out = StringIO.StringIO()
+ self.mock(git_cl.sys, 'stdout', out)
+
+ def assertIssue(cl_self, *_args):
+ self.assertEquals(cl_self.issue, 1)
+ return 'foobar'
+
+ self.mock(git_cl.Changelist, 'GetDescription', assertIssue)
+ self.calls = [
+ ((['git', 'config', 'rietveld.autoupdate'],), ''),
+ ((['git', 'config', 'rietveld.server'],), ''),
+ ((['git', 'config', 'rietveld.server'],), ''),
+ ]
+ git_cl.main(['status', '--issue', '1', '--rietveld', '--field', 'desc'])
+ self.assertEqual(out.getvalue(), 'foobar\n')
+
def test_description_gerrit(self):
out = StringIO.StringIO()
self.mock(git_cl.sys, 'stdout', out)