simplabs-excellent 1.2.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,17 +9,17 @@ describe Simplabs::Excellent::Checks::CyclomaticComplexityBlockCheck do
9
9
  describe '#evaluate' do
10
10
 
11
11
  it 'should find a simple block' do
12
- content = <<-END
12
+ code = <<-END
13
13
  it 'should be a simple block' do
14
14
  call_foo
15
15
  end
16
16
  END
17
17
 
18
- verify_content_complexity(content, 1)
18
+ verify_code_complexity(code, 1)
19
19
  end
20
20
 
21
21
  it 'should find a block with multiple paths' do
22
- content = <<-END
22
+ code = <<-END
23
23
  it 'should be a complex block' do
24
24
  if some_condition
25
25
  call_foo
@@ -29,13 +29,13 @@ describe Simplabs::Excellent::Checks::CyclomaticComplexityBlockCheck do
29
29
  end
30
30
  END
31
31
 
32
- verify_content_complexity(content, 2)
32
+ verify_code_complexity(code, 2)
33
33
  end
34
34
 
35
35
  end
36
36
 
37
- def verify_content_complexity(content, score)
38
- @excellent.check_content(content)
37
+ def verify_code_complexity(code, score)
38
+ @excellent.check_code(code)
39
39
  warnings = @excellent.warnings
40
40
 
41
41
  warnings.should_not be_empty
@@ -9,27 +9,27 @@ describe Simplabs::Excellent::Checks::CyclomaticComplexityMethodCheck do
9
9
  describe '#evaluate' do
10
10
 
11
11
  it 'should find an if block' do
12
- content = <<-END
12
+ code = <<-END
13
13
  def method_name
14
14
  call_foo if some_condition
15
15
  end
16
16
  END
17
17
 
18
- verify_content_complexity(content, 2)
18
+ verify_code_complexity(code, 2)
19
19
  end
20
20
 
21
21
  it 'should find an unless block' do
22
- content = <<-END
22
+ code = <<-END
23
23
  def method_name
24
24
  call_foo unless some_condition
25
25
  end
26
26
  END
27
27
 
28
- verify_content_complexity(content, 2)
28
+ verify_code_complexity(code, 2)
29
29
  end
30
30
 
31
31
  it 'should find an elsif block' do
32
- content = <<-END
32
+ code = <<-END
33
33
  def method_name
34
34
  if first_condition then
35
35
  call_foo
@@ -41,21 +41,21 @@ describe Simplabs::Excellent::Checks::CyclomaticComplexityMethodCheck do
41
41
  end
42
42
  END
43
43
 
44
- verify_content_complexity(content, 3)
44
+ verify_code_complexity(code, 3)
45
45
  end
46
46
 
47
47
  it 'should find a ternary operator' do
48
- content = <<-END
48
+ code = <<-END
49
49
  def method_name
50
50
  value = some_condition ? 1 : 2
51
51
  end
52
52
  END
53
53
 
54
- verify_content_complexity(content, 2)
54
+ verify_code_complexity(code, 2)
55
55
  end
56
56
 
57
57
  it 'should find a while loop' do
58
- content = <<-END
58
+ code = <<-END
59
59
  def method_name
60
60
  while some_condition do
61
61
  call_foo
@@ -63,11 +63,11 @@ describe Simplabs::Excellent::Checks::CyclomaticComplexityMethodCheck do
63
63
  end
64
64
  END
65
65
 
66
- verify_content_complexity(content, 2)
66
+ verify_code_complexity(code, 2)
67
67
  end
68
68
 
69
69
  it 'should find an until loop' do
70
- content = <<-END
70
+ code = <<-END
71
71
  def method_name
72
72
  until some_condition do
73
73
  call_foo
@@ -75,11 +75,11 @@ describe Simplabs::Excellent::Checks::CyclomaticComplexityMethodCheck do
75
75
  end
76
76
  END
77
77
 
78
- verify_content_complexity(content, 2)
78
+ verify_code_complexity(code, 2)
79
79
  end
80
80
 
81
81
  it 'should find a for loop' do
82
- content = <<-END
82
+ code = <<-END
83
83
  def method_name
84
84
  for i in 1..2 do
85
85
  call_method
@@ -87,11 +87,11 @@ describe Simplabs::Excellent::Checks::CyclomaticComplexityMethodCheck do
87
87
  end
88
88
  END
89
89
 
90
- verify_content_complexity(content, 2)
90
+ verify_code_complexity(code, 2)
91
91
  end
92
92
 
93
93
  it 'should find a rescue block' do
94
- content = <<-END
94
+ code = <<-END
95
95
  def method_name
96
96
  begin
97
97
  call_foo
@@ -101,11 +101,11 @@ describe Simplabs::Excellent::Checks::CyclomaticComplexityMethodCheck do
101
101
  end
102
102
  END
103
103
 
104
- verify_content_complexity(content, 2)
104
+ verify_code_complexity(code, 2)
105
105
  end
106
106
 
107
107
  it 'should find a case and when block' do
108
- content = <<-END
108
+ code = <<-END
109
109
  def method_name
110
110
  case value
111
111
  when 1
@@ -116,7 +116,7 @@ describe Simplabs::Excellent::Checks::CyclomaticComplexityMethodCheck do
116
116
  end
117
117
  END
118
118
 
119
- verify_content_complexity(content, 4)
119
+ verify_code_complexity(code, 4)
120
120
  end
121
121
 
122
122
  describe 'when processing operators' do
@@ -124,13 +124,13 @@ describe Simplabs::Excellent::Checks::CyclomaticComplexityMethodCheck do
124
124
  ['&&', 'and', '||', 'or'].each do |operator|
125
125
 
126
126
  it "should find #{operator}" do
127
- content = <<-END
127
+ code = <<-END
128
128
  def method_name
129
129
  call_foo #{operator} call_bar
130
130
  end
131
131
  END
132
132
 
133
- verify_content_complexity(content, 2)
133
+ verify_code_complexity(code, 2)
134
134
  end
135
135
 
136
136
  end
@@ -138,7 +138,7 @@ describe Simplabs::Excellent::Checks::CyclomaticComplexityMethodCheck do
138
138
  end
139
139
 
140
140
  it 'should deal with nested if blocks containing && and ||' do
141
- content = <<-END
141
+ code = <<-END
142
142
  def method_name
143
143
  if first_condition then
144
144
  call_foo if second_condition && third_condition
@@ -147,11 +147,11 @@ describe Simplabs::Excellent::Checks::CyclomaticComplexityMethodCheck do
147
147
  end
148
148
  END
149
149
 
150
- verify_content_complexity(content, 6)
150
+ verify_code_complexity(code, 6)
151
151
  end
152
152
 
153
153
  it 'should count stupid nested if and else blocks' do
154
- content = <<-END
154
+ code = <<-END
155
155
  def method_name
156
156
  if first_condition then
157
157
  call_foo
@@ -166,11 +166,11 @@ describe Simplabs::Excellent::Checks::CyclomaticComplexityMethodCheck do
166
166
  end
167
167
  END
168
168
 
169
- verify_content_complexity(content, 5)
169
+ verify_code_complexity(code, 5)
170
170
  end
171
171
 
172
172
  it 'should also work on singleton methods' do
173
- content = <<-END
173
+ code = <<-END
174
174
  class Class
175
175
  def self.method_name
176
176
  if first_condition then
@@ -186,7 +186,7 @@ describe Simplabs::Excellent::Checks::CyclomaticComplexityMethodCheck do
186
186
  end
187
187
  end
188
188
  END
189
- @excellent.check_content(content)
189
+ @excellent.check_code(code)
190
190
  warnings = @excellent.warnings
191
191
 
192
192
  warnings.should_not be_empty
@@ -197,8 +197,8 @@ describe Simplabs::Excellent::Checks::CyclomaticComplexityMethodCheck do
197
197
 
198
198
  end
199
199
 
200
- def verify_content_complexity(content, score)
201
- @excellent.check_content(content)
200
+ def verify_code_complexity(code, score)
201
+ @excellent.check_code(code)
202
202
  warnings = @excellent.warnings
203
203
 
204
204
  warnings.should_not be_empty
@@ -9,99 +9,99 @@ describe Simplabs::Excellent::Checks::DuplicationCheck do
9
9
  describe '#evaluate' do
10
10
 
11
11
  it 'should accept multiple calls to new' do
12
- content = <<-END
12
+ code = <<-END
13
13
  def double_thing
14
14
  @thing.new + @thing.new
15
15
  end
16
16
  END
17
- @excellent.check_content(content)
17
+ @excellent.check_code(code)
18
18
  warnings = @excellent.warnings
19
19
 
20
20
  warnings.should be_empty
21
21
  end
22
22
 
23
23
  it 'should reject multiple calls to the same method and receiver' do
24
- content = <<-END
24
+ code = <<-END
25
25
  def double_thing
26
26
  @other.thing + @other.thing
27
27
  end
28
28
  END
29
29
 
30
- verify_warning_found(content, '@other.thing')
30
+ verify_warning_found(code, '@other.thing')
31
31
  end
32
32
 
33
33
  it 'should reject multiple calls to the same lvar' do
34
- content = <<-END
34
+ code = <<-END
35
35
  def double_thing
36
36
  thing[1] + thing[2]
37
37
  end
38
38
  END
39
39
 
40
- verify_warning_found(content, 'thing.[]')
40
+ verify_warning_found(code, 'thing.[]')
41
41
  end
42
42
 
43
43
  it 'should reject multiple calls to the same singleton method' do
44
- content = <<-END
44
+ code = <<-END
45
45
  def double_thing
46
46
  Class.thing[1] + Class.thing[2]
47
47
  end
48
48
  END
49
49
 
50
- verify_warning_found(content, 'Class.thing')
50
+ verify_warning_found(code, 'Class.thing')
51
51
  end
52
52
 
53
53
  it 'should reject multiple calls to the same method without a receiver' do
54
- content = <<-END
54
+ code = <<-END
55
55
  def double_thing
56
56
  thing + thing
57
57
  end
58
58
  END
59
59
 
60
- verify_warning_found(content, 'thing')
60
+ verify_warning_found(code, 'thing')
61
61
  end
62
62
 
63
63
  it 'should reject multiple calls to the same method with the same parameters' do
64
- content = <<-END
64
+ code = <<-END
65
65
  def double_thing
66
66
  thing(1) + thing(1)
67
67
  end
68
68
  END
69
69
 
70
- verify_warning_found(content, 'thing')
70
+ verify_warning_found(code, 'thing')
71
71
  end
72
72
 
73
73
  it 'should reject multiple calls to the same method with different parameters' do
74
- content = <<-END
74
+ code = <<-END
75
75
  def double_thing
76
76
  thing(1) + thing(2)
77
77
  end
78
78
  END
79
79
 
80
- verify_warning_found(content, 'thing')
80
+ verify_warning_found(code, 'thing')
81
81
  end
82
82
 
83
83
  it 'should work with singleton methods on objects' do
84
- content = <<-END
84
+ code = <<-END
85
85
  def object.double_thing
86
86
  thing(1) + thing(2)
87
87
  end
88
88
  END
89
89
 
90
- verify_warning_found(content, 'thing', 'object.double_thing')
90
+ verify_warning_found(code, 'thing', 'object.double_thing')
91
91
  end
92
92
 
93
93
  it 'should work with singleton methods on classes' do
94
- content = <<-END
94
+ code = <<-END
95
95
  def Class.double_thing
96
96
  thing(1) + thing(2)
97
97
  end
98
98
  END
99
99
 
100
- verify_warning_found(content, 'thing', 'Class.double_thing')
100
+ verify_warning_found(code, 'thing', 'Class.double_thing')
101
101
  end
102
102
 
103
103
  it 'should work with singleton methods on classes' do
104
- content = <<-END
104
+ code = <<-END
105
105
  class Class
106
106
  def self.double_thing
107
107
  thing(1) + thing(2)
@@ -109,11 +109,11 @@ describe Simplabs::Excellent::Checks::DuplicationCheck do
109
109
  end
110
110
  END
111
111
 
112
- verify_warning_found(content, 'thing', 'Class.double_thing', 2)
112
+ verify_warning_found(code, 'thing', 'Class.double_thing', 2)
113
113
  end
114
114
 
115
115
  it 'should also work with blocks' do
116
- content = <<-END
116
+ code = <<-END
117
117
  def method
118
118
  double_thing do
119
119
  thing(1) + thing(2)
@@ -121,13 +121,13 @@ describe Simplabs::Excellent::Checks::DuplicationCheck do
121
121
  end
122
122
  END
123
123
 
124
- verify_warning_found(content, 'thing', 'block', 2)
124
+ verify_warning_found(code, 'thing', 'block', 2)
125
125
  end
126
126
 
127
127
  end
128
128
 
129
- def verify_warning_found(content, statement, method = 'double_thing', line = 1)
130
- @excellent.check_content(content)
129
+ def verify_warning_found(code, statement, method = 'double_thing', line = 1)
130
+ @excellent.check_code(code)
131
131
  warnings = @excellent.warnings
132
132
 
133
133
  warnings.should_not be_empty
@@ -9,156 +9,156 @@ describe Simplabs::Excellent::Checks::EmptyRescueBodyCheck do
9
9
  describe '#evaluate' do
10
10
 
11
11
  it 'should accept a rescue body with content and no parameter' do
12
- content = <<-END
12
+ code = <<-END
13
13
  begin
14
14
  call_method
15
15
  rescue
16
16
  puts "Recover from the call"
17
17
  end
18
18
  END
19
- @excellent.check_content(content)
19
+ @excellent.check_code(code)
20
20
 
21
21
  @excellent.warnings.should be_empty
22
22
  end
23
23
 
24
24
  it 'should accept a rescue body with a return' do
25
- content = <<-END
25
+ code = <<-END
26
26
  begin
27
27
  call_method
28
28
  rescue
29
29
  return true
30
30
  end
31
31
  END
32
- @excellent.check_content(content)
32
+ @excellent.check_code(code)
33
33
 
34
34
  @excellent.warnings.should be_empty
35
35
  end
36
36
 
37
37
  it "should accept a virtual method call" do
38
- content = <<-END
38
+ code = <<-END
39
39
  begin
40
40
  call_method
41
41
  rescue
42
42
  show_error
43
43
  end
44
44
  END
45
- @excellent.check_content(content)
45
+ @excellent.check_code(code)
46
46
 
47
47
  @excellent.warnings.should be_empty
48
48
  end
49
49
 
50
- it 'should accept a rescue body with content and a parameter' do
51
- content = <<-END
50
+ it 'should accept a rescue body with code and a parameter' do
51
+ code = <<-END
52
52
  begin
53
53
  call_method
54
54
  rescue Exception => e
55
55
  puts "Recover from the call"
56
56
  end
57
57
  END
58
- @excellent.check_content(content)
58
+ @excellent.check_code(code)
59
59
 
60
60
  @excellent.warnings.should be_empty
61
61
  end
62
62
 
63
63
  it 'should accept a rescue body with an assignment' do
64
- content = <<-END
64
+ code = <<-END
65
65
  begin
66
66
  call_method
67
67
  rescue Exception => e
68
68
  my_var = 1
69
69
  end
70
70
  END
71
- @excellent.check_content(content)
71
+ @excellent.check_code(code)
72
72
 
73
73
  @excellent.warnings.should be_empty
74
74
  end
75
75
 
76
76
  it 'should accept a rescue body with an attribute assignment' do
77
- content = <<-END
77
+ code = <<-END
78
78
  begin
79
79
  call_method
80
80
  rescue Exception => e
81
81
  self.var = 1
82
82
  end
83
83
  END
84
- @excellent.check_content(content)
84
+ @excellent.check_code(code)
85
85
 
86
86
  @excellent.warnings.should be_empty
87
87
  end
88
88
 
89
89
  it 'should accept an inline rescue statement' do
90
- content = <<-END
90
+ code = <<-END
91
91
  value = call_method rescue 1
92
92
  END
93
- @excellent.check_content(content)
93
+ @excellent.check_code(code)
94
94
 
95
95
  @excellent.warnings.should be_empty
96
96
  end
97
97
 
98
98
  it 'should accept an empty array as a statement' do
99
- content = <<-END
99
+ code = <<-END
100
100
  value = call_method rescue []
101
101
  END
102
102
 
103
- @excellent.check_content(content)
103
+ @excellent.check_code(code)
104
104
 
105
105
  @excellent.warnings.should be_empty
106
106
  end
107
107
 
108
108
  it 'should accept an empty hash as a statement' do
109
- content = <<-END
109
+ code = <<-END
110
110
  value = call_method rescue {}
111
111
  END
112
112
 
113
- @excellent.check_content(content)
113
+ @excellent.check_code(code)
114
114
 
115
115
  @excellent.warnings.should be_empty
116
116
  end
117
117
 
118
118
  it 'should accept a boolean as a statement' do
119
- content = <<-END
119
+ code = <<-END
120
120
  value = call_method rescue false
121
121
  END
122
- @excellent.check_content(content)
122
+ @excellent.check_code(code)
123
123
 
124
124
  @excellent.warnings.should be_empty
125
125
  end
126
126
 
127
127
  it 'should accept nil as a statement' do
128
- content = <<-END
128
+ code = <<-END
129
129
  value = call_method rescue nil
130
130
  END
131
- @excellent.check_content(content)
131
+ @excellent.check_code(code)
132
132
 
133
133
  @excellent.warnings.should be_empty
134
134
  end
135
135
 
136
136
  it 'should reject an empty rescue block with no parameter' do
137
- content = <<-END
137
+ code = <<-END
138
138
  begin
139
139
  call_method
140
140
  rescue
141
141
  end
142
142
  END
143
143
 
144
- verify_warning_found(content)
144
+ verify_warning_found(code)
145
145
  end
146
146
 
147
147
  it 'should reject an empty rescue block with a parameter' do
148
- content = <<-END
148
+ code = <<-END
149
149
  begin
150
150
  call_method
151
151
  rescue Exception => e
152
152
  end
153
153
  END
154
154
 
155
- verify_warning_found(content)
155
+ verify_warning_found(code)
156
156
  end
157
157
 
158
158
  end
159
159
 
160
- def verify_warning_found(content)
161
- @excellent.check_content(content)
160
+ def verify_warning_found(code)
161
+ @excellent.check_code(code)
162
162
  warnings = @excellent.warnings
163
163
 
164
164
  warnings.should_not be_empty