| Index: tests/rietveld_test.py
|
| diff --git a/tests/rietveld_test.py b/tests/rietveld_test.py
|
| index 47af5a0c5ca2dfe76990cca8a49d86aaeb01332b..5412cf26cc10112b99b00e2b763b78477e496f89 100755
|
| --- a/tests/rietveld_test.py
|
| +++ b/tests/rietveld_test.py
|
| @@ -18,6 +18,25 @@ import rietveld
|
|
|
| # Access to a protected member XX of a client class
|
| # pylint: disable=W0212
|
| +GIT_COPY_FULL = (
|
| + 'diff --git a/PRESUBMIT.py b/file_a\n'
|
| + 'similarity index 100%\n'
|
| + 'copy from PRESUBMIT.py\n'
|
| + 'copy to file_a\n')
|
| +
|
| +
|
| +NORMAL_DIFF = (
|
| + '--- file_a\n'
|
| + '+++ file_a\n'
|
| + '@@ -80,10 +80,13 @@\n'
|
| + ' // Foo\n'
|
| + ' // Bar\n'
|
| + ' void foo() {\n'
|
| + '- return bar;\n'
|
| + '+ return foo;\n'
|
| + ' }\n'
|
| + ' \n'
|
| + ' \n')
|
|
|
|
|
| def _api(files):
|
| @@ -137,19 +156,63 @@ class RietveldTest(unittest.TestCase):
|
| except patch.UnsupportedPatchFormat, e:
|
| self.assertEquals('file_a', e.filename)
|
|
|
| - def test_add_plus(self):
|
| + def test_add_plus_merge(self):
|
| + # svn:mergeinfo is dropped.
|
| + diff = GIT_COPY_FULL
|
| properties = (
|
| '\nAdded: svn:mergeinfo\n'
|
| ' Merged /branches/funky/file_b:r69-2775\n')
|
| self.requests = [
|
| ('/api/123/456',
|
| _api({'file_a': _file('A+', property_changes=properties)})),
|
| + ('/download/issue123_456_789.diff', diff),
|
| ]
|
| - try:
|
| - self.rietveld.get_patch(123, 456)
|
| - self.fail()
|
| - except patch.UnsupportedPatchFormat, e:
|
| - self.assertEquals('file_a', e.filename)
|
| + patches = self.rietveld.get_patch(123, 456)
|
| + self.assertEquals(1, len(patches.patches))
|
| + self._check_patch(
|
| + patches.patches[0],
|
| + 'file_a',
|
| + diff,
|
| + is_git_diff=True,
|
| + is_new=True,
|
| + patchlevel=1)
|
| +
|
| + def test_add_plus_eol_style(self):
|
| + diff = GIT_COPY_FULL
|
| + properties = '\nAdded: svn:eol-style\n + LF\n'
|
| + self.requests = [
|
| + ('/api/123/456',
|
| + _api({'file_a': _file('A+', property_changes=properties)})),
|
| + ('/download/issue123_456_789.diff', diff),
|
| + ]
|
| + patches = self.rietveld.get_patch(123, 456)
|
| + self.assertEquals(1, len(patches.patches))
|
| + self._check_patch(
|
| + patches.patches[0],
|
| + 'file_a',
|
| + diff,
|
| + is_git_diff=True,
|
| + is_new=True,
|
| + patchlevel=1,
|
| + svn_properties=[('svn:eol-style', 'LF')])
|
| +
|
| + def test_add_empty(self):
|
| + # http://codereview.chromium.org/api/7530007/5001
|
| + # http://codereview.chromium.org/download/issue7530007_5001_4011.diff
|
| + diff = (
|
| + 'Index: scripts/master/factory/skia/__init__.py\n'
|
| + '===================================================================\n')
|
| + self.requests = [
|
| + ('/api/123/456', _api({'__init__.py': _file('A ', num_chunks=0)})),
|
| + ('/download/issue123_456_789.diff', diff),
|
| + ]
|
| + patches = self.rietveld.get_patch(123, 456)
|
| + self.assertEquals(1, len(patches.patches))
|
| + self._check_patch(
|
| + patches.patches[0],
|
| + '__init__.py',
|
| + diff,
|
| + is_new=True)
|
|
|
| def test_delete(self):
|
| self.requests = [
|
| @@ -160,10 +223,26 @@ class RietveldTest(unittest.TestCase):
|
| self._check_patch(patches.patches[0], 'file_a', None, is_delete=True)
|
|
|
| def test_m_plus(self):
|
| + diff = NORMAL_DIFF
|
| properties = '\nAdded: svn:eol-style\n + LF\n'
|
| self.requests = [
|
| ('/api/123/456',
|
| _api({'file_a': _file('M+', property_changes=properties)})),
|
| + ('/download/issue123_456_789.diff', diff),
|
| + ]
|
| + patches = self.rietveld.get_patch(123, 456)
|
| + self.assertEquals(1, len(patches.patches))
|
| + self._check_patch(
|
| + patches.patches[0],
|
| + 'file_a',
|
| + diff,
|
| + svn_properties=[('svn:eol-style', 'LF')])
|
| +
|
| + def test_m_plus_unknown_prop(self):
|
| + properties = '\nAdded: svn:foobar\n + stuff\n'
|
| + self.requests = [
|
| + ('/api/123/456',
|
| + _api({'file_a': _file('M+', property_changes=properties)})),
|
| ]
|
| try:
|
| self.rietveld.get_patch(123, 456)
|
|
|