summaryrefslogtreecommitdiff
path: root/morphlib/gitdir_tests.py
diff options
context:
space:
mode:
authorAdam Coldrick <adam.coldrick@codethink.co.uk>2015-04-15 12:17:16 +0000
committerMorph (on behalf of Adam Coldrick) <adam.coldrick@codethink.co.uk>2015-04-15 12:17:16 +0000
commit85995d210162d1432800acf357f8162b77f5b47e (patch)
tree256ba048782865a8d9b52e497ff0ea5f694d652b /morphlib/gitdir_tests.py
parent3167ced4844c9602e88289607d1c2cc2ecbd5d95 (diff)
downloadmorph-baserock/6453f312359f4317803ef7f14b58d21f/d675b946df4f456693ed211dcd2ec95e.tar.gz
System branch: master
Diffstat (limited to 'morphlib/gitdir_tests.py')
-rw-r--r--morphlib/gitdir_tests.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/morphlib/gitdir_tests.py b/morphlib/gitdir_tests.py
index a6e1921d..f606dfe7 100644
--- a/morphlib/gitdir_tests.py
+++ b/morphlib/gitdir_tests.py
@@ -95,6 +95,38 @@ class GitDirectoryTests(unittest.TestCase):
self.assertIsInstance(gitdir.get_index(), morphlib.gitindex.GitIndex)
+class GitDirectoryAnchoredRefTests(unittest.TestCase):
+
+ def setUp(self):
+ self.tempdir = tempfile.mkdtemp()
+ self.dirname = os.path.join(self.tempdir, 'foo')
+ os.mkdir(self.dirname)
+ gd = morphlib.gitdir.init(self.dirname)
+ with open(os.path.join(self.dirname, 'test_file.morph'), "w") as f:
+ f.write('dummy morphology text')
+ morphlib.git.gitcmd(gd._runcmd, 'add', '.')
+ morphlib.git.gitcmd(gd._runcmd, 'commit', '-m', 'Initial commit')
+
+ def tearDown(self):
+ shutil.rmtree(self.tempdir)
+
+ def test_ref_anchored_in_branch(self):
+ gd = morphlib.gitdir.GitDirectory(self.dirname)
+ output = morphlib.git.gitcmd(gd._runcmd, 'rev-parse', 'HEAD')
+ ref = output.strip()
+
+ self.assertEqual(len(gd.branches_containing_sha1(ref)), 1)
+ self.assertEqual(gd.branches_containing_sha1(ref)[0], 'master')
+
+ def test_ref_not_anchored_in_branch(self):
+ gd = morphlib.gitdir.GitDirectory(self.dirname)
+ output = morphlib.git.gitcmd(gd._runcmd, 'rev-parse', 'HEAD')
+ ref = output.strip()
+
+ morphlib.git.gitcmd(gd._runcmd, 'commit', '--amend', '-m',
+ 'New commit message')
+ self.assertEqual(len(gd.branches_containing_sha1(ref)), 0)
+
class GitDirectoryContentsTests(unittest.TestCase):
def setUp(self):