metric_fu 4.6.0 → 4.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. data.tar.gz.sig +0 -0
  2. data/.metrics +6 -0
  3. data/.travis.yml +6 -5
  4. data/CONTRIBUTING.md +15 -3
  5. data/Gemfile +3 -8
  6. data/Gemfile.devtools +3 -3
  7. data/HISTORY.md +23 -2
  8. data/README.md +42 -38
  9. data/checksum/metric_fu-4.6.0.gem.sha512 +1 -0
  10. data/gemfiles/Gemfile.travis +7 -0
  11. data/lib/metric_fu/cli/helper.rb +2 -1
  12. data/lib/metric_fu/configuration.rb +0 -2
  13. data/lib/metric_fu/formatter/html.rb +2 -0
  14. data/lib/metric_fu/formatter/syntax.rb +47 -0
  15. data/lib/metric_fu/gem_version.rb +44 -11
  16. data/lib/metric_fu/io.rb +5 -5
  17. data/lib/metric_fu/loader.rb +12 -5
  18. data/lib/metric_fu/metric.rb +10 -0
  19. data/lib/metric_fu/metrics/base_template.rb +2 -2
  20. data/lib/metric_fu/metrics/cane/cane.rb +1 -0
  21. data/lib/metric_fu/metrics/churn/churn.rb +16 -42
  22. data/lib/metric_fu/metrics/churn/init.rb +7 -1
  23. data/lib/metric_fu/metrics/hotspots/analysis/groupings.rb +1 -0
  24. data/lib/metric_fu/metrics/hotspots/analysis/problems.rb +1 -0
  25. data/lib/metric_fu/metrics/hotspots/analysis/ranked_problem_location.rb +2 -0
  26. data/lib/metric_fu/metrics/hotspots/analysis/rankings.rb +5 -0
  27. data/lib/metric_fu/metrics/hotspots/hotspot.rb +3 -0
  28. data/lib/metric_fu/metrics/hotspots/hotspot_analyzer.rb +8 -4
  29. data/lib/metric_fu/metrics/hotspots/hotspots.rb +11 -0
  30. data/lib/metric_fu/metrics/reek/reek.rb +1 -1
  31. data/lib/metric_fu/metrics/reek/reek_hotspot.rb +0 -1
  32. data/lib/metric_fu/metrics/saikuro/saikuro.rb +1 -0
  33. data/lib/metric_fu/reporting/graphs/grapher.rb +0 -1
  34. data/lib/metric_fu/reporting/templates/awesome/awesome_template.rb +8 -59
  35. data/lib/metric_fu/run.rb +1 -1
  36. data/lib/metric_fu/{reporting/templates/awesome → templates}/css/bluff.css +0 -0
  37. data/lib/metric_fu/{reporting/templates/awesome → templates}/css/buttons.css +0 -0
  38. data/lib/metric_fu/{reporting/templates/awesome → templates}/css/default.css +0 -0
  39. data/lib/metric_fu/{reporting/templates/awesome → templates}/css/integrity.css +0 -0
  40. data/lib/metric_fu/{reporting/templates/awesome → templates}/css/rcov.css +0 -0
  41. data/lib/metric_fu/{reporting/templates/awesome → templates}/css/reset.css +0 -0
  42. data/lib/metric_fu/{reporting/templates/awesome → templates}/css/syntax.css +0 -0
  43. data/lib/metric_fu/templates/report.html.erb +32 -0
  44. data/lib/metric_fu/templates/report.rb +36 -0
  45. data/lib/metric_fu/utility.rb +4 -0
  46. data/lib/metric_fu/version.rb +1 -1
  47. data/metric_fu.gemspec +11 -2
  48. data/spec/cli/helper_spec.rb +33 -33
  49. data/spec/metric_fu/configuration_spec.rb +20 -20
  50. data/spec/metric_fu/data_structures/line_numbers_spec.rb +12 -11
  51. data/spec/metric_fu/data_structures/location_spec.rb +27 -26
  52. data/spec/metric_fu/formatter/html_spec.rb +18 -8
  53. data/spec/metric_fu/formatter/yaml_spec.rb +14 -3
  54. data/spec/metric_fu/formatter_spec.rb +5 -5
  55. data/spec/metric_fu/loader_spec.rb +1 -1
  56. data/spec/metric_fu/metric_spec.rb +2 -2
  57. data/spec/metric_fu/metrics/base_template_spec.rb +50 -50
  58. data/spec/metric_fu/metrics/cane/cane_spec.rb +29 -28
  59. data/spec/metric_fu/metrics/churn/churn_spec.rb +10 -33
  60. data/spec/metric_fu/metrics/flay/flay_grapher_spec.rb +9 -8
  61. data/spec/metric_fu/metrics/flay/flay_spec.rb +14 -13
  62. data/spec/metric_fu/metrics/flog/flog_grapher_spec.rb +16 -15
  63. data/spec/metric_fu/metrics/flog/flog_spec.rb +10 -9
  64. data/spec/metric_fu/metrics/generator_spec.rb +19 -19
  65. data/spec/metric_fu/metrics/graph_spec.rb +11 -9
  66. data/spec/metric_fu/metrics/hotspots/analysis/analyzed_problems_spec.rb +5 -0
  67. data/spec/metric_fu/metrics/hotspots/analysis/analyzer_tables_spec.rb +11 -6
  68. data/spec/metric_fu/metrics/hotspots/analysis/ranking_spec.rb +4 -3
  69. data/spec/metric_fu/metrics/hotspots/analysis/rankings_spec.rb +16 -10
  70. data/spec/metric_fu/metrics/hotspots/analysis/table_spec.rb +2 -1
  71. data/spec/metric_fu/metrics/hotspots/hotspot_analyzer_spec.rb +2 -1
  72. data/spec/metric_fu/metrics/hotspots/hotspot_spec.rb +8 -2
  73. data/spec/metric_fu/metrics/hotspots/hotspots_spec.rb +4 -8
  74. data/spec/metric_fu/metrics/rails_best_practices/rails_best_practices_grapher_spec.rb +10 -9
  75. data/spec/metric_fu/metrics/rails_best_practices/rails_best_practices_spec.rb +8 -7
  76. data/spec/metric_fu/metrics/rcov/rcov_grapher_spec.rb +8 -8
  77. data/spec/metric_fu/metrics/rcov/rcov_hotspot_spec.rb +7 -4
  78. data/spec/metric_fu/metrics/rcov/rcov_spec.rb +15 -14
  79. data/spec/metric_fu/metrics/reek/reek_grapher_spec.rb +10 -9
  80. data/spec/metric_fu/metrics/reek/reek_spec.rb +17 -15
  81. data/spec/metric_fu/metrics/roodi/roodi_grapher_spec.rb +9 -8
  82. data/spec/metric_fu/metrics/roodi/roodi_spec.rb +4 -3
  83. data/spec/metric_fu/metrics/saikuro/saikuro_spec.rb +13 -10
  84. data/spec/metric_fu/metrics/stats/stats_grapher_spec.rb +13 -12
  85. data/spec/metric_fu/metrics/stats/stats_spec.rb +16 -14
  86. data/spec/metric_fu/reporter_spec.rb +8 -7
  87. data/spec/metric_fu/reporting/graphs/grapher_spec.rb +1 -1
  88. data/spec/metric_fu/reporting/result_spec.rb +12 -11
  89. data/spec/metric_fu/run_spec.rb +24 -8
  90. data/spec/spec_helper.rb +1 -2
  91. data/spec/support/helper_methods.rb +14 -1
  92. metadata +124 -57
  93. metadata.gz.sig +0 -0
  94. checksums.yaml +0 -7
  95. checksums.yaml.gz.sig +0 -0
  96. data/lib/metric_fu/initial_requires.rb +0 -13
  97. data/lib/metric_fu/load_files.rb +0 -34
@@ -1,4 +1,5 @@
1
1
  require "spec_helper"
2
+ MetricFu.metrics_require { 'rails_best_practices/rails_best_practices_grapher' }
2
3
 
3
4
  describe RailsBestPracticesGrapher do
4
5
  before :each do
@@ -7,14 +8,14 @@ describe RailsBestPracticesGrapher do
7
8
  end
8
9
 
9
10
  it "should respond to rails_best_practices_count and labels" do
10
- @stats_grapher.should respond_to(:rails_best_practices_count)
11
- @stats_grapher.should respond_to(:labels)
11
+ expect(@stats_grapher).to respond_to(:rails_best_practices_count)
12
+ expect(@stats_grapher).to respond_to(:labels)
12
13
  end
13
14
 
14
15
  describe "responding to #initialize" do
15
16
  it "should initialise rails_best_practices_count and labels" do
16
- @stats_grapher.rails_best_practices_count.should == []
17
- @stats_grapher.labels.should == {}
17
+ expect(@stats_grapher.rails_best_practices_count).to eq([])
18
+ expect(@stats_grapher.labels).to eq({})
18
19
  end
19
20
  end
20
21
 
@@ -26,12 +27,12 @@ describe RailsBestPracticesGrapher do
26
27
  end
27
28
 
28
29
  it "should not push to rails_best_practices_count" do
29
- @stats_grapher.rails_best_practices_count.should_not_receive(:push)
30
+ expect(@stats_grapher.rails_best_practices_count).not_to receive(:push)
30
31
  @stats_grapher.get_metrics(@metrics, @date)
31
32
  end
32
33
 
33
34
  it "should not update labels with the date" do
34
- @stats_grapher.labels.should_not_receive(:update)
35
+ expect(@stats_grapher.labels).not_to receive(:update)
35
36
  @stats_grapher.get_metrics(@metrics, @date)
36
37
  end
37
38
  end
@@ -43,17 +44,17 @@ describe RailsBestPracticesGrapher do
43
44
  end
44
45
 
45
46
  it "should push to rails_best_practices_count" do
46
- @stats_grapher.rails_best_practices_count.should_receive(:push).with(2)
47
+ expect(@stats_grapher.rails_best_practices_count).to receive(:push).with(2)
47
48
  @stats_grapher.get_metrics(@metrics, @date)
48
49
  end
49
50
 
50
51
  it "should push 0 to rails_best_practices_count when no problems were found" do
51
- @stats_grapher.rails_best_practices_count.should_receive(:push).with(0)
52
+ expect(@stats_grapher.rails_best_practices_count).to receive(:push).with(0)
52
53
  @stats_grapher.get_metrics({ :rails_best_practices => {} }, @date)
53
54
  end
54
55
 
55
56
  it "should update labels with the date" do
56
- @stats_grapher.labels.should_receive(:update).with({ 0 => "01022003" })
57
+ expect(@stats_grapher.labels).to receive(:update).with({ 0 => "01022003" })
57
58
  @stats_grapher.get_metrics(@metrics, @date)
58
59
  end
59
60
  end
@@ -1,4 +1,5 @@
1
1
  require "spec_helper"
2
+ MetricFu.metrics_require { 'rails_best_practices/rails_best_practices' }
2
3
 
3
4
  describe RailsBestPracticesGenerator do
4
5
 
@@ -7,18 +8,18 @@ describe RailsBestPracticesGenerator do
7
8
  describe "emit method" do
8
9
  let(:analyzer) { ::RailsBestPractices::Analyzer.new('.', { 'silent' => true }) }
9
10
  context "RailsBestPractices provides the expected API" do
10
- it { analyzer.should respond_to :analyze }
11
- it { analyzer.should respond_to :errors }
11
+ it { expect(analyzer).to respond_to :analyze }
12
+ it { expect(analyzer).to respond_to :errors }
12
13
  end
13
14
  end
14
15
 
15
16
  describe "analyze method" do
16
17
  let(:error) { ::RailsBestPractices::Core::Error.new }
17
18
  context "RailsBestPractices provdies the expected API" do
18
- it { error.should respond_to :filename }
19
- it { error.should respond_to :line_number }
20
- it { error.should respond_to :message }
21
- it { error.should respond_to :url }
19
+ it { expect(error).to respond_to :filename }
20
+ it { expect(error).to respond_to :line_number }
21
+ it { expect(error).to respond_to :message }
22
+ it { expect(error).to respond_to :url }
22
23
  end
23
24
  end
24
25
 
@@ -27,7 +28,7 @@ describe RailsBestPracticesGenerator do
27
28
  MetricFu::Configuration.run {}
28
29
  practices = MetricFu::RailsBestPracticesGenerator.new
29
30
  practices.instance_variable_set(:@rails_best_practices_results, "the_practices")
30
- practices.to_h[:rails_best_practices].should == "the_practices"
31
+ expect(practices.to_h[:rails_best_practices]).to eq("the_practices")
31
32
  end
32
33
  end
33
34
  end
@@ -7,14 +7,14 @@ describe RcovGrapher do
7
7
  end
8
8
 
9
9
  it "should respond to rcov_percent and labels" do
10
- @rcov_grapher.should respond_to(:rcov_percent)
11
- @rcov_grapher.should respond_to(:labels)
10
+ expect(@rcov_grapher).to respond_to(:rcov_percent)
11
+ expect(@rcov_grapher).to respond_to(:labels)
12
12
  end
13
13
 
14
14
  describe "responding to #initialize" do
15
15
  it "should initialise rcov_percent and labels" do
16
- @rcov_grapher.rcov_percent.should == []
17
- @rcov_grapher.labels.should == {}
16
+ expect(@rcov_grapher.rcov_percent).to eq([])
17
+ expect(@rcov_grapher.labels).to eq({})
18
18
  end
19
19
  end
20
20
 
@@ -26,12 +26,12 @@ describe RcovGrapher do
26
26
  end
27
27
 
28
28
  it "should not push to rcov_percent" do
29
- @rcov_grapher.rcov_percent.should_not_receive(:push)
29
+ expect(@rcov_grapher.rcov_percent).not_to receive(:push)
30
30
  @rcov_grapher.get_metrics(@metrics, @date)
31
31
  end
32
32
 
33
33
  it "should not update labels with the date" do
34
- @rcov_grapher.labels.should_not_receive(:update)
34
+ expect(@rcov_grapher.labels).not_to receive(:update)
35
35
  @rcov_grapher.get_metrics(@metrics, @date)
36
36
  end
37
37
  end
@@ -43,12 +43,12 @@ describe RcovGrapher do
43
43
  end
44
44
 
45
45
  it "should push to rcov_percent" do
46
- @rcov_grapher.rcov_percent.should_receive(:push).with(49.6)
46
+ expect(@rcov_grapher.rcov_percent).to receive(:push).with(49.6)
47
47
  @rcov_grapher.get_metrics(@metrics, @date)
48
48
  end
49
49
 
50
50
  it "should update labels with the date" do
51
- @rcov_grapher.labels.should_receive(:update).with({ 0 => "1/2" })
51
+ expect(@rcov_grapher.labels).to receive(:update).with({ 0 => "1/2" })
52
52
  @rcov_grapher.get_metrics(@metrics, @date)
53
53
  end
54
54
  end
@@ -1,5 +1,8 @@
1
1
  require "spec_helper"
2
- require "metric_fu/metrics/hotspots/analysis/record"
2
+ MetricFu.metrics_require { 'hotspots/init' }
3
+ MetricFu.metrics_require { 'hotspots/hotspot' }
4
+ MetricFu.metrics_require { 'hotspots/analysis/record' }
5
+ MetricFu.metrics_require { 'rcov/rcov_hotspot' }
3
6
 
4
7
  describe MetricFu::RcovHotspot do
5
8
  describe "map" do
@@ -11,7 +14,7 @@ describe MetricFu::RcovHotspot do
11
14
  MetricFu::Record.new({"percentage_uncovered"=>0.75}, nil)
12
15
  end
13
16
 
14
- it {subject.map(zero_row).should eql(0.0)}
15
- it {subject.map(non_zero_row).should eql(0.75)}
17
+ it {expect(subject.map(zero_row)).to eql(0.0)}
18
+ it {expect(subject.map(non_zero_row)).to eql(0.75)}
16
19
  end
17
- end
20
+ end
@@ -1,4 +1,5 @@
1
1
  require "spec_helper"
2
+ MetricFu.metrics_require { 'rcov/rcov' }
2
3
 
3
4
  describe MetricFu::RcovGenerator do
4
5
 
@@ -22,14 +23,14 @@ describe MetricFu::RcovGenerator do
22
23
  end
23
24
 
24
25
  it "should clear out previous output and make output folder" do
25
- MetricFu::Utility.should_receive(:rm_rf).with(MetricFu::RcovGenerator.metric_directory, :verbose => false)
26
- MetricFu::Utility.should_receive(:mkdir_p).with(MetricFu::RcovGenerator.metric_directory)
26
+ expect(MetricFu::Utility).to receive(:rm_rf).with(MetricFu::RcovGenerator.metric_directory, :verbose => false)
27
+ expect(MetricFu::Utility).to receive(:mkdir_p).with(MetricFu::RcovGenerator.metric_directory)
27
28
  @rcov.reset_output_location
28
29
  end
29
30
 
30
31
  it "should set the RAILS_ENV" do
31
- MetricFu::Utility.should_receive(:rm_rf).with(MetricFu::RcovGenerator.metric_directory, :verbose => false)
32
- MetricFu::Utility.should_receive(:mkdir_p).with(MetricFu::RcovGenerator.metric_directory)
32
+ expect(MetricFu::Utility).to receive(:rm_rf).with(MetricFu::RcovGenerator.metric_directory, :verbose => false)
33
+ expect(MetricFu::Utility).to receive(:mkdir_p).with(MetricFu::RcovGenerator.metric_directory)
33
34
  options = {:environment => 'metrics', :external => nil}
34
35
  @rcov = MetricFu::RcovGenerator.new(@default_options.merge(options))
35
36
  expect(@rcov.command).to include('RAILS_ENV=metrics')
@@ -40,30 +41,30 @@ describe MetricFu::RcovGenerator do
40
41
  before :each do
41
42
  options = {:external => nil}
42
43
  @rcov = MetricFu::RcovGenerator.new(@default_options.merge(options))
43
- @rcov.should_receive(:load_output).and_return(RCOV_OUTPUT)
44
+ expect(@rcov).to receive(:load_output).and_return(RCOV_OUTPUT)
44
45
  @files = @rcov.analyze
45
46
  end
46
47
 
47
48
  describe "analyze" do
48
49
  it "should compute percent of lines run" do
49
- @files["lib/templates/awesome/awesome_template.rb"][:percent_run].should == 13
50
- @files["lib/templates/standard/standard_template.rb"][:percent_run].should == 14
50
+ expect(@files["lib/templates/awesome/awesome_template.rb"][:percent_run]).to eq(13)
51
+ expect(@files["lib/templates/standard/standard_template.rb"][:percent_run]).to eq(14)
51
52
  end
52
53
 
53
54
  it "should know which lines were run" do
54
- @files["lib/templates/awesome/awesome_template.rb"][:lines].
55
- should include({:content=>"require 'fileutils'", :was_run=>true})
55
+ expect(@files["lib/templates/awesome/awesome_template.rb"][:lines]).
56
+ to include({:content=>"require 'fileutils'", :was_run=>true})
56
57
  end
57
58
 
58
59
  it "should know which lines NOT were run" do
59
- @files["lib/templates/awesome/awesome_template.rb"][:lines].
60
- should include({:content=>" if template_exists?(section)", :was_run=>false})
60
+ expect(@files["lib/templates/awesome/awesome_template.rb"][:lines]).
61
+ to include({:content=>" if template_exists?(section)", :was_run=>false})
61
62
  end
62
63
  end
63
64
 
64
65
  describe "to_h" do
65
66
  it "should calculate total percentage for all files" do
66
- @rcov.to_h[:rcov][:global_percent_run].should == 13.7
67
+ expect(@rcov.to_h[:rcov][:global_percent_run]).to eq(13.7)
67
68
  end
68
69
  end
69
70
  end
@@ -74,12 +75,12 @@ describe MetricFu::RcovGenerator do
74
75
  end
75
76
 
76
77
  it "should emit nothing if external configuration option is set" do
77
- MetricFu::Utility.should_not_receive(:rm_rf)
78
+ expect(MetricFu::Utility).not_to receive(:rm_rf)
78
79
  @rcov.emit
79
80
  end
80
81
 
81
82
  it "should open the external rcov analysis file" do
82
- @rcov.should_receive(:load_output).and_return(RCOV_OUTPUT)
83
+ expect(@rcov).to receive(:load_output).and_return(RCOV_OUTPUT)
83
84
  @files = @rcov.analyze
84
85
  end
85
86
 
@@ -1,4 +1,5 @@
1
1
  require "spec_helper"
2
+ MetricFu.metrics_require { 'reek/reek_grapher' }
2
3
 
3
4
  describe ReekGrapher do
4
5
  before :each do
@@ -7,14 +8,14 @@ describe ReekGrapher do
7
8
  end
8
9
 
9
10
  it "should respond to reek_count and labels" do
10
- @reek_grapher.should respond_to(:reek_count)
11
- @reek_grapher.should respond_to(:labels)
11
+ expect(@reek_grapher).to respond_to(:reek_count)
12
+ expect(@reek_grapher).to respond_to(:labels)
12
13
  end
13
14
 
14
15
  describe "responding to #initialize" do
15
16
  it "should initialise reek_count and labels" do
16
- @reek_grapher.reek_count.should == {}
17
- @reek_grapher.labels.should == {}
17
+ expect(@reek_grapher.reek_count).to eq({})
18
+ expect(@reek_grapher.labels).to eq({})
18
19
  end
19
20
  end
20
21
 
@@ -27,11 +28,11 @@ describe ReekGrapher do
27
28
 
28
29
  it "should not set a hash of code smells to reek_count" do
29
30
  @reek_grapher.get_metrics(@metrics, @date)
30
- @reek_grapher.reek_count.should == {}
31
+ expect(@reek_grapher.reek_count).to eq({})
31
32
  end
32
33
 
33
34
  it "should not update labels with the date" do
34
- @reek_grapher.labels.should_not_receive(:update)
35
+ expect(@reek_grapher.labels).not_to receive(:update)
35
36
  @reek_grapher.get_metrics(@metrics, @date)
36
37
  end
37
38
  end
@@ -44,7 +45,7 @@ describe ReekGrapher do
44
45
 
45
46
  it "should set a hash of code smells to reek_count" do
46
47
  @reek_grapher.get_metrics(@metrics, @date)
47
- @reek_grapher.reek_count.should == {
48
+ expect(@reek_grapher.reek_count).to eq({
48
49
  "Uncommunicative Name" => [27],
49
50
  "Feature Envy" => [20],
50
51
  "Utility Function" => [15],
@@ -53,11 +54,11 @@ describe ReekGrapher do
53
54
  "Control Couple" => [4],
54
55
  "Duplication" => [48],
55
56
  "Large Class" => [1]
56
- }
57
+ })
57
58
  end
58
59
 
59
60
  it "should update labels with the date" do
60
- @reek_grapher.labels.should_receive(:update).with({ 0 => "1/2" })
61
+ expect(@reek_grapher.labels).to receive(:update).with({ 0 => "1/2" })
61
62
  @reek_grapher.get_metrics(@metrics, @date)
62
63
  end
63
64
  end
@@ -1,4 +1,5 @@
1
1
  require "spec_helper"
2
+ MetricFu.metrics_require { 'reek/reek' }
2
3
 
3
4
  describe MetricFu::ReekGenerator do
4
5
  describe "emit" do
@@ -6,12 +7,13 @@ describe MetricFu::ReekGenerator do
6
7
  options = {:config_file_pattern => 'lib/config/*.reek', :dirs_to_reek => []}
7
8
  reek = MetricFu::ReekGenerator.new(options)
8
9
  files_to_analyze = ['lib/foo.rb','lib/bar.rb']
9
- reek.stub(:files_to_analyze).and_return(files_to_analyze)
10
- reek.should_receive(:run!).with(/--config lib\/config\/\*\.reek lib\/foo.rb lib\/bar.rb/).and_return("")
10
+ allow(reek).to receive(:files_to_analyze).and_return(files_to_analyze)
11
+ expect(reek).to receive(:run!).with(/--config lib\/config\/\*\.reek lib\/foo.rb lib\/bar.rb/).and_return("")
11
12
  reek.emit
12
13
  end
13
14
  end
14
15
 
16
+ #TODO review tested output
15
17
  describe "analyze method" do
16
18
  before :each do
17
19
  @lines = <<-HERE
@@ -31,7 +33,7 @@ LinkTargetsController#authorize_user calls current_user.role multiple times (Dup
31
33
  NewlineController#some_method calls current_user.<< "new line\n" multiple times (Duplication)
32
34
  HERE
33
35
  MetricFu::Configuration.run {}
34
- File.stub(:directory?).and_return(true)
36
+ allow(File).to receive(:directory?).and_return(true)
35
37
  reek = MetricFu::ReekGenerator.new
36
38
  reek.instance_variable_set(:@output, @lines)
37
39
  @matches = reek.analyze
@@ -39,30 +41,30 @@ NewlineController#some_method calls current_user.<< "new line\n" multiple times
39
41
 
40
42
  it "should find the code smell's method name" do
41
43
  smell = @matches.first[:code_smells].first
42
- smell[:method].should == "ActivityReportsController#authorize_user"
44
+ expect(smell[:method]).to eq("ActivityReportsController#authorize_user")
43
45
  end
44
46
 
45
47
  it "should find the code smell's type" do
46
48
  smell = @matches[1][:code_smells].first
47
- smell[:type].should == "Nested Iterators"
49
+ expect(smell[:type]).to eq("Nested Iterators")
48
50
  end
49
51
 
50
52
  it "should find the code smell's message" do
51
53
  smell = @matches[1][:code_smells].first
52
- smell[:message].should == "is nested"
54
+ expect(smell[:message]).to eq("is nested")
53
55
  end
54
56
 
55
57
  it "should find the code smell's type" do
56
58
  smell = @matches.first
57
- smell[:file_path].should == "app/controllers/activity_reports_controller.rb"
59
+ expect(smell[:file_path]).to eq("app/controllers/activity_reports_controller.rb")
58
60
  end
59
61
 
60
62
  it "should NOT insert nil smells into the array when there's a newline in the method call" do
61
- @matches.last[:code_smells].should == @matches.last[:code_smells].compact
62
- @matches.last.should == {:file_path=>"app/controllers/newline_controller.rb",
63
+ expect(@matches.last[:code_smells]).to eq(@matches.last[:code_smells].compact)
64
+ expect(@matches.last).to eq({:file_path=>"app/controllers/newline_controller.rb",
63
65
  :code_smells=>[{:type=>"Duplication",
64
66
  :method=>"\"",
65
- :message=>"multiple times"}]}
67
+ :message=>"multiple times"}]})
66
68
  # Note: hopefully a temporary solution until I figure out how to deal with newlines in the method call more effectively -Jake 5/11/2009
67
69
  end
68
70
  end
@@ -107,28 +109,28 @@ app/controllers/newline_controller.rb -- 1 warnings:
107
109
  context 'with Reek 1.1 output format' do
108
110
  it 'reports 1.1 style when the output is empty' do
109
111
  @reek.instance_variable_set(:@output, "")
110
- @reek.should_not be_reek_12
112
+ expect(@reek).not_to be_reek_12
111
113
  end
112
114
  it 'detects 1.1 format output' do
113
115
  @reek.instance_variable_set(:@output, @lines11)
114
- @reek.should_not be_reek_12
116
+ expect(@reek).not_to be_reek_12
115
117
  end
116
118
 
117
119
  it 'massages empty output to be unchanged' do
118
120
  @reek.instance_variable_set(:@output, "")
119
- @reek.massage_for_reek_12.should be_empty
121
+ expect(@reek.massage_for_reek_12).to be_empty
120
122
  end
121
123
  end
122
124
 
123
125
  context 'with Reek 1.2 output format' do
124
126
  it 'detects 1.2 format output' do
125
127
  @reek.instance_variable_set(:@output, @lines12)
126
- @reek.should be_reek_12
128
+ expect(@reek).to be_reek_12
127
129
  end
128
130
 
129
131
  it 'correctly massages 1.2 output' do
130
132
  @reek.instance_variable_set(:@output, @lines12)
131
- @reek.massage_for_reek_12.should == @lines11
133
+ expect(@reek.massage_for_reek_12).to eq(@lines11)
132
134
  end
133
135
  end
134
136
  end
@@ -1,4 +1,5 @@
1
1
  require "spec_helper"
2
+ MetricFu.metrics_require { 'roodi/roodi_grapher' }
2
3
 
3
4
  describe RoodiGrapher do
4
5
  before :each do
@@ -7,14 +8,14 @@ describe RoodiGrapher do
7
8
  end
8
9
 
9
10
  it "should respond to roodi_count and labels" do
10
- @roodi_grapher.should respond_to(:roodi_count)
11
- @roodi_grapher.should respond_to(:labels)
11
+ expect(@roodi_grapher).to respond_to(:roodi_count)
12
+ expect(@roodi_grapher).to respond_to(:labels)
12
13
  end
13
14
 
14
15
  describe "responding to #initialize" do
15
16
  it "should initialise roodi_count and labels" do
16
- @roodi_grapher.roodi_count.should == []
17
- @roodi_grapher.labels.should == {}
17
+ expect(@roodi_grapher.roodi_count).to eq([])
18
+ expect(@roodi_grapher.labels).to eq({})
18
19
  end
19
20
  end
20
21
 
@@ -26,12 +27,12 @@ describe RoodiGrapher do
26
27
  end
27
28
 
28
29
  it "should not push to roodi_count" do
29
- @roodi_grapher.roodi_count.should_not_receive(:push)
30
+ expect(@roodi_grapher.roodi_count).not_to receive(:push)
30
31
  @roodi_grapher.get_metrics(@metrics, @date)
31
32
  end
32
33
 
33
34
  it "should not update labels with the date" do
34
- @roodi_grapher.labels.should_not_receive(:update)
35
+ expect(@roodi_grapher.labels).not_to receive(:update)
35
36
  @roodi_grapher.get_metrics(@metrics, @date)
36
37
  end
37
38
  end
@@ -43,12 +44,12 @@ describe RoodiGrapher do
43
44
  end
44
45
 
45
46
  it "should push to roodi_count" do
46
- @roodi_grapher.roodi_count.should_receive(:push).with(13)
47
+ expect(@roodi_grapher.roodi_count).to receive(:push).with(13)
47
48
  @roodi_grapher.get_metrics(@metrics, @date)
48
49
  end
49
50
 
50
51
  it "should update labels with the date" do
51
- @roodi_grapher.labels.should_receive(:update).with({ 0 => "1/2" })
52
+ expect(@roodi_grapher.labels).to receive(:update).with({ 0 => "1/2" })
52
53
  @roodi_grapher.get_metrics(@metrics, @date)
53
54
  end
54
55
  end