require 'test/unit' $: << 'lib' require 'xdg' # run test from fakeroot directory. Dir.chdir(File.join(File.dirname(__FILE__), 'fakeroot')) ENV['HOME'] = File.join(Dir.pwd, 'home') ENV['XDG_DATA_DIRS'] = File.join(Dir.pwd, 'usr/share') ENV['XDG_CONFIG_DIRS'] = File.join(Dir.pwd, 'etc/xdg') class TestXDG < Test::Unit::TestCase # Test the standard paths. def test_home assert_equal(File.join(Dir.pwd,'home'), XDG.home) end def test_config_home assert_equal(File.join(Dir.pwd,'home/.config'), XDG.config_home) end def test_config_dirs assert_equal([File.join(Dir.pwd,"etc/xdg")], XDG.config_dirs) end def test_data_home assert_equal(File.join(Dir.pwd,'home/.local/share'), XDG.data_home) end def test_data_dirs assert_equal([File.join(Dir.pwd,'usr/share')], XDG.data_dirs) end def test_cache_home assert_equal(File.join(Dir.pwd,'home/.cache'), XDG.cache_home) end # Test the find methods. def test_data_find file = 'foo.dat' assert_equal(File.join(Dir.pwd,'home/.local/share', file), XDG.data_find(file)) file = 'bar.dat' assert_equal(File.join(Dir.pwd,'usr/share', file), XDG.data_find(file)) end def test_config_find file = 'foo.config' assert_equal(File.join(Dir.pwd,'home/.config', file), XDG.config_find(file)) file = 'bar.config' assert_equal(File.join(Dir.pwd,'etc/xdg', file), XDG.config_find(file)) end def test_cache_find file = 'foo.cache' assert_equal(File.join(Dir.pwd,'home/.cache', file), XDG.cache_find(file)) end # Test the glob methods. def test_data_select file = 'foo.dat' assert_equal([File.join(Dir.pwd,'home/.local/share', file)], XDG.data_select(file)) file = 'bar.dat' assert_equal([File.join(Dir.pwd,'usr/share', file)], XDG.data_select(file)) end def test_config_select file = 'foo.config' assert_equal([File.join(Dir.pwd,'home/.config', file)], XDG.config_select(file)) file = 'bar.config' assert_equal([File.join(Dir.pwd,'etc/xdg', file)], XDG.config_select(file)) end def test_cache_select file = 'foo.cache' assert_equal([File.join(Dir.pwd,'home/.cache', file)], XDG.cache_select(file)) end # Test the working directory variations. def test_config_work assert_equal(File.join(Dir.pwd,'.config'), XDG.config_work) end def test_data_work assert_equal(File.join(Dir.pwd,'.share'), XDG.data_work) end def test_cache_work assert_equal(File.join(Dir.pwd,'.cache'), XDG.cache_work) end end