Chromium Code Reviews| Index: tests/git_cl_test.py |
| diff --git a/tests/git_cl_test.py b/tests/git_cl_test.py |
| index 571be654aa717d37e5f4fa1fd8680a1529d904cd..9b506fe20716af4b7314fbebf646783cf425bbea 100755 |
| --- a/tests/git_cl_test.py |
| +++ b/tests/git_cl_test.py |
| @@ -21,6 +21,19 @@ import git_common |
| import git_footers |
| import subprocess2 |
| +class ChangelistMock(): |
|
tandrii(chromium)
2016/04/29 15:37:41
nit: add (object)
martiniss
2016/04/29 17:10:46
Done.
|
| + # A class variable so we can access it when we don't have access to the |
| + # instance that's being set. |
| + desc = "" |
| + def __init__(self, **kwargs): |
| + pass |
| + def GetIssue(self): |
| + return 1 |
| + def GetDescription(self): |
| + return ChangelistMock.desc |
| + def UpdateDescription(self, desc): |
| + ChangelistMock.desc = desc |
| + |
| class PresubmitMock(object): |
| def __init__(self, *args, **kwargs): |
| self.reviewers = [] |
| @@ -1385,15 +1398,8 @@ class TestGitCl(TestCase): |
| out = StringIO.StringIO() |
| self.mock(git_cl.sys, 'stdout', out) |
| - class MockChangelist(): |
| - def __init__(self, **kwargs): |
| - pass |
| - def GetIssue(self): |
| - return 1 |
| - def GetDescription(self): |
| - return 'foo' |
| - |
| - self.mock(git_cl, 'Changelist', MockChangelist) |
| + self.mock(git_cl, 'Changelist', ChangelistMock) |
| + ChangelistMock.desc = 'foo\n' |
| self.assertEqual(0, git_cl.main(['description', '-d'])) |
| self.assertEqual('foo\n', out.getvalue()) |
| @@ -1423,6 +1429,34 @@ class TestGitCl(TestCase): |
| 'description', 'https://code.review.org/123123', '-d', '--gerrit'])) |
| self.assertEqual('foobar\n', out.getvalue()) |
| + def test_description_set_raw(self): |
| + out = StringIO.StringIO() |
| + self.mock(git_cl.sys, 'stdout', out) |
| + |
| + self.mock(git_cl, 'Changelist', ChangelistMock) |
| + class TMP(): |
| + def splitlines(self): |
| + return ['hihi'] |
| + |
| + self.mock(git_cl.sys, 'stdin', TMP()) |
| + |
| + self.assertEqual(0, git_cl.main(['description', '-n', 'hihi'])) |
| + self.assertEqual('hihi', ChangelistMock.desc) |
| + |
| + def test_description_set_stdin(self): |
| + out = StringIO.StringIO() |
| + self.mock(git_cl.sys, 'stdout', out) |
| + |
| + self.mock(git_cl, 'Changelist', ChangelistMock) |
| + class TMP(): |
| + def splitlines(self): |
| + return ['hi', 'there'] |
| + |
| + self.mock(git_cl.sys, 'stdin', TMP()) |
|
tandrii(chromium)
2016/04/29 15:37:40
why not just 'hi\nthere'? IMO, best futureproof fo
martiniss
2016/04/29 17:10:46
Sadly, stringio doesn't have a splitlines :( I thi
|
| + |
| + self.assertEqual(0, git_cl.main(['description', '-n', '-'])) |
| + self.assertEqual('hi\nthere', ChangelistMock.desc) |
| + |
| if __name__ == '__main__': |
| git_cl.logging.basicConfig( |