From d0240e7cd49a2dfa1f2bf39e307e4b55e663f762 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Thu, 16 Oct 2014 13:01:05 +0100 Subject: [PATCH] formula: add spec deprecated_option DSL. --- Library/Homebrew/formula.rb | 8 ++++++++ Library/Homebrew/software_spec.rb | 9 +++++---- Library/Homebrew/test/test_software_spec.rb | 13 ++++--------- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 9560562443..e2b602e4a9 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -108,6 +108,10 @@ class Formula active_spec.options end + def deprecated_options + active_spec.deprecated_options + end + def option_defined?(name) active_spec.option_defined?(name) end @@ -714,6 +718,10 @@ class Formula specs.each { |spec| spec.option(name, description) } end + def deprecated_option hash + specs.each { |spec| spec.deprecated_option(hash) } + end + def patch strip=:p1, src=nil, &block specs.each { |spec| spec.patch(strip, src, &block) } end diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb index fab50be737..1102a4fc3c 100644 --- a/Library/Homebrew/software_spec.rb +++ b/Library/Homebrew/software_spec.rb @@ -113,10 +113,11 @@ class SoftwareSpec old_flag = deprecated_option.old_flag new_flag = deprecated_option.current_flag - next unless @flags.include? old_flag - @flags -= [old_flag] - @flags |= [new_flag] - @deprecated_flags << deprecated_option + if @flags.include? old_flag + @flags -= [old_flag] + @flags |= [new_flag] + @deprecated_flags << deprecated_option + end end end end diff --git a/Library/Homebrew/test/test_software_spec.rb b/Library/Homebrew/test/test_software_spec.rb index e067f2f103..723c8aa1be 100644 --- a/Library/Homebrew/test/test_software_spec.rb +++ b/Library/Homebrew/test/test_software_spec.rb @@ -81,15 +81,10 @@ class SoftwareSpecTests < Homebrew::TestCase def test_deprecated_options @spec.deprecated_option(['foo1', 'foo2'] => 'bar1', 'foo3' => ['bar2', 'bar3']) - refute_empty @spec.deprecated_options - assert_equal "foo1", @spec.deprecated_options.first.old - assert_equal "bar1", @spec.deprecated_options.first.current - assert_equal "foo2", @spec.deprecated_options[1].old - assert_equal "bar1", @spec.deprecated_options[1].current - assert_equal "foo3", @spec.deprecated_options[2].old - assert_equal "bar2", @spec.deprecated_options[2].current - assert_equal "foo3", @spec.deprecated_options.last.old - assert_equal "bar3", @spec.deprecated_options.last.current + assert_includes @spec.deprecated_options, DeprecatedOption.new("foo1", "bar1") + assert_includes @spec.deprecated_options, DeprecatedOption.new("foo2", "bar1") + assert_includes @spec.deprecated_options, DeprecatedOption.new("foo3", "bar2") + assert_includes @spec.deprecated_options, DeprecatedOption.new("foo3", "bar3") end def test_deprecated_option_raises_when_empty