tailor 1.1.5 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/.travis.yml +1 -0
  4. data/Gemfile +1 -1
  5. data/Gemfile.lock +23 -23
  6. data/History.rdoc +14 -0
  7. data/README.rdoc +42 -2
  8. data/Rakefile +7 -0
  9. data/features/continuous_integration.feature +28 -0
  10. data/lib/tailor/cli.rb +17 -4
  11. data/lib/tailor/cli/options.rb +6 -0
  12. data/lib/tailor/configuration.rb +19 -3
  13. data/lib/tailor/configuration/style.rb +7 -0
  14. data/lib/tailor/critic.rb +4 -2
  15. data/lib/tailor/formatters/yaml.rb +51 -0
  16. data/lib/tailor/lexer.rb +6 -4
  17. data/lib/tailor/rake_task.rb +44 -6
  18. data/lib/tailor/reporter.rb +9 -3
  19. data/lib/tailor/rulers/allow_invalid_ruby_ruler.rb +3 -3
  20. data/lib/tailor/rulers/indentation_spaces_ruler.rb +24 -6
  21. data/lib/tailor/rulers/indentation_spaces_ruler/indentation_manager.rb +2 -2
  22. data/lib/tailor/rulers/spaces_before_rbrace_ruler.rb +9 -6
  23. data/lib/tailor/rulers/spaces_in_empty_braces_ruler.rb +1 -1
  24. data/lib/tailor/version.rb +1 -1
  25. data/spec/functional/configuration_spec.rb +37 -0
  26. data/spec/functional/horizontal_spacing/braces_spec.rb +113 -113
  27. data/spec/functional/horizontal_spacing/brackets_spec.rb +39 -39
  28. data/spec/functional/horizontal_spacing/comma_spacing_spec.rb +27 -27
  29. data/spec/functional/horizontal_spacing/hard_tabs_spec.rb +42 -42
  30. data/spec/functional/horizontal_spacing/long_lines_spec.rb +16 -16
  31. data/spec/functional/horizontal_spacing/parens_spec.rb +48 -48
  32. data/spec/functional/horizontal_spacing/trailing_whitespace_spec.rb +23 -23
  33. data/spec/functional/horizontal_spacing_spec.rb +11 -11
  34. data/spec/functional/indentation_spacing/bad_indentation_spec.rb +212 -215
  35. data/spec/functional/indentation_spacing_spec.rb +8 -7
  36. data/spec/functional/naming/camel_case_methods_spec.rb +16 -16
  37. data/spec/functional/naming/screaming_snake_case_classes_spec.rb +30 -30
  38. data/spec/functional/naming_spec.rb +5 -4
  39. data/spec/functional/rake_task_spec.rb +56 -10
  40. data/spec/functional/vertical_spacing/class_length_spec.rb +16 -16
  41. data/spec/functional/vertical_spacing/method_length_spec.rb +16 -16
  42. data/spec/functional/vertical_spacing_spec.rb +5 -4
  43. data/spec/support/bad_indentation_cases.rb +35 -35
  44. data/spec/support/good_indentation_cases.rb +108 -108
  45. data/spec/support/horizontal_spacing_cases.rb +37 -37
  46. data/spec/support/naming_cases.rb +6 -6
  47. data/spec/support/vertical_spacing_cases.rb +4 -4
  48. data/spec/unit/tailor/cli_spec.rb +34 -12
  49. data/spec/unit/tailor/configuration_spec.rb +18 -0
  50. data/spec/unit/tailor/formatters/yaml_spec.rb +75 -0
  51. data/spec/unit/tailor/reporter_spec.rb +23 -4
  52. data/spec/unit/tailor/rulers/indentation_spaces_ruler_spec.rb +12 -10
  53. data/spec/unit/tailor/version_spec.rb +3 -2
  54. metadata +35 -63
@@ -3,6 +3,7 @@ require_relative '../support/good_indentation_cases'
3
3
  require 'tailor/critic'
4
4
  require 'tailor/configuration/style'
5
5
 
6
+
6
7
  describe "Indentation spacing problem detection" do
7
8
  before do
8
9
  Tailor::Logger.stub(:log)
@@ -25,18 +26,18 @@ describe "Indentation spacing problem detection" do
25
26
 
26
27
  INDENT_OK.each do |file_name, contents|
27
28
  before do
28
- FileUtils.touch file_name.to_s
29
- File.open(file_name.to_s, 'w') { |f| f.write contents }
29
+ FileUtils.touch file_name
30
+ File.open(file_name, 'w') { |f| f.write contents }
30
31
  end
31
32
 
32
33
  it "should be OK" do
33
- critic.check_file(file_name.to_s, style.to_hash)
34
- critic.problems.should == { file_name.to_s => [] }
34
+ critic.check_file(file_name, style.to_hash)
35
+ critic.problems.should == { file_name => [] }
35
36
  end
36
37
  end
37
38
 
38
39
  context "case statement with indented whens" do
39
- let(:file_name) { :case_whens_in }
40
+ let(:file_name) { 'case_whens_in' }
40
41
 
41
42
  let(:contents) do
42
43
  %Q{def my_method
@@ -55,7 +56,7 @@ end}
55
56
  end
56
57
 
57
58
  context "method with rparen on following line" do
58
- let(:file_name) { :method_closing_lonely_paren }
59
+ let(:file_name) { 'method_closing_lonely_paren' }
59
60
 
60
61
  let(:contents) do
61
62
  %Q{def your_thing(one
@@ -69,7 +70,7 @@ end}
69
70
  end
70
71
 
71
72
  context "lonely rparen and do on the same line" do
72
- let(:file_name) { :rparen_and_do_same_line }
73
+ let(:file_name) { 'rparen_and_do_same_line' }
73
74
 
74
75
  let(:contents) do
75
76
  %Q{opt.on('-c', '--config-file FILE',
@@ -5,11 +5,11 @@ require 'tailor/configuration/style'
5
5
 
6
6
  CAMEL_CASE_METHODS = {}
7
7
 
8
- CAMEL_CASE_METHODS[:one_caps_camel_case_method] =
8
+ CAMEL_CASE_METHODS['one_caps_camel_case_method'] =
9
9
  %Q{def thingOne
10
10
  end}
11
11
 
12
- CAMEL_CASE_METHODS[:one_caps_camel_case_method_trailing_comment] =
12
+ CAMEL_CASE_METHODS['one_caps_camel_case_method_trailing_comment'] =
13
13
  %Q{def thingOne # comment
14
14
  end}
15
15
 
@@ -18,8 +18,8 @@ describe "Detection of camel case methods" do
18
18
  before do
19
19
  Tailor::Logger.stub(:log)
20
20
  FakeFS.activate!
21
- File.open(file_name.to_s, 'w') { |f| f.write contents }
22
- critic.check_file(file_name.to_s, style.to_hash)
21
+ File.open(file_name, 'w') { |f| f.write contents }
22
+ critic.check_file(file_name, style.to_hash)
23
23
  end
24
24
 
25
25
  let(:critic) do
@@ -37,20 +37,20 @@ describe "Detection of camel case methods" do
37
37
  end
38
38
 
39
39
  context "standard camel case method" do
40
- let(:file_name) { :one_caps_camel_case_method }
41
- specify { critic.problems[file_name.to_s].size.should be 1 }
42
- specify { critic.problems[file_name.to_s].first[:type].should == "allow_camel_case_methods" }
43
- specify { critic.problems[file_name.to_s].first[:line].should be 1 }
44
- specify { critic.problems[file_name.to_s].first[:column].should be 4 }
45
- specify { critic.problems[file_name.to_s].first[:level].should be :error }
40
+ let(:file_name) { 'one_caps_camel_case_method' }
41
+ specify { critic.problems[file_name].size.should be 1 }
42
+ specify { critic.problems[file_name].first[:type].should == "allow_camel_case_methods" }
43
+ specify { critic.problems[file_name].first[:line].should be 1 }
44
+ specify { critic.problems[file_name].first[:column].should be 4 }
45
+ specify { critic.problems[file_name].first[:level].should be :error }
46
46
  end
47
47
 
48
48
  context "standard camel case method, trailing comment" do
49
- let(:file_name) { :one_caps_camel_case_method_trailing_comment }
50
- specify { critic.problems[file_name.to_s].size.should be 1 }
51
- specify { critic.problems[file_name.to_s].first[:type].should == "allow_camel_case_methods" }
52
- specify { critic.problems[file_name.to_s].first[:line].should be 1 }
53
- specify { critic.problems[file_name.to_s].first[:column].should be 4 }
54
- specify { critic.problems[file_name.to_s].first[:level].should be :error }
49
+ let(:file_name) { 'one_caps_camel_case_method_trailing_comment' }
50
+ specify { critic.problems[file_name].size.should be 1 }
51
+ specify { critic.problems[file_name].first[:type].should == "allow_camel_case_methods" }
52
+ specify { critic.problems[file_name].first[:line].should be 1 }
53
+ specify { critic.problems[file_name].first[:column].should be 4 }
54
+ specify { critic.problems[file_name].first[:level].should be :error }
55
55
  end
56
56
  end
@@ -5,19 +5,19 @@ require 'tailor/configuration/style'
5
5
 
6
6
  SCREAMING_SNAKE_CASE_CLASSES = {}
7
7
 
8
- SCREAMING_SNAKE_CASE_CLASSES[:one_screaming_snake_case_class] =
8
+ SCREAMING_SNAKE_CASE_CLASSES['one_screaming_snake_case_class'] =
9
9
  %Q{class Thing_One
10
10
  end}
11
11
 
12
- SCREAMING_SNAKE_CASE_CLASSES[:one_screaming_snake_case_module] =
12
+ SCREAMING_SNAKE_CASE_CLASSES['one_screaming_snake_case_module'] =
13
13
  %Q{module Thing_One
14
14
  end}
15
15
 
16
- SCREAMING_SNAKE_CASE_CLASSES[:double_screaming_snake_case_class] =
16
+ SCREAMING_SNAKE_CASE_CLASSES['double_screaming_snake_case_class'] =
17
17
  %Q{class Thing_One_Again
18
18
  end}
19
19
 
20
- SCREAMING_SNAKE_CASE_CLASSES[:double_screaming_snake_case_module] =
20
+ SCREAMING_SNAKE_CASE_CLASSES['double_screaming_snake_case_module'] =
21
21
  %Q{module Thing_One_Again
22
22
  end}
23
23
 
@@ -27,8 +27,8 @@ describe "Detection of camel case methods" do
27
27
  before do
28
28
  Tailor::Logger.stub(:log)
29
29
  FakeFS.activate!
30
- File.open(file_name.to_s, 'w') { |f| f.write contents }
31
- critic.check_file(file_name.to_s, style.to_hash)
30
+ File.open(file_name, 'w') { |f| f.write contents }
31
+ critic.check_file(file_name, style.to_hash)
32
32
  end
33
33
 
34
34
  let(:critic) do
@@ -46,38 +46,38 @@ describe "Detection of camel case methods" do
46
46
  end
47
47
 
48
48
  context "standard screaming snake case class" do
49
- let(:file_name) { :one_screaming_snake_case_class }
50
- specify { critic.problems[file_name.to_s].size.should be 1 }
51
- specify { critic.problems[file_name.to_s].first[:type].should == "allow_screaming_snake_case_classes" }
52
- specify { critic.problems[file_name.to_s].first[:line].should be 1 }
53
- specify { critic.problems[file_name.to_s].first[:column].should be 6 }
54
- specify { critic.problems[file_name.to_s].first[:level].should be :error }
49
+ let(:file_name) { 'one_screaming_snake_case_class' }
50
+ specify { critic.problems[file_name].size.should be 1 }
51
+ specify { critic.problems[file_name].first[:type].should == "allow_screaming_snake_case_classes" }
52
+ specify { critic.problems[file_name].first[:line].should be 1 }
53
+ specify { critic.problems[file_name].first[:column].should be 6 }
54
+ specify { critic.problems[file_name].first[:level].should be :error }
55
55
  end
56
56
 
57
57
  context "standard screaming snake case module" do
58
- let(:file_name) { :one_screaming_snake_case_module }
59
- specify { critic.problems[file_name.to_s].size.should be 1 }
60
- specify { critic.problems[file_name.to_s].first[:type].should == "allow_screaming_snake_case_classes" }
61
- specify { critic.problems[file_name.to_s].first[:line].should be 1 }
62
- specify { critic.problems[file_name.to_s].first[:column].should be 7 }
63
- specify { critic.problems[file_name.to_s].first[:level].should be :error }
58
+ let(:file_name) { 'one_screaming_snake_case_module' }
59
+ specify { critic.problems[file_name].size.should be 1 }
60
+ specify { critic.problems[file_name].first[:type].should == "allow_screaming_snake_case_classes" }
61
+ specify { critic.problems[file_name].first[:line].should be 1 }
62
+ specify { critic.problems[file_name].first[:column].should be 7 }
63
+ specify { critic.problems[file_name].first[:level].should be :error }
64
64
  end
65
65
 
66
66
  context "double screaming snake case class" do
67
- let(:file_name) { :double_screaming_snake_case_class }
68
- specify { critic.problems[file_name.to_s].size.should be 1 }
69
- specify { critic.problems[file_name.to_s].first[:type].should == "allow_screaming_snake_case_classes" }
70
- specify { critic.problems[file_name.to_s].first[:line].should be 1 }
71
- specify { critic.problems[file_name.to_s].first[:column].should be 6 }
72
- specify { critic.problems[file_name.to_s].first[:level].should be :error }
67
+ let(:file_name) { 'double_screaming_snake_case_class' }
68
+ specify { critic.problems[file_name].size.should be 1 }
69
+ specify { critic.problems[file_name].first[:type].should == "allow_screaming_snake_case_classes" }
70
+ specify { critic.problems[file_name].first[:line].should be 1 }
71
+ specify { critic.problems[file_name].first[:column].should be 6 }
72
+ specify { critic.problems[file_name].first[:level].should be :error }
73
73
  end
74
74
 
75
75
  context "double screaming snake case module" do
76
- let(:file_name) { :double_screaming_snake_case_module }
77
- specify { critic.problems[file_name.to_s].size.should be 1 }
78
- specify { critic.problems[file_name.to_s].first[:type].should == "allow_screaming_snake_case_classes" }
79
- specify { critic.problems[file_name.to_s].first[:line].should be 1 }
80
- specify { critic.problems[file_name.to_s].first[:column].should be 7 }
81
- specify { critic.problems[file_name.to_s].first[:level].should be :error }
76
+ let(:file_name) { 'double_screaming_snake_case_module' }
77
+ specify { critic.problems[file_name].size.should be 1 }
78
+ specify { critic.problems[file_name].first[:type].should == "allow_screaming_snake_case_classes" }
79
+ specify { critic.problems[file_name].first[:line].should be 1 }
80
+ specify { critic.problems[file_name].first[:column].should be 7 }
81
+ specify { critic.problems[file_name].first[:level].should be :error }
82
82
  end
83
83
  end
@@ -3,6 +3,7 @@ require_relative '../support/naming_cases'
3
3
  require 'tailor/critic'
4
4
  require 'tailor/configuration/style'
5
5
 
6
+
6
7
  describe "Naming problem detection" do
7
8
  before do
8
9
  Tailor::Logger.stub(:log)
@@ -23,13 +24,13 @@ describe "Naming problem detection" do
23
24
 
24
25
  NAMING_OK.each do |file_name, contents|
25
26
  before do
26
- FileUtils.touch file_name.to_s
27
- File.open(file_name.to_s, 'w') { |f| f.write contents }
27
+ FileUtils.touch file_name
28
+ File.open(file_name, 'w') { |f| f.write contents }
28
29
  end
29
30
 
30
31
  it "should be OK" do
31
- critic.check_file(file_name.to_s, style.to_hash)
32
- critic.problems.should == { file_name.to_s => [] }
32
+ critic.check_file(file_name, style.to_hash)
33
+ critic.problems.should == { file_name => [] }
33
34
  end
34
35
  end
35
36
  end
@@ -1,5 +1,5 @@
1
- require "spec_helper"
2
- require "tailor/rake_task"
1
+ require 'spec_helper'
2
+ require 'tailor/rake_task'
3
3
 
4
4
 
5
5
  describe Tailor::RakeTask do
@@ -13,14 +13,14 @@ describe Tailor::RakeTask do
13
13
  end
14
14
 
15
15
  describe 'rake tailor' do
16
- context "with problematic files" do
16
+ context 'with problematic files' do
17
17
  subject do
18
18
  Tailor::RakeTask.new do |t|
19
19
  t.config_file = File.expand_path 'spec/support/rake_task_config_problems.rb'
20
20
  end
21
21
  end
22
22
 
23
- it "finds problems" do
23
+ it 'finds problems' do
24
24
  subject
25
25
 
26
26
  expect {
@@ -29,14 +29,14 @@ describe Tailor::RakeTask do
29
29
  end
30
30
  end
31
31
 
32
- context "with OK files" do
32
+ context 'with OK files' do
33
33
  subject do
34
34
  Tailor::RakeTask.new do |t|
35
35
  t.config_file = File.expand_path 'spec/support/rake_task_config_no_problems.rb'
36
36
  end
37
37
  end
38
38
 
39
- it "doesn't find problems" do
39
+ it 'does not find problems' do
40
40
  subject
41
41
 
42
42
  expect {
@@ -46,7 +46,7 @@ describe Tailor::RakeTask do
46
46
  end
47
47
  end
48
48
 
49
- context "using a custom task name" do
49
+ context 'using a custom task name' do
50
50
  subject do
51
51
  Tailor::RakeTask.new(task_name) do |t|
52
52
  t.config_file = File.expand_path 'spec/support/rake_task_config_problems.rb'
@@ -55,7 +55,7 @@ describe Tailor::RakeTask do
55
55
 
56
56
  let(:task_name) { 'my_neat_task' }
57
57
 
58
- it "runs the task" do
58
+ it 'runs the task' do
59
59
  subject
60
60
 
61
61
  expect {
@@ -64,7 +64,7 @@ describe Tailor::RakeTask do
64
64
  end
65
65
  end
66
66
 
67
- context "overriding tailor opts within the task" do
67
+ context 'overriding tailor opts within the task' do
68
68
  subject do
69
69
  Tailor::RakeTask.new do |t|
70
70
  t.config_file = File.expand_path 'spec/support/rake_task_config_problems.rb'
@@ -72,7 +72,7 @@ describe Tailor::RakeTask do
72
72
  end
73
73
  end
74
74
 
75
- it "uses the options from the rake task" do
75
+ it 'uses the options from the rake task' do
76
76
  subject
77
77
 
78
78
  expect {
@@ -80,4 +80,50 @@ describe Tailor::RakeTask do
80
80
  }.to_not raise_error
81
81
  end
82
82
  end
83
+
84
+ context 'adding file sets within the task' do
85
+ let(:test_dir) do
86
+ File.expand_path(File.dirname(__FILE__) + '/../dir')
87
+ end
88
+
89
+ before do
90
+ require 'fileutils'
91
+
92
+ unless File.exists?(test_dir)
93
+ FileUtils.mkdir(test_dir)
94
+ end
95
+
96
+ File.directory?(test_dir).should be_true
97
+
98
+ File.open(test_dir + '/test.rb', 'w') do |f|
99
+ f.write <<-CONTENTS
100
+ puts 'I no have end quote
101
+ CONTENTS
102
+ end
103
+
104
+ File.exists?(test_dir + '/test.rb').should be_true
105
+ end
106
+
107
+ after do
108
+ FileUtils.rm_rf test_dir
109
+ end
110
+
111
+ subject do
112
+ Tailor::RakeTask.new do |t|
113
+ t.config_file = File.expand_path 'spec/support/rake_task_config_problems.rb'
114
+
115
+ t.file_set('dir/**/*.rb', 'dir') do |style|
116
+ style.max_line_length 1, level: :error
117
+ end
118
+ end
119
+ end
120
+
121
+ it 'uses the options from the rake task' do
122
+ subject
123
+
124
+ expect {
125
+ rake['tailor'].invoke
126
+ }.to raise_error
127
+ end
128
+ end
83
129
  end
@@ -4,7 +4,7 @@ require 'tailor/configuration/style'
4
4
 
5
5
 
6
6
  CLASS_LENGTH = {}
7
- CLASS_LENGTH[:class_too_long] =
7
+ CLASS_LENGTH['class_too_long'] =
8
8
  %Q{class Party
9
9
  include Clowns
10
10
  include Pizza
@@ -14,7 +14,7 @@ CLASS_LENGTH[:class_too_long] =
14
14
  end
15
15
  end}
16
16
 
17
- CLASS_LENGTH[:parent_class_too_long] =
17
+ CLASS_LENGTH['parent_class_too_long'] =
18
18
  %Q{class Party
19
19
 
20
20
  class Pizza
@@ -28,8 +28,8 @@ describe "Detection of class length" do
28
28
  before do
29
29
  Tailor::Logger.stub(:log)
30
30
  FakeFS.activate!
31
- File.open(file_name.to_s, 'w') { |f| f.write contents }
32
- critic.check_file(file_name.to_s, style.to_hash)
31
+ File.open(file_name, 'w') { |f| f.write contents }
32
+ critic.check_file(file_name, style.to_hash)
33
33
  end
34
34
 
35
35
  let(:critic) do
@@ -48,20 +48,20 @@ describe "Detection of class length" do
48
48
  end
49
49
 
50
50
  context "single class" do
51
- let(:file_name) { :class_too_long }
52
- specify { critic.problems[file_name.to_s].size.should be 1 }
53
- specify { critic.problems[file_name.to_s].first[:type].should == "max_code_lines_in_class" }
54
- specify { critic.problems[file_name.to_s].first[:line].should be 1 }
55
- specify { critic.problems[file_name.to_s].first[:column].should be 0 }
56
- specify { critic.problems[file_name.to_s].first[:level].should be :error }
51
+ let(:file_name) { 'class_too_long' }
52
+ specify { critic.problems[file_name].size.should be 1 }
53
+ specify { critic.problems[file_name].first[:type].should == "max_code_lines_in_class" }
54
+ specify { critic.problems[file_name].first[:line].should be 1 }
55
+ specify { critic.problems[file_name].first[:column].should be 0 }
56
+ specify { critic.problems[file_name].first[:level].should be :error }
57
57
  end
58
58
 
59
59
  context "class in a class" do
60
- let(:file_name) { :parent_class_too_long }
61
- specify { critic.problems[file_name.to_s].size.should be 1 }
62
- specify { critic.problems[file_name.to_s].first[:type].should == "max_code_lines_in_class" }
63
- specify { critic.problems[file_name.to_s].first[:line].should be 1 }
64
- specify { critic.problems[file_name.to_s].first[:column].should be 0 }
65
- specify { critic.problems[file_name.to_s].first[:level].should be :error }
60
+ let(:file_name) { 'parent_class_too_long' }
61
+ specify { critic.problems[file_name].size.should be 1 }
62
+ specify { critic.problems[file_name].first[:type].should == "max_code_lines_in_class" }
63
+ specify { critic.problems[file_name].first[:line].should be 1 }
64
+ specify { critic.problems[file_name].first[:column].should be 0 }
65
+ specify { critic.problems[file_name].first[:level].should be :error }
66
66
  end
67
67
  end
@@ -4,13 +4,13 @@ require 'tailor/configuration/style'
4
4
 
5
5
 
6
6
  METHOD_LENGTH = {}
7
- METHOD_LENGTH[:method_too_long] =
7
+ METHOD_LENGTH['method_too_long'] =
8
8
  %Q{def thing
9
9
  puts
10
10
  puts
11
11
  end}
12
12
 
13
- METHOD_LENGTH[:parent_method_too_long] =
13
+ METHOD_LENGTH['parent_method_too_long'] =
14
14
  %Q{def thing
15
15
  puts
16
16
  def inner_thing; print '1'; end
@@ -22,8 +22,8 @@ describe "Detection of method length" do
22
22
  before do
23
23
  Tailor::Logger.stub(:log)
24
24
  FakeFS.activate!
25
- File.open(file_name.to_s, 'w') { |f| f.write contents }
26
- critic.check_file(file_name.to_s, style.to_hash)
25
+ File.open(file_name, 'w') { |f| f.write contents }
26
+ critic.check_file(file_name, style.to_hash)
27
27
  end
28
28
 
29
29
  let(:critic) do
@@ -42,20 +42,20 @@ describe "Detection of method length" do
42
42
  end
43
43
 
44
44
  context "single class too long" do
45
- let(:file_name) { :method_too_long }
46
- specify { critic.problems[file_name.to_s].size.should be 1 }
47
- specify { critic.problems[file_name.to_s].first[:type].should == "max_code_lines_in_method" }
48
- specify { critic.problems[file_name.to_s].first[:line].should be 1 }
49
- specify { critic.problems[file_name.to_s].first[:column].should be 0 }
50
- specify { critic.problems[file_name.to_s].first[:level].should be :error }
45
+ let(:file_name) { 'method_too_long' }
46
+ specify { critic.problems[file_name].size.should be 1 }
47
+ specify { critic.problems[file_name].first[:type].should == "max_code_lines_in_method" }
48
+ specify { critic.problems[file_name].first[:line].should be 1 }
49
+ specify { critic.problems[file_name].first[:column].should be 0 }
50
+ specify { critic.problems[file_name].first[:level].should be :error }
51
51
  end
52
52
 
53
53
  context "method in a method" do
54
- let(:file_name) { :method_too_long }
55
- specify { critic.problems[file_name.to_s].size.should be 1 }
56
- specify { critic.problems[file_name.to_s].first[:type].should == "max_code_lines_in_method" }
57
- specify { critic.problems[file_name.to_s].first[:line].should be 1 }
58
- specify { critic.problems[file_name.to_s].first[:column].should be 0 }
59
- specify { critic.problems[file_name.to_s].first[:level].should be :error }
54
+ let(:file_name) { 'method_too_long' }
55
+ specify { critic.problems[file_name].size.should be 1 }
56
+ specify { critic.problems[file_name].first[:type].should == "max_code_lines_in_method" }
57
+ specify { critic.problems[file_name].first[:line].should be 1 }
58
+ specify { critic.problems[file_name].first[:column].should be 0 }
59
+ specify { critic.problems[file_name].first[:level].should be :error }
60
60
  end
61
61
  end