From db5e1443b6181b4d6b776b572cfac8b5c5c3ad24 Mon Sep 17 00:00:00 2001
From: Nico von Geyso <Nico.Geyso@FU-Berlin.de>
Date: Sun, 17 Feb 2013 12:56:24 +0100
Subject: [PATCH] added tests for Repo.checkout()

---
 test/test_repository.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/test/test_repository.py b/test/test_repository.py
index e16c842..a05d9e3 100644
--- a/test/test_repository.py
+++ b/test/test_repository.py
@@ -184,6 +184,19 @@ class RepositoryTest_II(utils.RepoTestCase):
         expected = realpath(join(self._temp_dir, 'testrepo'))
         self.assertEqual(directory, expected)
 
+    def test_checkout(self):
+        ref_i18n = self.repo.lookup_reference('refs/heads/i18n')
+
+        self.assertRaises(pygit2.GitError, self.repo.checkout, ref_i18n)
+
+        self.repo.checkout(ref_i18n, pygit2.GIT_CHECKOUT_FORCE)
+        self.assertEqual(self.repo.head.hex, self.repo[ref_i18n.target].hex)
+        self.assertTrue('new' in self.repo.head.tree)
+        self.assertTrue('bye.txt' not in self.repo.status())
+
+        ref_master = self.repo.lookup_reference('refs/heads/master')
+        self.repo.checkout(ref_master, pygit2.GIT_CHECKOUT_FORCE)
+        self.assertTrue('new' not in self.repo.head.tree)
 
 class NewRepositoryTest(utils.NoRepoTestCase):
     def test_new_repo(self):