spec/generators/rcov_spec.rb in metric_fu-2.0.0 vs spec/generators/rcov_spec.rb in metric_fu-2.0.1

- old
+ new

@@ -1,15 +1,15 @@ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper") describe MetricFu::Rcov do - + before :each do MetricFu::Configuration.run {} File.stub!(:directory?).and_return(true) @rcov = MetricFu::Rcov.new('base_dir') end - + describe "emit" do before :each do @rcov.stub!(:puts) MetricFu.rcov[:external] = nil end @@ -18,29 +18,29 @@ @rcov.stub!(:`) FileUtils.should_receive(:rm_rf).with(MetricFu::Rcov.metric_directory, :verbose => false) Dir.should_receive(:mkdir).with(MetricFu::Rcov.metric_directory) @rcov.emit end - + it "should set the RAILS_ENV" do FileUtils.stub!(:rm_rf) Dir.stub!(:mkdir) MetricFu.rcov[:environment] = "metrics" @rcov.should_receive(:`).with(/RAILS_ENV=metrics/) @rcov.emit end end - + describe "with RCOV_OUTPUT fed into" do before :each do MetricFu.rcov[:external] = nil File.should_receive(:open). with(MetricFu::Rcov.metric_directory + '/rcov.txt'). and_return(mock("io", :read => RCOV_OUTPUT)) @files = @rcov.analyze end - + describe "analyze" do it "should compute percent of lines run" do @files["lib/templates/awesome/awesome_template.rb"][:percent_run].should == 13 @files["lib/templates/standard/standard_template.rb"][:percent_run].should == 14 end @@ -70,18 +70,18 @@ it "should emit nothing if external configuration option is set" do FileUtils.should_not_receive(:rm_rf) @rcov.emit end - + it "should open the external rcov analysis file" do File.should_receive(:open). with(MetricFu.rcov[:external]). and_return(mock("io", :read => RCOV_OUTPUT)) @files = @rcov.analyze end - + end RCOV_OUTPUT = <<-HERE Profiling enabled. @@ -105,69 +105,69 @@ 189 examples, 0 failures ================================================================================ lib/templates/awesome/awesome_template.rb ================================================================================ require 'fileutils' - + class AwesomeTemplate < MetricFu::Template - + def write !! # Getting rid of the crap before and after the project name from integrity !! @name = File.basename(Dir.pwd).gsub(/^\w+-|-\w+$/, "") -!! +!! !! # Copy Bluff javascripts to output directory !! Dir[File.join(this_directory, '..', 'javascripts', '*')].each do |f| !! FileUtils.copy(f, File.join(MetricFu.output_directory, File.basename(f))) !! end -!! +!! !! report.each_pair do |section, contents| !! if template_exists?(section) !! create_instance_var(section, contents) !! @html = erbify(section) !! html = erbify('layout') !! fn = output_filename(section) !! MetricFu.report.save_output(html, MetricFu.output_directory, fn) !! end !! end -!! +!! !! # Instance variables we need should already be created from above !! if template_exists?('index') !! @html = erbify('index') !! html = erbify('layout') !! fn = output_filename('index') !! MetricFu.report.save_output(html, MetricFu.output_directory, fn) !! end !! end - + def this_directory !! File.dirname(__FILE__) !! end !! end - + ================================================================================ lib/templates/standard/standard_template.rb ================================================================================ class StandardTemplate < MetricFu::Template - - + + def write !! report.each_pair do |section, contents| !! if template_exists?(section) !! create_instance_var(section, contents) !! html = erbify(section) !! fn = output_filename(section) !! MetricFu.report.save_output(html, MetricFu.output_directory, fn) !! end !! end -!! +!! !! # Instance variables we need should already be created from above !! if template_exists?('index') !! html = erbify('index') !! fn = output_filename('index') !! MetricFu.report.save_output(html, MetricFu.output_directory, fn) !! end !! end - + def this_directory !! File.dirname(__FILE__) !! end !! end