require 'test_helper' setup_database() require 'build-tool/configuration' class ConfigurationTest < ActiveSupport::TestCase test 'Constructor.' do c = BuildTool::Configuration.new end test 'log_directory is not allowed to be relative' do c = BuildTool::Configuration.new assert_raises( BuildTool::ConfigurationError, /Log directory .* is relative/ ) do c.log_directory = 'my/relative/dir' end assert_raises( BuildTool::ConfigurationError, /Log directory .* is relative/ ) do c.log_directory = '$SOME_SHELL_VAR/relative/dir' end end test 'log_directory handles ~ and $HOME' do c = BuildTool::Configuration.new assert_nothing_raised() do c.log_directory = '$HOME/test1' end assert_equal( "#{ENV["HOME"]}/test1", c.log_directory.to_s ) assert_nothing_raised() do c.log_directory = '~/test2' end assert_equal( "#{ENV["HOME"]}/test2", c.log_directory.to_s ) end end