diff --git a/lib/git/lib.rb b/lib/git/lib.rb index 75336cb4..c23a9477 100644 --- a/lib/git/lib.rb +++ b/lib/git/lib.rb @@ -488,7 +488,7 @@ def config_remote(name) end def config_get(name) - do_get = lambda do |path| + do_get = Proc.new do |path| command('config', '--get', name) end @@ -504,7 +504,7 @@ def global_config_get(name) end def config_list - build_list = lambda do |path| + build_list = Proc.new do |path| parse_config_list command_lines('config', '--list') end diff --git a/tests/units/test_config_module.rb b/tests/units/test_config_module.rb new file mode 100644 index 00000000..b19b9625 --- /dev/null +++ b/tests/units/test_config_module.rb @@ -0,0 +1,40 @@ +#!/usr/bin/env ruby + +require File.dirname(__FILE__) + '/../test_helper' + +class TestConfigModule < Test::Unit::TestCase + def setup + set_file_paths + git_class = Class.new do + include Git + end + @git = git_class.new + @old_dir = Dir.pwd + Dir.chdir(@wdir) + end + + teardown + def test_teardown + Dir.chdir(@old_dir) + end + + def test_config + c = @git.config + assert_equal('Scott Chacon', c['user.name']) + assert_equal('false', c['core.bare']) + end + + def test_read_config + assert_equal('Scott Chacon', @git.config('user.name')) + assert_equal('false', @git.config('core.bare')) + end + + def test_set_config + in_temp_dir do |path| + g = Git.clone(@wbare, 'bare') + assert_not_equal('bully', g.config('user.name')) + g.config('user.name', 'bully') + assert_equal('bully', g.config('user.name')) + end + end +end