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 exc = assert_raises( BuildTool::ConfigurationError ) do c.log_directory = 'my/relative/dir' end assert_match( /Log directory .* is relative/, exc.message ) exc = assert_raises( BuildTool::ConfigurationError ) do c.log_directory = '$SOME_SHELL_VAR/relative/dir' end assert_match( /Log directory .* is relative/, exc.message ) 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