p8-metric_fu 0.9.0.1 → 0.9.0.2

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.
@@ -0,0 +1,30 @@
1
+ <html>
2
+ <head>
3
+ <title>Reek Results</title>
4
+ <style>
5
+ <%= inline_css("default.css") %>
6
+ </style>
7
+ </head>
8
+
9
+ <body>
10
+ <h1>Reek Results</h1>
11
+ <p><a href="http://reek.rubyforge.org/">Reek</a> detects common code smells in ruby code.</p>
12
+ <table>
13
+ <tr>
14
+ <th>File Path</th>
15
+ <th>Code Smell</th>
16
+ </tr>
17
+ <% @matches.each_with_index do |match, count| %>
18
+ <tr class='<%= cycle("light", "dark", count) %>'>
19
+ <td><%= @filenames[count] ? link_to_filename(@filenames[count]) : match.first %></td>
20
+ <td>
21
+ <% match[1..-1].each do |line| %>
22
+ <%= line %><br>
23
+ <% end %>
24
+ </td>
25
+ </tr>
26
+ <% end %>
27
+ </table>
28
+ <p>Generated on <%= Time.now.localtime %></p>
29
+ </body>
30
+ </html>
@@ -0,0 +1,26 @@
1
+ <html>
2
+ <head>
3
+ <title>Roodi Results</title>
4
+ <style>
5
+ <%= inline_css("default.css") %>
6
+ </style>
7
+ </head>
8
+
9
+ <body>
10
+ <h1>Roodi Results</h1>
11
+ <p><a href="http://roodi.rubyforge.org/">Roodi</a> parses your Ruby code and warns you about design issues you have based on the checks that is has configured.</p>
12
+ <table>
13
+ <tr>
14
+ <th>File Path</th>
15
+ <th>Warning</th>
16
+ </tr>
17
+ <% @matches.each_with_index do |match, count| %>
18
+ <tr class='<%= cycle("light", "dark", count) %>'>
19
+ <td><%= link_to_filename(match.first.split(':').first) if match.first %></td>
20
+ <td><%= match[1] %></td>
21
+ </tr>
22
+ <% end %>
23
+ </table>
24
+ <p>Generated on <%= Time.now.localtime %></p>
25
+ </body>
26
+ </html>
@@ -0,0 +1,80 @@
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
2
+
3
+ describe MetricFu::Base::Generator do
4
+ describe "save_html" do
5
+ it "should save to a index.html in the base_dir" do
6
+ @generator = MetricFu::Base::Generator.new
7
+ @generator.should_receive(:open).with("#{MetricFu::BASE_DIRECTORY}/generator/index.html", "w")
8
+ @generator.save_html("<html>")
9
+ end
10
+
11
+ it "should save to a custom.html to the base_dir if 'custom' is passed as name" do
12
+ @generator = MetricFu::Base::Generator.new
13
+ @generator.should_receive(:open).with("#{MetricFu::BASE_DIRECTORY}/generator/metric_fu/custom.html", "w")
14
+ @generator.save_html("<html>", 'metric_fu/custom.html')
15
+ end
16
+ end
17
+
18
+ describe "generate_report class method" do
19
+ it "should create a new Generator and call generate_report on it" do
20
+ @generator = mock('generator')
21
+ @generator.should_receive(:generate_report)
22
+ MetricFu::Base::Generator.should_receive(:new).and_return(@generator)
23
+ MetricFu::Base::Generator.generate_report('base_dir')
24
+ end
25
+ end
26
+
27
+ describe "generate_html" do
28
+ it "should create a new Generator and call generate_report on it" do
29
+ @generator = MetricFu::Base::Generator.new
30
+ @generator.should_receive(:open).with("#{MetricFu::BASE_DIRECTORY}/generator/index.html", "w")
31
+ @generator.should_receive(:generate_html).and_return('<html>')
32
+ @generator.generate_report
33
+ end
34
+ end
35
+
36
+ describe "cycle" do
37
+ it "should create a new Generator and call generate_report on it" do
38
+ @generator = MetricFu::Base::Generator.new
39
+ @generator.cycle("light", "dark", 0).should == 'light'
40
+ @generator.cycle("light", "dark", 1).should == 'dark'
41
+ end
42
+ end
43
+
44
+ describe "template_name" do
45
+ it "should return the class name in lowercase" do
46
+ @generator = MetricFu::Base::Generator.new
47
+ @generator.template_name.should == 'generator'
48
+ end
49
+ end
50
+
51
+ describe "metric_dir" do
52
+ it "should return tmp/metric_fu/{the class name in lowercase}" do
53
+ MetricFu::Base::Generator.metric_dir.should == "#{MetricFu::BASE_DIRECTORY}/generator"
54
+ end
55
+ end
56
+
57
+ describe "link_to_filename", "when run_by_cruise_control and a url_prefix is specfied" do
58
+ before(:each) do
59
+ @generator = MetricFu::Base::Generator.new
60
+ MetricFu.should_receive(:run_by_cruise_control?).at_least(1).and_return(true)
61
+ end
62
+
63
+ it "should return a link using the prefix" do
64
+ MetricFu::Configuration.run do |config|
65
+ config.general = { :open_in_browser => true, :url_prefix => 'prefix' }
66
+ end
67
+
68
+ link = @generator.link_to_filename("app/model/foo.rb", 23)
69
+ link.should == %{<a href="prefix/app/model/foo.rb?line=23#23">app/model/foo.rb</a>}
70
+ end
71
+ it "should return a link using the prefix even if the prefix ends with /" do
72
+ MetricFu::Configuration.run do |config|
73
+ config.general = { :open_in_browser => true, :url_prefix => 'prefix/' }
74
+ end
75
+
76
+ link = @generator.link_to_filename("app/model/foo.rb", 23)
77
+ link.should == %{<a href="prefix/app/model/foo.rb?line=23#23">app/model/foo.rb</a>}
78
+ end
79
+ end
80
+ end
@@ -1,117 +1,117 @@
1
1
  require File.dirname(__FILE__) + '/spec_helper.rb'
2
2
 
3
- describe Churn do
4
- # describe "generate_report" do
5
- # after do
6
- # load File.dirname(__FILE__) + '/../lib/metric_fu/churn.rb' #need to reload file to wipe out mock of private static
7
- # end
8
- #
9
- # it "should strip out files that have less than the min count" do
10
- # logs = ["accept", "accept", "accept", "reject", "reject"]
11
- # git_mock = mock('git')
12
- # git_mock.should_receive(:get_logs).and_return(logs)
13
- # Churn::Git.should_receive(:new).and_return(git_mock)
14
- # churn = Churn.new(:scm => :git, :minimum_churn_count => 3)
15
- # churn.analyze
16
- # churn.instance_variable_get(:@changes).should == {"accept"=>3}
17
- # end
18
- #
19
- # it "should have a default min count of 5" do
20
- # churn = Churn.new('base_dir')
21
- # churn.instance_variable_get(:@minimum_churn_count).should == 5
22
- # end
23
- #
24
- # end
25
- #
26
- # describe "template_name" do
27
- # it "should return the class name in lowercase" do
28
- # churn = Churn.new
29
- # churn.template_name.should == 'churn'
30
- # end
31
- # end
32
- #
33
- # describe "parse_log_for_changes" do
34
- # it "should count the changes with git" do
35
- # logs = ["home_page/index.html", "README", "History.txt", "README", "History.txt", "README"]
36
- # git_mock = mock('git')
37
- # git_mock.should_receive(:get_logs).and_return(logs)
38
- # Churn::Git.should_receive(:new).and_return(git_mock)
39
- # File.should_receive(:exist?).with(".git").and_return(true)
40
- # changes = Churn.new.send(:parse_log_for_changes)
41
- # changes["home_page/index.html"].should == 1
42
- # changes["History.txt"].should == 2
43
- # changes["README"].should == 3
44
- # end
45
- #
46
- # it "should count the changes with svn" do
47
- # logs = ["home_page/index.html", "README", "History.txt", "README", "History.txt", "README"]
48
- # svn_mock = mock('svn')
49
- # svn_mock.should_receive(:get_logs).and_return(logs)
50
- # Churn::Svn.should_receive(:new).and_return(svn_mock)
51
- # File.should_receive(:exist?).with(".git").and_return(false)
52
- # File.should_receive(:exist?).with(".svn").and_return(true)
53
- # changes = Churn.new.send(:parse_log_for_changes)
54
- # changes["home_page/index.html"].should == 1
55
- # changes["History.txt"].should == 2
56
- # changes["README"].should == 3
57
- # end
58
- # end
59
- # end
60
- #
61
- # describe MetricFu::Churn::Svn do
62
- #
63
- # describe "get_logs" do
64
- # it "should use the start date if supplied" do
65
- # @churn = Churn::Svn.new
66
- # @churn.should_receive(:`).with('svn log --verbose').and_return("")
67
- # @churn.get_logs
68
- # end
69
- # it "should use the start date if supplied" do
70
- # Time.should_receive(:now).and_return(Date.new(2001, 1, 2))
71
- # @churn = Churn::Svn.new(lambda{Date.new(2000, 1, 1)})
72
- # @churn.should_receive(:require_rails_env)
73
- # @churn.should_receive(:`).with("svn log --revision {2000-01-01}:{2001-01-02} --verbose").and_return("")
74
- # @churn.get_logs
75
- # end
76
- # end
77
- #
78
- # describe "clean_up_svn_line" do
79
- # it "should return nil for non matches" do
80
- # Churn::Svn.new.send(:clean_up_svn_line, "Adding Google analytics").should be_nil
81
- # Churn::Svn.new.send(:clean_up_svn_line, "A bunch of new files").should be_nil
82
- # end
83
- #
84
- # it "should strip out all but the full path" do
85
- # Churn::Svn.new.send(:clean_up_svn_line, " A /trunk/lib/server.rb ").should == "/trunk/lib/server.rb"
86
- # Churn::Svn.new.send(:clean_up_svn_line, "A /trunk/lib/server.rb ").should == "/trunk/lib/server.rb"
87
- # Churn::Svn.new.send(:clean_up_svn_line, " A /trunk/lib/server.rb ").should == "/trunk/lib/server.rb"
88
- # Churn::Svn.new.send(:clean_up_svn_line, " A /trunk/lib/server.rb").should == "/trunk/lib/server.rb"
89
- # Churn::Svn.new.send(:clean_up_svn_line, "A /trunk/lib/server.rb").should == "/trunk/lib/server.rb"
90
- # Churn::Svn.new.send(:clean_up_svn_line, "A /trunk/lib/server.rb").should == "/trunk/lib/server.rb"
91
- #
92
- # Churn::Svn.new.send(:clean_up_svn_line, " M /trunk/lib/server.rb ").should == "/trunk/lib/server.rb"
93
- # Churn::Svn.new.send(:clean_up_svn_line, "M /trunk/lib/server.rb ").should == "/trunk/lib/server.rb"
94
- # Churn::Svn.new.send(:clean_up_svn_line, " M /trunk/lib/server.rb ").should == "/trunk/lib/server.rb"
95
- # Churn::Svn.new.send(:clean_up_svn_line, " M /trunk/lib/server.rb").should == "/trunk/lib/server.rb"
96
- # Churn::Svn.new.send(:clean_up_svn_line, "M /trunk/lib/server.rb").should == "/trunk/lib/server.rb"
97
- # Churn::Svn.new.send(:clean_up_svn_line, "M /trunk/lib/server.rb").should == "/trunk/lib/server.rb"
98
- # end
99
- # end
100
- # end
101
- #
102
- # describe MetricFu::Churn::Git do
103
- #
104
- # describe "get_logs" do
105
- # it "should use the start date if supplied" do
106
- # @churn = Churn::Git.new
107
- # @churn.should_receive(:`).with('git log --name-only --pretty=format:').and_return("")
108
- # @churn.get_logs
109
- # end
110
- # it "should use the start date if supplied" do
111
- # @churn = Churn::Git.new(lambda{Date.new(2000, 1, 1)})
112
- # @churn.should_receive(:require_rails_env)
113
- # @churn.should_receive(:`).with("git log --after=2000-01-01 --name-only --pretty=format:").and_return("")
114
- # @churn.get_logs
115
- # end
116
- # end
3
+ describe MetricFu::Churn do
4
+ describe "generate_report" do
5
+ after do
6
+ load File.dirname(__FILE__) + '/../lib/metric_fu/churn.rb' #need to reload file to wipe out mock of private static
7
+ end
8
+
9
+ it "should strip out files that have less than the min count" do
10
+ logs = ["accept", "accept", "accept", "reject", "reject"]
11
+ git_mock = mock('git')
12
+ git_mock.should_receive(:get_logs).and_return(logs)
13
+ Churn::Git.should_receive(:new).and_return(git_mock)
14
+ churn = Churn.new(:scm => :git, :minimum_churn_count => 3)
15
+ churn.analyze
16
+ churn.instance_variable_get(:@changes).should == {"accept"=>3}
17
+ end
18
+
19
+ it "should have a default min count of 5" do
20
+ churn = Churn.new('base_dir')
21
+ churn.instance_variable_get(:@minimum_churn_count).should == 5
22
+ end
23
+
24
+ end
25
+
26
+ describe "template_name" do
27
+ it "should return the class name in lowercase" do
28
+ churn = Churn.new
29
+ churn.template_name.should == 'churn'
30
+ end
31
+ end
32
+
33
+ describe "parse_log_for_changes" do
34
+ it "should count the changes with git" do
35
+ logs = ["home_page/index.html", "README", "History.txt", "README", "History.txt", "README"]
36
+ git_mock = mock('git')
37
+ git_mock.should_receive(:get_logs).and_return(logs)
38
+ Churn::Git.should_receive(:new).and_return(git_mock)
39
+ File.should_receive(:exist?).with(".git").and_return(true)
40
+ changes = Churn.new.send(:parse_log_for_changes)
41
+ changes["home_page/index.html"].should == 1
42
+ changes["History.txt"].should == 2
43
+ changes["README"].should == 3
44
+ end
45
+
46
+ it "should count the changes with svn" do
47
+ logs = ["home_page/index.html", "README", "History.txt", "README", "History.txt", "README"]
48
+ svn_mock = mock('svn')
49
+ svn_mock.should_receive(:get_logs).and_return(logs)
50
+ Churn::Svn.should_receive(:new).and_return(svn_mock)
51
+ File.should_receive(:exist?).with(".git").and_return(false)
52
+ File.should_receive(:exist?).with(".svn").and_return(true)
53
+ changes = Churn.new.send(:parse_log_for_changes)
54
+ changes["home_page/index.html"].should == 1
55
+ changes["History.txt"].should == 2
56
+ changes["README"].should == 3
57
+ end
58
+ end
117
59
  end
60
+
61
+ describe MetricFu::Churn::Svn do
62
+
63
+ describe "get_logs" do
64
+ it "should use the start date if supplied" do
65
+ @churn = Churn::Svn.new
66
+ @churn.should_receive(:`).with('svn log --verbose').and_return("")
67
+ @churn.get_logs
68
+ end
69
+ it "should use the start date if supplied" do
70
+ Time.should_receive(:now).and_return(Date.new(2001, 1, 2))
71
+ @churn = Churn::Svn.new(lambda{Date.new(2000, 1, 1)})
72
+ @churn.should_receive(:require_rails_env)
73
+ @churn.should_receive(:`).with("svn log --revision {2000-01-01}:{2001-01-02} --verbose").and_return("")
74
+ @churn.get_logs
75
+ end
76
+ end
77
+
78
+ describe "clean_up_svn_line" do
79
+ it "should return nil for non matches" do
80
+ Churn::Svn.new.send(:clean_up_svn_line, "Adding Google analytics").should be_nil
81
+ Churn::Svn.new.send(:clean_up_svn_line, "A bunch of new files").should be_nil
82
+ end
83
+
84
+ it "should strip out all but the full path" do
85
+ Churn::Svn.new.send(:clean_up_svn_line, " A /trunk/lib/server.rb ").should == "/trunk/lib/server.rb"
86
+ Churn::Svn.new.send(:clean_up_svn_line, "A /trunk/lib/server.rb ").should == "/trunk/lib/server.rb"
87
+ Churn::Svn.new.send(:clean_up_svn_line, " A /trunk/lib/server.rb ").should == "/trunk/lib/server.rb"
88
+ Churn::Svn.new.send(:clean_up_svn_line, " A /trunk/lib/server.rb").should == "/trunk/lib/server.rb"
89
+ Churn::Svn.new.send(:clean_up_svn_line, "A /trunk/lib/server.rb").should == "/trunk/lib/server.rb"
90
+ Churn::Svn.new.send(:clean_up_svn_line, "A /trunk/lib/server.rb").should == "/trunk/lib/server.rb"
91
+
92
+ Churn::Svn.new.send(:clean_up_svn_line, " M /trunk/lib/server.rb ").should == "/trunk/lib/server.rb"
93
+ Churn::Svn.new.send(:clean_up_svn_line, "M /trunk/lib/server.rb ").should == "/trunk/lib/server.rb"
94
+ Churn::Svn.new.send(:clean_up_svn_line, " M /trunk/lib/server.rb ").should == "/trunk/lib/server.rb"
95
+ Churn::Svn.new.send(:clean_up_svn_line, " M /trunk/lib/server.rb").should == "/trunk/lib/server.rb"
96
+ Churn::Svn.new.send(:clean_up_svn_line, "M /trunk/lib/server.rb").should == "/trunk/lib/server.rb"
97
+ Churn::Svn.new.send(:clean_up_svn_line, "M /trunk/lib/server.rb").should == "/trunk/lib/server.rb"
98
+ end
99
+ end
100
+ end
101
+
102
+ describe MetricFu::Churn::Git do
103
+
104
+ describe "get_logs" do
105
+ it "should use the start date if supplied" do
106
+ @churn = Churn::Git.new
107
+ @churn.should_receive(:`).with('git log --name-only --pretty=format:').and_return("")
108
+ @churn.get_logs
109
+ end
110
+ it "should use the start date if supplied" do
111
+ @churn = Churn::Git.new(lambda{Date.new(2000, 1, 1)})
112
+ @churn.should_receive(:require_rails_env)
113
+ @churn.should_receive(:`).with("git log --after=2000-01-01 --name-only --pretty=format:").and_return("")
114
+ @churn.get_logs
115
+ end
116
+ end
117
+ end
@@ -1,110 +1,110 @@
1
1
  require File.dirname(__FILE__) + '/spec_helper.rb'
2
2
 
3
3
  describe MetricFu::Configuration do
4
- # before do
5
- # MetricFu.configuration.reset
6
- # end
7
- # after do
8
- # ENV['CC_BUILD_ARTIFACTS'] = nil
9
- # end
10
- # describe "open_in_browser" do
11
- # it "should return false if running in cruise" do
12
- # unless ENV['CC_BUILD_ARTIFACTS']
13
- # MetricFu.open_in_browser?.should == !!PLATFORM['darwin']
14
- # ENV['CC_BUILD_ARTIFACTS'] = ''
15
- # MetricFu.open_in_browser?.should == false
16
- # end
17
- # end
18
- # end
4
+ before do
5
+ MetricFu.configuration.reset
6
+ end
7
+ after do
8
+ ENV['CC_BUILD_ARTIFACTS'] = nil
9
+ end
10
+ describe "open_in_browser" do
11
+ it "should return false if running in cruise" do
12
+ unless ENV['CC_BUILD_ARTIFACTS']
13
+ MetricFu.open_in_browser?.should == !!PLATFORM['darwin']
14
+ ENV['CC_BUILD_ARTIFACTS'] = ''
15
+ MetricFu.open_in_browser?.should == false
16
+ end
17
+ end
18
+ end
19
19
 
20
- # describe "metrics" do
21
- # it "should be configurable" do
22
- # MetricFu.metrics.should == [:coverage, :churn, :flog, :flay, :reek, :roodi, :saikuro]
23
- # MetricFu::Configuration.run do |config|
24
- # config.metrics = [:coverage, :flog]
25
- # end
26
- # MetricFu.metrics.should == [:coverage, :flog]
27
- # end
28
- # end
29
- #
30
- # describe "churn" do
31
- # it "should be configurable" do
32
- # now = Time.now
33
- # MetricFu.churn.should == {}
34
- # MetricFu::Configuration.run do |config|
35
- # config.churn[:start_date] = now
36
- # end
37
- # MetricFu.churn.should == {:start_date => now }
38
- # end
39
- # end
40
- #
41
- # describe "coverage" do
42
- # it "should be configurable" do
43
- # MetricFu.coverage[:test_files].should == ['test/**/*_test.rb', 'spec/**/*_spec.rb']
44
- # MetricFu::Configuration.run do |config|
45
- # config.coverage[:test_files] = ['test/**/test_*.rb']
46
- # end
47
- # MetricFu.coverage[:test_files].should == ['test/**/test_*.rb']
48
- # end
49
- # end
20
+ describe "metrics" do
21
+ it "should be configurable" do
22
+ MetricFu.metrics.should == [:coverage, :churn, :flog, :flay, :reek, :roodi, :saikuro]
23
+ MetricFu::Configuration.run do |config|
24
+ config.metrics = [:coverage, :flog]
25
+ end
26
+ MetricFu.metrics.should == [:coverage, :flog]
27
+ end
28
+ end
29
+
30
+ describe "churn" do
31
+ it "should be configurable" do
32
+ now = Time.now
33
+ MetricFu.churn.should == {}
34
+ MetricFu::Configuration.run do |config|
35
+ config.churn[:start_date] = now
36
+ end
37
+ MetricFu.churn.should == {:start_date => now }
38
+ end
39
+ end
40
+
41
+ describe "coverage" do
42
+ it "should be configurable" do
43
+ MetricFu.coverage[:test_files].should == ['test/**/*_test.rb', 'spec/**/*_spec.rb']
44
+ MetricFu::Configuration.run do |config|
45
+ config.coverage[:test_files] = ['test/**/test_*.rb']
46
+ end
47
+ MetricFu.coverage[:test_files].should == ['test/**/test_*.rb']
48
+ end
49
+ end
50
50
 
51
- # describe "flay" do
52
- # it "should be configurable" do
53
- # now = Time.now
54
- # MetricFu.flay.should == { :dirs_to_flay => ['lib'] }
55
- # MetricFu::Configuration.run do |config|
56
- # config.flay[:dirs_to_flay] = ['cms/app', 'cms/lib']
57
- # end
58
- # MetricFu.flay.should == { :dirs_to_flay => ['cms/app', 'cms/lib'] }
59
- # end
60
- # end
51
+ describe "flay" do
52
+ it "should be configurable" do
53
+ now = Time.now
54
+ MetricFu.flay.should == { :dirs_to_flay => ['lib'] }
55
+ MetricFu::Configuration.run do |config|
56
+ config.flay[:dirs_to_flay] = ['cms/app', 'cms/lib']
57
+ end
58
+ MetricFu.flay.should == { :dirs_to_flay => ['cms/app', 'cms/lib'] }
59
+ end
60
+ end
61
61
 
62
- # describe "flog" do
63
- # it "should be configurable" do
64
- # MetricFu.flog.should == { :dirs_to_flog => ['lib'] }
65
- # MetricFu::Configuration.run do |config|
66
- # config.flog[:dirs_to_flog] = ['cms/app', 'cms/lib']
67
- # end
68
- # MetricFu.flog.should == { :dirs_to_flog => ['cms/app', 'cms/lib'] }
69
- # end
70
- # end
62
+ describe "flog" do
63
+ it "should be configurable" do
64
+ MetricFu.flog.should == { :dirs_to_flog => ['lib'] }
65
+ MetricFu::Configuration.run do |config|
66
+ config.flog[:dirs_to_flog] = ['cms/app', 'cms/lib']
67
+ end
68
+ MetricFu.flog.should == { :dirs_to_flog => ['cms/app', 'cms/lib'] }
69
+ end
70
+ end
71
71
 
72
- # describe "saikuro" do
73
- # it "should be configurable" do
74
- # MetricFu.saikuro.should == {}
75
- # MetricFu::Configuration.run do |config|
76
- # config.saikuro = { "--warn_cyclo" => "3", "--error_cyclo" => "4" }
77
- # end
78
- # MetricFu.saikuro.should == { "--warn_cyclo" => "3", "--error_cyclo" => "4" }
79
- # end
80
- #
81
- # it "should only accept a Hash" do
82
- # MetricFu.saikuro.should == {}
83
- # lambda {
84
- # MetricFu::Configuration.run do |config|
85
- # config.saikuro = ''
86
- # end
87
- # }.should raise_error
88
- # end
89
- # end
90
- #
91
- # describe "reek" do
92
- # it "should be configurable" do
93
- # MetricFu.reek.should == { :dirs_to_reek => ['lib'] }
94
- # MetricFu::Configuration.run do |config|
95
- # config.reek[:dirs_to_reek] = ['cms/app', 'cms/lib']
96
- # end
97
- # MetricFu.reek.should == { :dirs_to_reek => ['cms/app', 'cms/lib'] }
98
- # end
99
- # end
100
- #
101
- # describe "roodi" do
102
- # it "should be configurable" do
103
- # MetricFu.roodi.should == { :dirs_to_roodi => ['lib'] }
104
- # MetricFu::Configuration.run do |config|
105
- # config.roodi[:dirs_to_roodi] = ['cms/app', 'cms/lib']
106
- # end
107
- # MetricFu.roodi.should == { :dirs_to_roodi => ['cms/app', 'cms/lib'] }
108
- # end
109
- # end
110
- end
72
+ describe "saikuro" do
73
+ it "should be configurable" do
74
+ MetricFu.saikuro.should == {}
75
+ MetricFu::Configuration.run do |config|
76
+ config.saikuro = { "--warn_cyclo" => "3", "--error_cyclo" => "4" }
77
+ end
78
+ MetricFu.saikuro.should == { "--warn_cyclo" => "3", "--error_cyclo" => "4" }
79
+ end
80
+
81
+ it "should only accept a Hash" do
82
+ MetricFu.saikuro.should == {}
83
+ lambda {
84
+ MetricFu::Configuration.run do |config|
85
+ config.saikuro = ''
86
+ end
87
+ }.should raise_error
88
+ end
89
+ end
90
+
91
+ describe "reek" do
92
+ it "should be configurable" do
93
+ MetricFu.reek.should == { :dirs_to_reek => ['lib'] }
94
+ MetricFu::Configuration.run do |config|
95
+ config.reek[:dirs_to_reek] = ['cms/app', 'cms/lib']
96
+ end
97
+ MetricFu.reek.should == { :dirs_to_reek => ['cms/app', 'cms/lib'] }
98
+ end
99
+ end
100
+
101
+ describe "roodi" do
102
+ it "should be configurable" do
103
+ MetricFu.roodi.should == { :dirs_to_roodi => ['lib'] }
104
+ MetricFu::Configuration.run do |config|
105
+ config.roodi[:dirs_to_roodi] = ['cms/app', 'cms/lib']
106
+ end
107
+ MetricFu.roodi.should == { :dirs_to_roodi => ['cms/app', 'cms/lib'] }
108
+ end
109
+ end
110
+ end