blob: 5cf9ccc5552a1b104d2af292c021ccb56f67992d [file] [log] [blame]
#!/usr/bin/env python
"""Tests for git_footers."""
import os
import sys
import unittest
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
import git_footers
class GitFootersTest(unittest.TestCase):
_message = """
This is my commit message. There are many like it, but this one is mine.
My commit message is my best friend. It is my life. I must master it.
"""
_position = 'refs/heads/master@{#292272}'
_position_footer = 'Cr-Commit-Position: %s\n' % _position
_git_svn_id = ('svn://svn.chromium.org/chrome/trunk/src@290386'
' 0039d316-1c4b-4281-b951-d872f2087c98')
_git_svn_id_footer = 'git-svn-id: %s\n' % _git_svn_id
_git_svn_id_branch = (
'svn://svn.chromium.org/chrome/branches/blabble/src@177288')
_git_svn_id_footer_branch = 'git-svn-id: %s\n' % _git_svn_id_branch
def testFootersBasic(self):
self.assertEqual(
git_footers.parse_footers(self._message), {})
self.assertEqual(
git_footers.parse_footers(self._message + self._position_footer),
{ 'Cr-Commit-Position': [ self._position ] })
self.assertEqual(
git_footers.parse_footers(self._message + self._git_svn_id_footer),
{ 'Git-Svn-Id': [ self._git_svn_id ] })
self.assertEqual(
git_footers.parse_footers(self._message + self._position_footer
+ self._position_footer),
{ 'Cr-Commit-Position': [ self._position, self._position ] })
def testTrunkHeuristic(self):
footers = git_footers.parse_footers(self._message + self._git_svn_id_footer)
self.assertEqual(
footers,
{ 'Git-Svn-Id': [ self._git_svn_id ] })
self.assertEqual(
git_footers.get_position(footers),
('refs/heads/master', '290386'))
def testBranchHeuristic(self):
footers = git_footers.parse_footers(self._message +
self._git_svn_id_footer_branch)
self.assertEqual(
footers,
{ 'Git-Svn-Id': [ self._git_svn_id_branch ] })
self.assertEqual(
git_footers.get_position(footers),
('refs/branch-heads/blabble', None))
if __name__ == '__main__':
unittest.main()