aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common_test.go20
-rw-r--r--repository_test.go15
2 files changed, 35 insertions, 0 deletions
diff --git a/common_test.go b/common_test.go
index 7f9b84b..ff4d6b8 100644
--- a/common_test.go
+++ b/common_test.go
@@ -151,6 +151,26 @@ func (s *BaseSuite) TemporalDir() (path string, clean func()) {
return
}
+func (s *BaseSuite) TemporalHomeDir() (path string, clean func()) {
+ home, err := os.UserHomeDir()
+ if err != nil {
+ panic(err)
+ }
+
+ fs := osfs.New(home)
+ relPath, err := util.TempDir(fs, "", "")
+ if err != nil {
+ panic(err)
+ }
+
+ path = fs.Join(fs.Root(), relPath)
+ clean = func() {
+ _ = util.RemoveAll(fs, relPath)
+ }
+
+ return
+}
+
func (s *BaseSuite) TemporalFilesystem() (fs billy.Filesystem, clean func()) {
fs = osfs.New(os.TempDir())
path, err := util.TempDir(fs, "", "")
diff --git a/repository_test.go b/repository_test.go
index d18816f..50384e7 100644
--- a/repository_test.go
+++ b/repository_test.go
@@ -543,6 +543,21 @@ func (s *RepositorySuite) TestPlainOpen(c *C) {
c.Assert(r, NotNil)
}
+func (s *RepositorySuite) TestPlainOpenTildePath(c *C) {
+ dir, clean := s.TemporalHomeDir()
+ defer clean()
+
+ r, err := PlainInit(dir, false)
+ c.Assert(err, IsNil)
+ c.Assert(r, NotNil)
+
+ path := strings.Replace(dir, strings.Split(dir, ".tmp")[0], "~/", 1)
+
+ r, err = PlainOpen(path)
+ c.Assert(err, IsNil)
+ c.Assert(r, NotNil)
+}
+
func (s *RepositorySuite) TestPlainOpenBare(c *C) {
dir, clean := s.TemporalDir()
defer clean()