Skip to content

Commit

Permalink
Some tests for the undocumented Roodi configuration file feature
Browse files Browse the repository at this point in the history
  • Loading branch information
Jake Scruggs committed Jun 28, 2010
1 parent c520642 commit 7e22991
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 3 deletions.
3 changes: 2 additions & 1 deletion lib/base/configuration.rb
Expand Up @@ -115,7 +115,8 @@ def reset
@flog = { :dirs_to_flog => @code_dirs }
@reek = { :dirs_to_reek => @code_dirs,
:config_file_pattern => nil}
@roodi = { :dirs_to_roodi => @code_dirs }
@roodi = { :dirs_to_roodi => @code_dirs,
:roodi_config => nil}
@saikuro = { :output_directory => @scratch_directory + '/saikuro',
:input_directory => @code_dirs,
:cyclo => "",
Expand Down
1 change: 0 additions & 1 deletion lib/generators/roodi.rb
Expand Up @@ -6,7 +6,6 @@ def self.verify_dependencies!
raise 'sudo gem install roodi # if you want the roodi tasks' unless $?.success?
end


def emit
files_to_analyze = MetricFu.roodi[:dirs_to_roodi].map{|dir| Dir[File.join(dir, "**/*.rb")] }
files = remove_excluded_files(files_to_analyze.flatten)
Expand Down
2 changes: 1 addition & 1 deletion spec/base/configuration_spec.rb
Expand Up @@ -102,7 +102,7 @@ def metric_fu_root

it 'should set @roodi to {:dirs_to_roodi => @code_dirs}' do
@config.instance_variable_get(:@roodi).
should == {:dirs_to_roodi => ['lib']}
should == {:roodi_config=>nil, :dirs_to_roodi => ['lib']}
end

it 'should set @churn to {}' do
Expand Down
26 changes: 26 additions & 0 deletions spec/generators/roodi_spec.rb
@@ -0,0 +1,26 @@
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")

describe Roodi do
describe "emit" do
it "should add config options when present" do
MetricFu::Roodi.stub!(:verify_dependencies!).and_return(true)
MetricFu::Configuration.run do |config|
config.roodi = {:roodi_config => 'lib/config/roodi_config.yml', :dirs_to_roodi => []}
end
roodi = MetricFu::Roodi.new
roodi.should_receive(:`).with(/-config=lib\/config\/roodi_config\.yml/).and_return("")
roodi.emit
end

it "should NOT add config options when NOT present" do
MetricFu::Roodi.stub!(:verify_dependencies!).and_return(true)
MetricFu::Configuration.run do |config|
config.roodi = {:dirs_to_roodi => []}
end
roodi = MetricFu::Roodi.new
roodi.stub(:`)
roodi.should_receive(:`).with(/-config/).never
roodi.emit
end
end
end

0 comments on commit 7e22991

Please sign in to comment.