[git-cl] add --tbrs flag.
Bug:
Change-Id: I6c8ffaa5d8b934e287c97b97faf6909df5d02978
Reviewed-on: https://chromium-review.googlesource.com/479781
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
diff --git a/tests/git_cl_test.py b/tests/git_cl_test.py
index 00640be..6e5d369 100755
--- a/tests/git_cl_test.py
+++ b/tests/git_cl_test.py
@@ -1872,31 +1872,47 @@
def test_update_reviewers(self):
data = [
- ('foo', [], 'foo'),
- ('foo\nR=xx', [], 'foo\nR=xx'),
- ('foo\nTBR=xx', [], 'foo\nTBR=xx'),
- ('foo', ['a@c'], 'foo\n\nR=a@c'),
- ('foo\nR=xx', ['a@c'], 'foo\n\nR=a@c, xx'),
- ('foo\nTBR=xx', ['a@c'], 'foo\n\nR=a@c\nTBR=xx'),
- ('foo\nTBR=xx\nR=yy', ['a@c'], 'foo\n\nR=a@c, yy\nTBR=xx'),
- ('foo\nBUG=', ['a@c'], 'foo\nBUG=\nR=a@c'),
- ('foo\nR=xx\nTBR=yy\nR=bar', ['a@c'], 'foo\n\nR=a@c, xx, bar\nTBR=yy'),
- ('foo', ['a@c', 'b@c'], 'foo\n\nR=a@c, b@c'),
- ('foo\nBar\n\nR=\nBUG=', ['c@c'], 'foo\nBar\n\nR=c@c\nBUG='),
- ('foo\nBar\n\nR=\nBUG=\nR=', ['c@c'], 'foo\nBar\n\nR=c@c\nBUG='),
+ ('foo', [], [],
+ 'foo'),
+ ('foo\nR=xx', [], [],
+ 'foo\nR=xx'),
+ ('foo\nTBR=xx', [], [],
+ 'foo\nTBR=xx'),
+ ('foo', ['a@c'], [],
+ 'foo\n\nR=a@c'),
+ ('foo\nR=xx', ['a@c'], [],
+ 'foo\n\nR=a@c, xx'),
+ ('foo\nTBR=xx', ['a@c'], [],
+ 'foo\n\nR=a@c\nTBR=xx'),
+ ('foo\nTBR=xx\nR=yy', ['a@c'], [],
+ 'foo\n\nR=a@c, yy\nTBR=xx'),
+ ('foo\nBUG=', ['a@c'], [],
+ 'foo\nBUG=\nR=a@c'),
+ ('foo\nR=xx\nTBR=yy\nR=bar', ['a@c'], [],
+ 'foo\n\nR=a@c, bar, xx\nTBR=yy'),
+ ('foo', ['a@c', 'b@c'], [],
+ 'foo\n\nR=a@c, b@c'),
+ ('foo\nBar\n\nR=\nBUG=', ['c@c'], [],
+ 'foo\nBar\n\nR=c@c\nBUG='),
+ ('foo\nBar\n\nR=\nBUG=\nR=', ['c@c'], [],
+ 'foo\nBar\n\nR=c@c\nBUG='),
# Same as the line before, but full of whitespaces.
(
- 'foo\nBar\n\n R = \n BUG = \n R = ', ['c@c'],
+ 'foo\nBar\n\n R = \n BUG = \n R = ', ['c@c'], [],
'foo\nBar\n\nR=c@c\n BUG =',
),
# Whitespaces aren't interpreted as new lines.
- ('foo BUG=allo R=joe ', ['c@c'], 'foo BUG=allo R=joe\n\nR=c@c'),
+ ('foo BUG=allo R=joe ', ['c@c'], [],
+ 'foo BUG=allo R=joe\n\nR=c@c'),
+ # Redundant TBRs get promoted to Rs
+ ('foo\n\nR=a@c\nTBR=t@c', ['b@c', 'a@c'], ['a@c', 't@c'],
+ 'foo\n\nR=a@c, b@c\nTBR=t@c'),
]
- expected = [i[2] for i in data]
+ expected = [i[-1] for i in data]
actual = []
- for orig, reviewers, _expected in data:
+ for orig, reviewers, tbrs, _expected in data:
obj = git_cl.ChangeDescription(orig)
- obj.update_reviewers(reviewers)
+ obj.update_reviewers(reviewers, tbrs)
actual.append(obj.description)
self.assertEqual(expected, actual)