Reland of Relax git_footers parsing to match that of Gerrit (JGit).
Previously landed as:
> Change-Id: Ieb6415d55e85b91f11f9052b0fd08cf982b64d51
> Reviewed-on: https://chromium-review.googlesource.com/501849
R=agable@chromium.org,machenbach@chromium.org
Bug: 717504
Change-Id: Iede5c29ff4c317b68d8c2bca319edec140a176f5
Reviewed-on: https://chromium-review.googlesource.com/502908
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
diff --git a/tests/git_footers_test.py b/tests/git_footers_test.py
index 8bc06bb..1d537ce 100755
--- a/tests/git_footers_test.py
+++ b/tests/git_footers_test.py
@@ -59,6 +59,33 @@
{ 'Bug': [''],
'Cr-Commit-Position': [ self._position ] })
+ def testSkippingBadFooterLines(self):
+ message = ('Title.\n'
+ '\n'
+ 'Last: paragraph starts\n'
+ 'It-may: contain\n'
+ 'bad lines, which should be skipped\n'
+ 'For: example\n'
+ '(cherry picked from)\n'
+ 'And-only-valid: footers taken')
+ self.assertEqual(git_footers.split_footers(message),
+ (['Title.',
+ ''],
+ ['Last: paragraph starts',
+ 'It-may: contain',
+ 'bad lines, which should be skipped',
+ 'For: example',
+ '(cherry picked from)',
+ 'And-only-valid: footers taken'],
+ [('Last', 'paragraph starts'),
+ ('It-may', 'contain'),
+ ('For', 'example'),
+ ('And-only-valid', 'footers taken')]))
+ self.assertEqual(git_footers.parse_footers(message),
+ {'Last': ['paragraph starts'],
+ 'It-May': ['contain'],
+ 'For': ['example'],
+ 'And-Only-Valid': ['footers taken']})
def testGetFooterChangeId(self):
msg = '\n'.join(['whatever',
@@ -101,6 +128,10 @@
git_footers.add_footer_change_id('header: like footer', 'Ixxx'),
'header: like footer\n\nChange-Id: Ixxx')
+ self.assertEqual(
+ git_footers.add_footer_change_id('Header.\n\nBug: v8\nN=t\nT=z', 'Ix'),
+ 'Header.\n\nBug: v8\nChange-Id: Ix\nN=t\nT=z')
+
def testAddFooter(self):
self.assertEqual(
git_footers.add_footer('', 'Key', 'Value'),