diff --git a/Library/Homebrew/test/test_descriptions.rb b/Library/Homebrew/test/test_descriptions.rb new file mode 100644 index 0000000000..de38fdbd13 --- /dev/null +++ b/Library/Homebrew/test/test_descriptions.rb @@ -0,0 +1,45 @@ +require "testing_env" +require "descriptions" + +class DescriptionsTest < Homebrew::TestCase + def setup + @descriptions_hash = {} + @descriptions = Descriptions.new(@descriptions_hash) + + @old_stdout = $stdout + $stdout = StringIO.new + end + + def teardown + $stdout = @old_stdout + end + + def test_single_core_formula + @descriptions_hash["homebrew/core/foo"] = "Core foo" + @descriptions.print + assert_equal "foo: Core foo", $stdout.string.chomp + end + + def test_single_external_formula + @descriptions_hash["somedev/external/foo"] = "External foo" + @descriptions.print + assert_equal "foo: External foo", $stdout.string.chomp + end + + def test_even_dupes + @descriptions_hash["homebrew/core/foo"] = "Core foo" + @descriptions_hash["somedev/external/foo"] = "External foo" + @descriptions.print + assert_equal "homebrew/core/foo: Core foo\nsomedev/external/foo: External foo", + $stdout.string.chomp + end + + def test_odd_dupes + @descriptions_hash["homebrew/core/foo"] = "Core foo" + @descriptions_hash["somedev/external/foo"] = "External foo" + @descriptions_hash["otherdev/external/foo"] = "Other external foo" + @descriptions.print + assert_equal "homebrew/core/foo: Core foo\notherdev/external/foo: Other external foo\nsomedev/external/foo: External foo", + $stdout.string.chomp + end +end