summaryrefslogtreecommitdiffstats
path: root/tests/units
diff options
context:
space:
mode:
Diffstat (limited to 'tests/units')
-rw-r--r--tests/units/test_git_path.rb29
-rw-r--r--tests/units/test_init.rb35
2 files changed, 64 insertions, 0 deletions
diff --git a/tests/units/test_git_path.rb b/tests/units/test_git_path.rb
new file mode 100644
index 0000000..c136abb
--- /dev/null
+++ b/tests/units/test_git_path.rb
@@ -0,0 +1,29 @@
+#!/usr/bin/env ruby
+
+require File.dirname(__FILE__) + '/../test_helper'
+
+class TestGitPath < Test::Unit::TestCase
+
+ def setup
+ set_file_paths
+ @git = Git.open(@wdir)
+ end
+
+ def test_readables
+ assert(@git.dir.readable?)
+ assert(@git.index.readable?)
+ assert(@git.repo.readable?)
+ end
+
+ def test_readables
+ in_temp_dir do |dir|
+ FileUtils.cp_r(@wdir, 'test')
+ g = Git.open(File.join(dir, 'test'))
+
+ assert(g.dir.writable?)
+ assert(g.index.writable?)
+ assert(g.repo.writable?)
+ end
+ end
+
+end \ No newline at end of file
diff --git a/tests/units/test_init.rb b/tests/units/test_init.rb
new file mode 100644
index 0000000..56d2a18
--- /dev/null
+++ b/tests/units/test_init.rb
@@ -0,0 +1,35 @@
+#!/usr/bin/env ruby
+
+require File.dirname(__FILE__) + '/../test_helper'
+
+class TestInit < Test::Unit::TestCase
+ def setup
+ set_file_paths
+ end
+
+ def test_open_simple
+ g = Git.open(@wdir)
+ assert_equal(g.dir.path, @wdir)
+ assert_equal(g.repo.path, File.join(@wdir, '.git'))
+ assert_equal(g.index.path, File.join(@wdir, '.git', 'index'))
+ end
+
+ def test_open_opts
+ g = Git.open @wdir, :repository => @wbare, :index => @index
+ assert_equal(g.repo.path, @wbare)
+ assert_equal(g.index.path, @index)
+ end
+
+ def test_git_bare
+ g = Git.repo @wbare
+ assert_equal(g.repo.path, @wbare)
+ end
+
+ # trying to open a git project using a bare repo - rather than using Git.repo
+ def test_git_open_error
+ assert_raise ArgumentError do
+ g = Git.open @wbare
+ end
+ end
+
+end