require File.expand_path(File.join(File.dirname(__FILE__), %w[.. .. test_helper])) unless defined?(Juicer) class Dummy include Juicer::Command::Util end class TestCommandUtil < Test::Unit::TestCase def setup @impl = Dummy.new Juicer::Test::FileSetup.new.create Dir.glob("test/data/*.min.css").each { |file| File.delete(file) } end def test_files_from_single_file files = @impl.files("test/data/a.css") assert files.is_a?(Array) assert_equal "test/data/a.css", files.sort.join end def test_files_from_single_glob_pattern files = @impl.files("test/data/*.css") assert files.is_a?(Array) assert_equal %w{a.css a1.css b.css b1.css c1.css d1.css path_test.css path_test2.css}.collect { |f| "test/data/#{f}" }.join, files.sort.join end def test_files_from_mixed_arguments files = @impl.files("test/data/*.css", "test/data/a.js") assert files.is_a?(Array) assert_equal %w{a.css a.js a1.css b.css b1.css c1.css d1.css path_test.css path_test2.css}.collect { |f| "test/data/#{f}" }.join, files.sort.join end def test_files_from_array files = @impl.files(["test/data/*.css", "test/data/a.js"]) assert files.is_a?(Array) assert_equal %w{a.css a.js a1.css b.css b1.css c1.css d1.css path_test.css path_test2.css}.collect { |f| "test/data/#{f}" }.join, files.sort.join end def test_relative_path_single_file assert_equal "test/data/a.css", @impl.relative("test/data/a.css") end def test_relative_path_many_files files = @impl.relative(Dir.glob("test/data/*.css")) assert files.is_a?(Array) assert_equal %w{a.css a1.css b.css b1.css c1.css d1.css path_test.css path_test2.css}.collect { |f| "test/data/#{f}" }.join, files.sort.join end def test_relative_path_many_files_explicit_reference files = @impl.relative(Dir.glob("test/data/*.css"), "lib") assert files.is_a?(Array) assert_equal %w{a.css a1.css b.css b1.css c1.css d1.css path_test.css path_test2.css}.collect { |f| "../test/data/#{f}" }.join, files.sort.join end end