metric_fu 4.6.0 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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