metric_fu 4.1.2 → 4.1.3

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 (76) hide show
  1. data/.travis.yml +7 -4
  2. data/.yardopts +5 -0
  3. data/CONTRIBUTING.md +28 -13
  4. data/Gemfile +7 -3
  5. data/HISTORY.md +12 -0
  6. data/README.md +17 -0
  7. data/TODO.md +74 -79
  8. data/lib/metric_fu.rb +8 -0
  9. data/lib/metric_fu/configuration.rb +8 -3
  10. data/lib/metric_fu/core_ext.rb +2 -0
  11. data/lib/metric_fu/core_ext/inflector/inflections.rb +214 -0
  12. data/lib/metric_fu/core_ext/inflector/methods.rb +153 -0
  13. data/lib/metric_fu/core_ext/object.rb +3 -0
  14. data/lib/metric_fu/core_ext/object/blank.rb +106 -0
  15. data/lib/metric_fu/core_ext/object/to_json.rb +12 -0
  16. data/lib/metric_fu/core_ext/string.rb +2 -0
  17. data/lib/metric_fu/core_ext/string/inflections.rb +195 -0
  18. data/lib/metric_fu/initial_requires.rb +0 -8
  19. data/lib/metric_fu/metrics/base_template.rb +28 -1
  20. data/lib/metric_fu/metrics/churn/churn.rb +2 -2
  21. data/lib/metric_fu/metrics/churn/template_awesome/churn.html.erb +8 -6
  22. data/lib/metric_fu/metrics/hotspots/analysis/code_issue.rb +6 -0
  23. data/lib/metric_fu/metrics/hotspots/init.rb +1 -0
  24. data/lib/metric_fu/reporting/templates/awesome/awesome_template.rb +37 -20
  25. data/lib/metric_fu/reporting/templates/awesome/css/bluff.css +15 -0
  26. data/lib/metric_fu/reporting/templates/awesome/css/default.css +0 -48
  27. data/lib/metric_fu/reporting/templates/awesome/css/rcov.css +32 -0
  28. data/lib/metric_fu/reporting/templates/awesome/index.html.erb +4 -32
  29. data/lib/metric_fu/reporting/templates/awesome/layout.html.erb +2 -0
  30. data/lib/metric_fu/version.rb +1 -1
  31. data/metric_fu.gemspec +23 -11
  32. data/spec/cli/helper_spec.rb +38 -28
  33. data/spec/metric_fu/configuration_spec.rb +35 -22
  34. data/spec/metric_fu/metrics/base_template_spec.rb +7 -7
  35. data/spec/metric_fu/metrics/churn/churn_spec.rb +9 -2
  36. data/spec/metric_fu/metrics/flog/flog_spec.rb +57 -55
  37. data/spec/metric_fu/metrics/hotspots/hotspot_analyzer_spec.rb +0 -2
  38. data/spec/run_spec.rb +0 -8
  39. data/spec/support/suite.rb +3 -1
  40. metadata +74 -125
  41. data/home_page/back_all.jpg +0 -0
  42. data/home_page/cc.rb.gif +0 -0
  43. data/home_page/churn.gif +0 -0
  44. data/home_page/cruise_control_1.gif +0 -0
  45. data/home_page/cyclomatic.gif +0 -0
  46. data/home_page/flay.gif +0 -0
  47. data/home_page/flog.gif +0 -0
  48. data/home_page/flog2.gif +0 -0
  49. data/home_page/footer.gif +0 -0
  50. data/home_page/header.jpg +0 -0
  51. data/home_page/hotspot.gif +0 -0
  52. data/home_page/img09.gif +0 -0
  53. data/home_page/index.html +0 -138
  54. data/home_page/rcov.gif +0 -0
  55. data/home_page/reek.gif +0 -0
  56. data/home_page/robots.txt +0 -5
  57. data/home_page/roodi.gif +0 -0
  58. data/home_page/saikuro.gif +0 -0
  59. data/home_page/stats.gif +0 -0
  60. data/home_page/styles.css +0 -245
  61. data/home_page/title.gif +0 -0
  62. data/home_page/title_back.gif +0 -0
  63. data/lib/metric_fu/metrics/cane/template_standard/cane.html.erb +0 -95
  64. data/lib/metric_fu/metrics/churn/template_standard/churn.html.erb +0 -31
  65. data/lib/metric_fu/metrics/flay/template_standard/flay.html.erb +0 -34
  66. data/lib/metric_fu/metrics/flog/template_standard/flog.html.erb +0 -57
  67. data/lib/metric_fu/metrics/hotspots/template_standard/hotspots.html.erb +0 -54
  68. data/lib/metric_fu/metrics/rails_best_practices/template_standard/rails_best_practices.html.erb +0 -29
  69. data/lib/metric_fu/metrics/rcov/template_standard/rcov.html.erb +0 -43
  70. data/lib/metric_fu/metrics/reek/template_standard/reek.html.erb +0 -42
  71. data/lib/metric_fu/metrics/roodi/template_standard/roodi.html.erb +0 -29
  72. data/lib/metric_fu/metrics/saikuro/template_standard/saikuro.html.erb +0 -84
  73. data/lib/metric_fu/metrics/stats/template_standard/stats.html.erb +0 -55
  74. data/lib/metric_fu/reporting/templates/standard/default.css +0 -64
  75. data/lib/metric_fu/reporting/templates/standard/index.html.erb +0 -44
  76. data/lib/metric_fu/reporting/templates/standard/standard_template.rb +0 -26
@@ -15,10 +15,6 @@ describe MetricFu::Cli::Helper do
15
15
  defaults[:open].should be_true
16
16
  end
17
17
 
18
- it "enables Flog" do
19
- defaults[:flog].should be_true
20
- end
21
-
22
18
  it "enables Flay" do
23
19
  defaults[:flay].should be_true
24
20
  end
@@ -39,8 +35,14 @@ describe MetricFu::Cli::Helper do
39
35
  defaults[:saikuro].should be_true
40
36
  end
41
37
 
42
- it "enables Cane" do
43
- defaults[:cane].should be_true
38
+ if MetricFu.configuration.mri?
39
+ it "enables Flog" do
40
+ !defaults[:flog].should be_true
41
+ end
42
+
43
+ it "enables Cane" do
44
+ defaults[:cane].should be_true
45
+ end
44
46
  end
45
47
 
46
48
  it "enables RCov" do
@@ -49,24 +51,26 @@ describe MetricFu::Cli::Helper do
49
51
 
50
52
  end
51
53
 
52
- context "on Ruby 1.8.7" do
54
+ if MetricFu.configuration.mri?
55
+ context "on Ruby 1.8.7" do
53
56
 
54
- before { helper.stub(:ruby).and_return("1.8.7") }
57
+ before { helper.stub(:ruby).and_return("1.8.7") }
58
+
59
+ it "disables rails_best_practices" do
60
+ defaults[:rails_best_practices].should be_false
61
+ end
55
62
 
56
- it "disables rails_best_practices" do
57
- defaults[:rails_best_practices].should be_false
58
63
  end
59
64
 
60
- end
65
+ context "on Ruby 1.9" do
61
66
 
62
- context "on Ruby 1.9" do
67
+ before { helper.stub(:ruby).and_return("1.9.3") }
63
68
 
64
- before { helper.stub(:ruby).and_return("1.9.3") }
69
+ xit "enables Rails Best Practices" do
70
+ defaults[:rails_best_practices].should be_true
71
+ end
65
72
 
66
- xit "enables Rails Best Practices" do
67
- defaults[:rails_best_practices].should be_true
68
73
  end
69
-
70
74
  end
71
75
 
72
76
  end
@@ -106,14 +110,27 @@ describe MetricFu::Cli::Helper do
106
110
  helper.process_options(["--flay"])[:flay].should be_true
107
111
  end
108
112
 
109
- it "turns flog off" do
110
- helper.process_options(["--no-flog"])[:flog].should be_false
111
- end
113
+ if MetricFu.configuration.mri?
114
+
115
+ it "turns flog off" do
116
+ helper.process_options(["--no-flog"])[:flog].should be_false
117
+ end
118
+
119
+ it "turns flog on" do
120
+ helper.process_options(["--flog"])[:flog].should be_true
121
+ end
122
+
123
+ it "turns cane off" do
124
+ helper.process_options(["--no-cane"])[:cane].should be_false
125
+ end
126
+
127
+ it "turns cane on" do
128
+ helper.process_options(["--cane"])[:cane].should be_true
129
+ end
112
130
 
113
- it "turns flog on" do
114
- helper.process_options(["--flog"])[:flog].should be_true
115
131
  end
116
132
 
133
+
117
134
  it "turns hotspots off" do
118
135
  helper.process_options(["--no-hotspots"])[:hotspots].should be_false
119
136
  end
@@ -146,13 +163,6 @@ describe MetricFu::Cli::Helper do
146
163
  helper.process_options(["--roodi"])[:roodi].should be_true
147
164
  end
148
165
 
149
- it "turns cane off" do
150
- helper.process_options(["--no-cane"])[:cane].should be_false
151
- end
152
-
153
- it "turns cane on" do
154
- helper.process_options(["--cane"])[:cane].should be_true
155
- end
156
166
  end
157
167
 
158
168
  end
@@ -101,12 +101,6 @@ describe MetricFu::Configuration do
101
101
  should == {:dirs_to_flay => ['lib'], :filetypes=>["rb"], :minimum_score => 100}
102
102
  end
103
103
 
104
- it 'should set @flog to {:dirs_to_flog => @code_dirs}' do
105
- load_metric 'flog'
106
- @config.send(:flog).
107
- should == {:dirs_to_flog => ['lib']}
108
- end
109
-
110
104
  it 'should set @reek to {:dirs_to_reek => @code_dirs}' do
111
105
  load_metric 'reek'
112
106
  @config.send(:reek).
@@ -126,18 +120,6 @@ describe MetricFu::Configuration do
126
120
  should == { :start_date => %q("1 year ago"), :minimum_churn_count => 10}
127
121
  end
128
122
 
129
- it 'should set @cane to ' +
130
- %q(:dirs_to_cane => @code_dirs, :abc_max => 15, :line_length => 80, :no_doc => 'n', :no_readme => 'y') do
131
- load_metric 'cane'
132
- @config.send(:cane).
133
- should == {
134
- :dirs_to_cane => MetricFu.code_dirs,
135
- :filetypes => ["rb"],
136
- :abc_max => 15,
137
- :line_length => 80,
138
- :no_doc => "n",
139
- :no_readme => "n"}
140
- end
141
123
 
142
124
  it 'should set @rcov to ' +
143
125
  %q(:test_files => Dir['{spec,test}/**/*_{spec,test}.rb'],
@@ -186,6 +168,27 @@ describe MetricFu::Configuration do
186
168
  :formater => "text"}
187
169
  end
188
170
 
171
+ if MetricFu.configuration.mri?
172
+ it 'should set @flog to {:dirs_to_flog => @code_dirs}' do
173
+ load_metric 'flog'
174
+ @config.send(:flog).
175
+ should == {:dirs_to_flog => ['lib']}
176
+ end
177
+ it 'should set @cane to ' +
178
+ %q(:dirs_to_cane => @code_dirs, :abc_max => 15, :line_length => 80, :no_doc => 'n', :no_readme => 'y') do
179
+ load_metric 'cane'
180
+ @config.send(:cane).
181
+ should == {
182
+ :dirs_to_cane => MetricFu.code_dirs,
183
+ :filetypes => ["rb"],
184
+ :abc_max => 15,
185
+ :line_length => 80,
186
+ :no_doc => "n",
187
+ :no_readme => "n"}
188
+ end
189
+ end
190
+
191
+
189
192
  end
190
193
  describe 'if #rails? is true ' do
191
194
 
@@ -240,7 +243,7 @@ describe MetricFu::Configuration do
240
243
  end
241
244
 
242
245
  it 'should set the available metrics' do
243
- @config.metrics.should =~ [:churn, :flog, :flay, :reek, :roodi, :rcov, :hotspots, :saikuro, :cane]
246
+ @config.metrics.should =~ [:churn, :flog, :flay, :reek, :roodi, :rcov, :hotspots, :saikuro, :cane] - MetricFu.mri_only_metrics
244
247
  end
245
248
 
246
249
  it 'should set the @code_dirs instance var to ["lib"]' do
@@ -253,7 +256,10 @@ describe MetricFu::Configuration do
253
256
 
254
257
  before(:each) { get_new_config }
255
258
 
256
- [:churn, :flog, :flay, :reek, :roodi, :rcov, :hotspots, :saikuro].each do |metric|
259
+ (
260
+ [:churn, :flog, :flay, :reek, :roodi, :rcov, :hotspots, :saikuro] -
261
+ MetricFu.mri_only_metrics
262
+ ).each do |metric|
257
263
  it "should have a reader for #{metric}" do
258
264
  expect {
259
265
  @config.send(metric.to_sym)
@@ -272,13 +278,20 @@ describe MetricFu::Configuration do
272
278
 
273
279
  before(:each) { get_new_config }
274
280
 
275
- [:churn, :flog, :flay, :reek, :roodi, :rcov, :hotspots, :saikuro, :cane].each do |metric|
281
+ (
282
+ [:churn, :flog, :flay, :reek, :roodi, :rcov, :hotspots, :saikuro, :cane] -
283
+ MetricFu.mri_only_metrics
284
+
285
+ ).each do |metric|
276
286
  it "should add a #{metric} class method to the MetricFu module " do
277
287
  MetricFu.should respond_to(metric)
278
288
  end
279
289
  end
280
290
 
281
- [:churn, :flog, :flay, :reek, :roodi, :rcov, :hotspots, :saikuro, :cane].each do |graph|
291
+ (
292
+ [:churn, :flog, :flay, :reek, :roodi, :rcov, :hotspots, :saikuro, :cane] -
293
+ MetricFu.mri_only_metrics
294
+ ).each do |graph|
282
295
  it "should add a #{graph} class metrhod to the MetricFu module" do
283
296
  MetricFu.should respond_to(graph)
284
297
  end
@@ -94,21 +94,21 @@ describe MetricFu::Template do
94
94
  end
95
95
 
96
96
  it 'should return a textmate protocol link' do
97
- File.stub!(:expand_path).with('filename').and_return('/expanded/filename')
97
+ @template.should_receive(:complete_file_path).with('filename').and_return('/expanded/filename')
98
98
  result = @template.send(:link_to_filename, 'filename')
99
99
  result.should eql("<a href='txmt://open/?url=file://" \
100
100
  + "/expanded/filename'>filename</a>")
101
101
  end
102
102
 
103
103
  it "should do the right thing with a filename that starts with a slash" do
104
- File.stub!(:expand_path).with('filename').and_return('/expanded/filename')
104
+ @template.should_receive(:complete_file_path).with('/filename').and_return('/expanded/filename')
105
105
  result = @template.send(:link_to_filename, '/filename')
106
106
  result.should eql("<a href='txmt://open/?url=file://" \
107
107
  + "/expanded/filename'>/filename</a>")
108
108
  end
109
109
 
110
110
  it "should include a line number" do
111
- File.stub!(:expand_path).with('filename').and_return('/expanded/filename')
111
+ @template.should_receive(:complete_file_path).with('filename').and_return('/expanded/filename')
112
112
  result = @template.send(:link_to_filename, 'filename', 6)
113
113
  result.should eql("<a href='txmt://open/?url=file://" \
114
114
  + "/expanded/filename&line=6'>filename:6</a>")
@@ -121,7 +121,7 @@ describe MetricFu::Template do
121
121
  config.stub!(:darwin_txmt_protocol_no_thanks).and_return(true)
122
122
  config.stub!(:link_prefix).and_return(nil)
123
123
  MetricFu.stub!(:configuration).and_return(config)
124
- File.should_receive(:expand_path).and_return('filename')
124
+ @template.should_receive(:complete_file_path).and_return('filename')
125
125
  end
126
126
 
127
127
  it "should return a file protocol link" do
@@ -133,7 +133,7 @@ describe MetricFu::Template do
133
133
 
134
134
  describe "and given link text" do
135
135
  it "should use the submitted link text" do
136
- File.stub!(:expand_path).with('filename').and_return('/expanded/filename')
136
+ @template.should_receive(:complete_file_path).with('filename').and_return('/expanded/filename')
137
137
  result = @template.send(:link_to_filename, 'filename', 6, 'link content')
138
138
  result.should eql("<a href='txmt://open/?url=file://" \
139
139
  + "/expanded/filename&line=6'>link content</a>")
@@ -148,7 +148,7 @@ describe MetricFu::Template do
148
148
  config.stub!(:link_prefix).and_return(nil)
149
149
  config.stub!(:darwin_txmt_protocol_no_thanks).and_return(false)
150
150
  MetricFu.stub!(:configuration).and_return(config)
151
- File.should_receive(:expand_path).and_return('filename')
151
+ @template.should_receive(:complete_file_path).and_return('filename')
152
152
  end
153
153
 
154
154
  it 'should return a file protocol link' do
@@ -162,7 +162,7 @@ describe MetricFu::Template do
162
162
  config = mock("configuration")
163
163
  config.should_receive(:link_prefix).and_return('http://example.org/files')
164
164
  MetricFu.stub!(:configuration).and_return(config)
165
- File.should_receive(:expand_path).and_return('filename')
165
+ @template.should_receive(:complete_file_path).and_return('filename')
166
166
  end
167
167
 
168
168
  it 'should return a http protocol link' do
@@ -33,11 +33,18 @@ describe Churn do
33
33
  @changes = {"lib/generators/flog.rb" => 2, "lib/metric_fu.rb" => 3}
34
34
  end
35
35
 
36
- it "should be empty on error" do
36
+ it "should be empty on error text" do
37
37
  churn = MetricFu::Churn.new
38
38
  churn.instance_variable_set(:@output, "Churning requires a subversion or git repo")
39
39
  result = churn.analyze
40
- result.should == [:churn => {}]
40
+ result.should == {:churn => {}}
41
+ end
42
+
43
+ it "should be empty on error no output captured" do
44
+ churn = MetricFu::Churn.new
45
+ churn.instance_variable_set(:@output, nil)
46
+ result = churn.analyze
47
+ result.should == {:churn => {}}
41
48
  end
42
49
 
43
50
  it "should return yaml results" do
@@ -1,70 +1,72 @@
1
1
  require "spec_helper"
2
2
  describe Flog do
3
- before :each do
4
- MetricFu::Configuration.run {}
5
- File.stub!(:directory?).and_return(true)
6
- @flog = MetricFu::Flog.new('base_dir')
7
- end
3
+ if MetricFu.configuration.mri?
4
+ before :each do
5
+ MetricFu::Configuration.run {}
6
+ File.stub!(:directory?).and_return(true)
7
+ @flog = MetricFu::Flog.new('base_dir')
8
+ end
8
9
 
9
- describe "emit method" do
10
- it "should look for files and flog them" do
11
- Dir.should_receive(:glob).with("lib/**/*.rb").and_return(["found/file.rb"])
12
- ::Flog.should_receive(:parse_options).with(["--all", "--details"]).and_return("options")
13
- ::Flog.should_receive(:new).with("options").and_return(flogger = mock('flogger'))
14
- flogger.should_receive(:flog).with(["found/file.rb"])
15
- @flog.emit
10
+ describe "emit method" do
11
+ it "should look for files and flog them" do
12
+ Dir.should_receive(:glob).with("lib/**/*.rb").and_return(["found/file.rb"])
13
+ ::Flog.should_receive(:parse_options).with(["--all", "--details"]).and_return("options")
14
+ ::Flog.should_receive(:new).with("options").and_return(flogger = mock('flogger'))
15
+ flogger.should_receive(:flog).with(["found/file.rb"])
16
+ @flog.emit
17
+ end
16
18
  end
17
- end
18
19
 
19
- describe "analyze method" do
20
- it "should harvest the flog information and put it into method_containers" do
21
- first_full_method_name = "ClassName#first_method_name"
22
- second_full_method_name = "ClassName#second_method_name"
20
+ describe "analyze method" do
21
+ it "should harvest the flog information and put it into method_containers" do
22
+ first_full_method_name = "ClassName#first_method_name"
23
+ second_full_method_name = "ClassName#second_method_name"
23
24
 
24
- flogger = mock('flogger', :calls => {first_full_method_name => {:branch => 11.1, :puts => 1.1},
25
- second_full_method_name => {:branch => 22.2, :puts => 2.2}},
26
- :method_locations => {first_full_method_name => '/file/location.rb:11',
27
- second_full_method_name => '/file/location.rb:22'},
28
- :totals => {first_full_method_name => 11.11,
29
- second_full_method_name => 22.22})
30
- @flog.instance_variable_set(:@flogger, flogger)
31
- @flog.analyze
32
- method_containers = @flog.instance_variable_get(:@method_containers)
33
- method_containers.size.should == 1
25
+ flogger = mock('flogger', :calls => {first_full_method_name => {:branch => 11.1, :puts => 1.1},
26
+ second_full_method_name => {:branch => 22.2, :puts => 2.2}},
27
+ :method_locations => {first_full_method_name => '/file/location.rb:11',
28
+ second_full_method_name => '/file/location.rb:22'},
29
+ :totals => {first_full_method_name => 11.11,
30
+ second_full_method_name => 22.22})
31
+ @flog.instance_variable_set(:@flogger, flogger)
32
+ @flog.analyze
33
+ method_containers = @flog.instance_variable_get(:@method_containers)
34
+ method_containers.size.should == 1
34
35
 
35
- expected={:methods=>{"ClassName#first_method_name" => { :path=>"/file/location.rb:11",
36
- :score=>11.11,
37
- :operators=>{ :branch=>11.1,
38
- :puts=>1.1}},
39
- "ClassName#second_method_name" => {:path=>"/file/location.rb:22",
40
- :score=>22.22,
41
- :operators=>{ :branch=>22.2,
42
- :puts=>2.2}}},
43
- :path=>"/file/location.rb",
44
- :average_score=>((11.11 + 22.22) / 2.0),
45
- :total_score=>33.33,
46
- :highest_score=>22.22,
47
- :name=>"ClassName"}
36
+ expected={:methods=>{"ClassName#first_method_name" => { :path=>"/file/location.rb:11",
37
+ :score=>11.11,
38
+ :operators=>{ :branch=>11.1,
39
+ :puts=>1.1}},
40
+ "ClassName#second_method_name" => {:path=>"/file/location.rb:22",
41
+ :score=>22.22,
42
+ :operators=>{ :branch=>22.2,
43
+ :puts=>2.2}}},
44
+ :path=>"/file/location.rb",
45
+ :average_score=>((11.11 + 22.22) / 2.0),
46
+ :total_score=>33.33,
47
+ :highest_score=>22.22,
48
+ :name=>"ClassName"}
48
49
 
49
- method_containers["ClassName"].to_h.should == expected
50
+ method_containers["ClassName"].to_h.should == expected
51
+ end
50
52
  end
51
- end
52
53
 
53
- describe "to_h method" do
54
- it "should make-a nice hash" do
55
- flogger = mock('flogger', :total => 111.1, :average => 7.3)
56
- @flog.instance_variable_set(:@flogger, flogger)
57
- method_containers = {:ignore_me_1 => mock('container_1', :highest_score => 11.1, :to_h => 'container_1'),
58
- :ignore_me_2 => mock('container_2', :highest_score => 33.3, :to_h => 'container_2'),
59
- :ignore_me_3 => mock('container_3', :highest_score => 22.2, :to_h => 'container_3')}
60
- @flog.instance_variable_set(:@method_containers, method_containers)
54
+ describe "to_h method" do
55
+ it "should make-a nice hash" do
56
+ flogger = mock('flogger', :total => 111.1, :average => 7.3)
57
+ @flog.instance_variable_set(:@flogger, flogger)
58
+ method_containers = {:ignore_me_1 => mock('container_1', :highest_score => 11.1, :to_h => 'container_1'),
59
+ :ignore_me_2 => mock('container_2', :highest_score => 33.3, :to_h => 'container_2'),
60
+ :ignore_me_3 => mock('container_3', :highest_score => 22.2, :to_h => 'container_3')}
61
+ @flog.instance_variable_set(:@method_containers, method_containers)
61
62
 
62
- expected = {:flog => { :total => 111.1,
63
- :average => 7.3,
64
- :method_containers => ['container_2', 'container_3', 'container_1']}}
63
+ expected = {:flog => { :total => 111.1,
64
+ :average => 7.3,
65
+ :method_containers => ['container_2', 'container_3', 'container_1']}}
65
66
 
66
- @flog.to_h.should == expected
67
- end
67
+ @flog.to_h.should == expected
68
+ end
68
69
 
70
+ end
69
71
  end
70
72
  end
data/spec/run_spec.rb CHANGED
@@ -5,18 +5,10 @@ describe MetricFu, "running" do
5
5
 
6
6
  let(:helper) { MetricFu::Cli::Helper.new }
7
7
 
8
- before do
9
- FileUtils.rm_rf("tmp/metric_fu")
10
- end
11
-
12
8
  it "all these tests should not rely on shelling out to the command line" do
13
9
  pending("shelling to bundler is very slow")
14
10
  end
15
11
 
16
- xit "has a clean start" do
17
- File.should_not exist("tmp/metric_fu")
18
- end
19
-
20
12
  xit "loads the .metrics file" do
21
13
  out = metric_fu
22
14
  out.should include "Metrics config loaded"