diff --git a/lib/compass.rb b/lib/compass.rb index 97ec92b7..9ea77ca9 100644 --- a/lib/compass.rb +++ b/lib/compass.rb @@ -21,6 +21,8 @@ module Compass else [] end + rescue ArgumentError # If HOME is relative + [] end end module_function :base_directory, :lib_directory, :shared_extension_paths diff --git a/test/units/compass_module_test.rb b/test/units/compass_module_test.rb new file mode 100644 index 00000000..0e9e530b --- /dev/null +++ b/test/units/compass_module_test.rb @@ -0,0 +1,36 @@ +require File.join(File.dirname(__FILE__), "..", "test_helper") + +class CompassModuleTest < Test::Unit::TestCase + + def setup + Compass.reset_configuration! + Compass.instance_variable_set("@shared_extension_paths", nil) + @original_home = ENV["HOME"] + end + + def teardown + ENV["HOME"] = @original_home + Compass.reset_configuration! + end + + def test_shared_extension_paths_with_valid_home + ENV["HOME"] = "/" + assert_equal ["/.compass/extensions"], Compass.shared_extension_paths + end + + def test_shared_extension_paths_with_nil_home + ENV["HOME"] = nil + assert_equal [], Compass.shared_extension_paths + end + + def test_shared_extension_paths_with_file_home + ENV["HOME"] = __FILE__ + assert_equal [], Compass.shared_extension_paths + end + + def test_shared_extension_paths_with_relative_home + ENV["HOME"] = "." + assert_equal [], Compass.shared_extension_paths + end + +end