| Index: tests/patch_test.py
|
| diff --git a/tests/patch_test.py b/tests/patch_test.py
|
| index 034915754eb5bf33b37b4ba88c94ff8fd0d2464e..516fd06368aec09c39b00e0fd2a27231dcdff092 100755
|
| --- a/tests/patch_test.py
|
| +++ b/tests/patch_test.py
|
| @@ -133,68 +133,76 @@ NEW = (
|
| '+bar\n')
|
|
|
|
|
| +DELETE = (
|
| + '--- tools/clang_check/README.chromium\n'
|
| + '+++ /dev/null\n'
|
| + '@@ -1,1 +0,0 @@\n'
|
| + '-bar\n')
|
| +
|
| +
|
| class PatchTest(unittest.TestCase):
|
| def testFilePatchDelete(self):
|
| - c = patch.FilePatchDelete('foo', False)
|
| - self.assertEquals(c.filename, 'foo')
|
| - self.assertEquals(c.is_binary, False)
|
| - self.assertEquals(c.is_delete, True)
|
| - self.assertEquals(c.is_new, False)
|
| + p = patch.FilePatchDelete('foo', False)
|
| + self.assertEquals(p.filename, 'foo')
|
| + self.assertEquals(p.is_binary, False)
|
| + self.assertEquals(p.is_delete, True)
|
| + self.assertEquals(p.is_new, False)
|
| try:
|
| - c.get()
|
| + p.get()
|
| self.fail()
|
| except NotImplementedError:
|
| pass
|
| - c = patch.FilePatchDelete('foo', True)
|
| - self.assertEquals(c.filename, 'foo')
|
| - self.assertEquals(c.is_binary, True)
|
| - self.assertEquals(c.is_delete, True)
|
| - self.assertEquals(c.is_new, False)
|
| + p = patch.FilePatchDelete('foo', True)
|
| + self.assertEquals(p.filename, 'foo')
|
| + self.assertEquals(p.is_binary, True)
|
| + self.assertEquals(p.is_delete, True)
|
| + self.assertEquals(p.is_new, False)
|
| try:
|
| - c.get()
|
| + p.get()
|
| self.fail()
|
| except NotImplementedError:
|
| pass
|
|
|
| def testFilePatchBinary(self):
|
| - c = patch.FilePatchBinary('foo', 'data', [], is_new=False)
|
| - self.assertEquals(c.filename, 'foo')
|
| - self.assertEquals(c.is_binary, True)
|
| - self.assertEquals(c.is_delete, False)
|
| - self.assertEquals(c.is_new, False)
|
| - self.assertEquals(c.get(), 'data')
|
| + p = patch.FilePatchBinary('foo', 'data', [], is_new=False)
|
| + self.assertEquals(p.filename, 'foo')
|
| + self.assertEquals(p.is_binary, True)
|
| + self.assertEquals(p.is_delete, False)
|
| + self.assertEquals(p.is_new, False)
|
| + self.assertEquals(p.get(), 'data')
|
|
|
| def testFilePatchBinaryNew(self):
|
| - c = patch.FilePatchBinary('foo', 'data', [], is_new=True)
|
| - self.assertEquals(c.filename, 'foo')
|
| - self.assertEquals(c.is_binary, True)
|
| - self.assertEquals(c.is_delete, False)
|
| - self.assertEquals(c.is_new, True)
|
| - self.assertEquals(c.get(), 'data')
|
| + p = patch.FilePatchBinary('foo', 'data', [], is_new=True)
|
| + self.assertEquals(p.filename, 'foo')
|
| + self.assertEquals(p.is_binary, True)
|
| + self.assertEquals(p.is_delete, False)
|
| + self.assertEquals(p.is_new, True)
|
| + self.assertEquals(p.get(), 'data')
|
|
|
| def testFilePatchDiff(self):
|
| - c = patch.FilePatchDiff('chrome/file.cc', SVN_PATCH, [])
|
| - self.assertEquals(c.filename, 'chrome/file.cc')
|
| - self.assertEquals(c.is_binary, False)
|
| - self.assertEquals(c.is_delete, False)
|
| - self.assertEquals(c.is_git_diff, False)
|
| - self.assertEquals(c.is_new, False)
|
| - self.assertEquals(c.patchlevel, 0)
|
| - self.assertEquals(c.get(), SVN_PATCH)
|
| + p = patch.FilePatchDiff('chrome/file.cc', SVN_PATCH, [])
|
| + self.assertEquals(p.filename, 'chrome/file.cc')
|
| + self.assertEquals(p.is_binary, False)
|
| + self.assertEquals(p.is_delete, False)
|
| + self.assertEquals(p.is_git_diff, False)
|
| + self.assertEquals(p.is_new, False)
|
| + self.assertEquals(p.patchlevel, 0)
|
| + self.assertEquals(p.get(), SVN_PATCH)
|
|
|
| def testFilePatchDiffHeaderMode(self):
|
| diff = (
|
| 'diff --git a/git_cl/git-cl b/git_cl/git-cl\n'
|
| 'old mode 100644\n'
|
| 'new mode 100755\n')
|
| - c = patch.FilePatchDiff('git_cl/git-cl', diff, [])
|
| - self.assertEquals(c.filename, 'git_cl/git-cl')
|
| - self.assertEquals(c.is_binary, False)
|
| - self.assertEquals(c.is_delete, False)
|
| - self.assertEquals(c.is_git_diff, True)
|
| - self.assertEquals(c.is_new, False)
|
| - self.assertEquals(c.patchlevel, 1)
|
| - self.assertEquals(c.get(), diff)
|
| + p = patch.FilePatchDiff('git_cl/git-cl', diff, [])
|
| + self.assertEquals(p.filename, 'git_cl/git-cl')
|
| + self.assertEquals(p.is_binary, False)
|
| + self.assertEquals(p.is_delete, False)
|
| + self.assertEquals(p.is_git_diff, True)
|
| + self.assertEquals(p.is_new, False)
|
| + self.assertEquals(p.patchlevel, 1)
|
| + self.assertEquals(p.get(), diff)
|
| + self.assertEquals([('svn:executable', '*')], p.svn_properties)
|
|
|
| def testFilePatchDiffHeaderModeIndex(self):
|
| diff = (
|
| @@ -202,36 +210,36 @@ class PatchTest(unittest.TestCase):
|
| 'diff --git a/git_cl/git-cl b/git_cl/git-cl\n'
|
| 'old mode 100644\n'
|
| 'new mode 100755\n')
|
| - c = patch.FilePatchDiff('git_cl/git-cl', diff, [])
|
| - self.assertEquals(c.filename, 'git_cl/git-cl')
|
| - self.assertEquals(c.is_binary, False)
|
| - self.assertEquals(c.is_delete, False)
|
| - self.assertEquals(c.is_git_diff, True)
|
| - self.assertEquals(c.is_new, False)
|
| - self.assertEquals(c.patchlevel, 1)
|
| - self.assertEquals(c.get(), diff)
|
| + p = patch.FilePatchDiff('git_cl/git-cl', diff, [])
|
| + self.assertEquals(p.filename, 'git_cl/git-cl')
|
| + self.assertEquals(p.is_binary, False)
|
| + self.assertEquals(p.is_delete, False)
|
| + self.assertEquals(p.is_git_diff, True)
|
| + self.assertEquals(p.is_new, False)
|
| + self.assertEquals(p.patchlevel, 1)
|
| + self.assertEquals(p.get(), diff)
|
|
|
| def testFilePatchDiffSvnNew(self):
|
| # The code path is different for git and svn.
|
| - c = patch.FilePatchDiff('foo', NEW, [])
|
| - self.assertEquals(c.filename, 'foo')
|
| - self.assertEquals(c.is_binary, False)
|
| - self.assertEquals(c.is_delete, False)
|
| - self.assertEquals(c.is_git_diff, False)
|
| - self.assertEquals(c.is_new, True)
|
| - self.assertEquals(c.patchlevel, 0)
|
| - self.assertEquals(c.get(), NEW)
|
| + p = patch.FilePatchDiff('foo', NEW, [])
|
| + self.assertEquals(p.filename, 'foo')
|
| + self.assertEquals(p.is_binary, False)
|
| + self.assertEquals(p.is_delete, False)
|
| + self.assertEquals(p.is_git_diff, False)
|
| + self.assertEquals(p.is_new, True)
|
| + self.assertEquals(p.patchlevel, 0)
|
| + self.assertEquals(p.get(), NEW)
|
|
|
| def testFilePatchDiffGitNew(self):
|
| # The code path is different for git and svn.
|
| - c = patch.FilePatchDiff('foo', GIT_NEW, [])
|
| - self.assertEquals(c.filename, 'foo')
|
| - self.assertEquals(c.is_binary, False)
|
| - self.assertEquals(c.is_delete, False)
|
| - self.assertEquals(c.is_git_diff, True)
|
| - self.assertEquals(c.is_new, True)
|
| - self.assertEquals(c.patchlevel, 1)
|
| - self.assertEquals(c.get(), GIT_NEW)
|
| + p = patch.FilePatchDiff('foo', GIT_NEW, [])
|
| + self.assertEquals(p.filename, 'foo')
|
| + self.assertEquals(p.is_binary, False)
|
| + self.assertEquals(p.is_delete, False)
|
| + self.assertEquals(p.is_git_diff, True)
|
| + self.assertEquals(p.is_new, True)
|
| + self.assertEquals(p.patchlevel, 1)
|
| + self.assertEquals(p.get(), GIT_NEW)
|
|
|
| def testFilePatchDiffBad(self):
|
| try:
|
| @@ -444,16 +452,62 @@ class PatchTest(unittest.TestCase):
|
| self.assertEquals(expected, patches.filenames)
|
| self.assertEquals(SVN_PATCH, patches.patches[0].get())
|
|
|
| - def testGitPatches(self):
|
| - # Shouldn't throw.
|
| - patch.FilePatchDiff('tools/clang_check/README.chromium', GIT_DELETE, [])
|
| - patch.FilePatchDiff('tools/run_local_server.sh', GIT_RENAME, [])
|
| - patch.FilePatchDiff(
|
| + def testDelete(self):
|
| + p = patch.FilePatchDiff('tools/clang_check/README.chromium', DELETE, [])
|
| + self.assertEquals(p.filename, 'tools/clang_check/README.chromium')
|
| + self.assertEquals(p.is_binary, False)
|
| + self.assertEquals(p.is_delete, True)
|
| + self.assertEquals(p.is_new, False)
|
| + self.assertEquals(p.get(), DELETE)
|
| + self.assertEquals([], p.svn_properties)
|
| +
|
| + def testGitDelete(self):
|
| + p = patch.FilePatchDiff('tools/clang_check/README.chromium', GIT_DELETE, [])
|
| + self.assertEquals(p.filename, 'tools/clang_check/README.chromium')
|
| + self.assertEquals(p.is_binary, False)
|
| + self.assertEquals(p.is_delete, True)
|
| + self.assertEquals(p.is_new, False)
|
| + self.assertEquals(p.get(), GIT_DELETE)
|
| + self.assertEquals([], p.svn_properties)
|
| +
|
| + def testGitRename(self):
|
| + p = patch.FilePatchDiff('tools/run_local_server.sh', GIT_RENAME, [])
|
| + self.assertEquals(p.filename, 'tools/run_local_server.sh')
|
| + self.assertEquals(p.is_binary, False)
|
| + self.assertEquals(p.is_delete, False)
|
| + self.assertEquals(p.is_new, False)
|
| + self.assertEquals(p.get(), GIT_RENAME)
|
| + self.assertEquals([], p.svn_properties)
|
| +
|
| + def testGitRenamePartial(self):
|
| + p = patch.FilePatchDiff(
|
| 'chrome/browser/chromeos/views/webui_menu_widget.h',
|
| GIT_RENAME_PARTIAL, [])
|
| - patch.FilePatchDiff('pp', GIT_COPY, [])
|
| - patch.FilePatchDiff('foo', GIT_NEW, [])
|
| - self.assertTrue(True)
|
| + self.assertEquals(
|
| + p.filename, 'chrome/browser/chromeos/views/webui_menu_widget.h')
|
| + self.assertEquals(p.is_binary, False)
|
| + self.assertEquals(p.is_delete, False)
|
| + self.assertEquals(p.is_new, False)
|
| + self.assertEquals(p.get(), GIT_RENAME_PARTIAL)
|
| + self.assertEquals([], p.svn_properties)
|
| +
|
| + def testGitCopy(self):
|
| + p = patch.FilePatchDiff('pp', GIT_COPY, [])
|
| + self.assertEquals(p.filename, 'pp')
|
| + self.assertEquals(p.is_binary, False)
|
| + self.assertEquals(p.is_delete, False)
|
| + self.assertEquals(p.is_new, False)
|
| + self.assertEquals(p.get(), GIT_COPY)
|
| + self.assertEquals([], p.svn_properties)
|
| +
|
| + def testGitNew(self):
|
| + p = patch.FilePatchDiff('foo', GIT_NEW, [])
|
| + self.assertEquals(p.filename, 'foo')
|
| + self.assertEquals(p.is_binary, False)
|
| + self.assertEquals(p.is_delete, False)
|
| + self.assertEquals(p.is_new, True)
|
| + self.assertEquals(p.get(), GIT_NEW)
|
| + self.assertEquals([], p.svn_properties)
|
|
|
| def testOnlyHeader(self):
|
| p = patch.FilePatchDiff('file_a', '--- file_a\n+++ file_a\n', [])
|
| @@ -481,9 +535,15 @@ class PatchTest(unittest.TestCase):
|
|
|
| def testRenameOnlyHeader(self):
|
| p = patch.FilePatchDiff('file_b', '--- file_a\n+++ file_b\n', [])
|
| - self.assertTrue(p)
|
| -
|
| - def testGitCopy(self):
|
| + self.assertEquals(p.filename, 'file_b')
|
| + self.assertEquals(p.is_binary, False)
|
| + self.assertEquals(p.is_delete, False)
|
| + # Should it be marked as new?
|
| + self.assertEquals(p.is_new, False)
|
| + self.assertEquals(p.get(), '--- file_a\n+++ file_b\n')
|
| + self.assertEquals([], p.svn_properties)
|
| +
|
| + def testGitCopyPartial(self):
|
| diff = (
|
| 'diff --git a/wtf b/wtf2\n'
|
| 'similarity index 98%\n'
|
| @@ -499,7 +559,13 @@ class PatchTest(unittest.TestCase):
|
| ' # blah blah blah as\n'
|
| ' # found in the LICENSE file.\n')
|
| p = patch.FilePatchDiff('wtf2', diff, [])
|
| - self.assertTrue(p)
|
| + self.assertEquals(p.filename, 'wtf2')
|
| + self.assertEquals(p.is_binary, False)
|
| + self.assertEquals(p.is_delete, False)
|
| + # Should it be marked as new?
|
| + self.assertEquals(p.is_new, False)
|
| + self.assertEquals(p.get(), diff)
|
| + self.assertEquals([], p.svn_properties)
|
|
|
| def testGitExe(self):
|
| diff = (
|
| @@ -509,9 +575,15 @@ class PatchTest(unittest.TestCase):
|
| '+++ b/natsort_test.py\n'
|
| '@@ -0,0 +1,1 @@\n'
|
| '+#!/usr/bin/env python\n')
|
| - self.assertEquals(
|
| - [('svn:executable', '*')],
|
| - patch.FilePatchDiff('natsort_test.py', diff, []).svn_properties)
|
| + p = patch.FilePatchDiff('natsort_test.py', diff, [])
|
| + self.assertEquals(p.filename, 'natsort_test.py')
|
| + self.assertEquals(p.is_binary, False)
|
| + self.assertEquals(p.is_delete, False)
|
| + self.assertEquals(p.is_new, True)
|
| + self.assertEquals(p.get(), diff)
|
| + self.assertEquals([('svn:executable', '*')], p.svn_properties)
|
| +
|
| + def testGitExe2(self):
|
| diff = (
|
| 'diff --git a/natsort_test.py b/natsort_test.py\n'
|
| 'new file mode 100644\n'
|
| @@ -519,8 +591,13 @@ class PatchTest(unittest.TestCase):
|
| '+++ b/natsort_test.py\n'
|
| '@@ -0,0 +1,1 @@\n'
|
| '+#!/usr/bin/env python\n')
|
| - self.assertEquals(
|
| - [], patch.FilePatchDiff('natsort_test.py', diff, []).svn_properties)
|
| + p = patch.FilePatchDiff('natsort_test.py', diff, [])
|
| + self.assertEquals(p.filename, 'natsort_test.py')
|
| + self.assertEquals(p.is_binary, False)
|
| + self.assertEquals(p.is_delete, False)
|
| + self.assertEquals(p.is_new, True)
|
| + self.assertEquals(p.get(), diff)
|
| + self.assertEquals([], p.svn_properties)
|
|
|
|
|
| if __name__ == '__main__':
|
|
|