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