tailor 1.3.1 → 1.4.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 (73) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/Gemfile.lock +27 -25
  4. data/History.md +36 -0
  5. data/README.md +10 -4
  6. data/Rakefile +6 -6
  7. data/features/support/env.rb +2 -2
  8. data/features/support/legacy/bad_ternary_colon_spacing.rb +1 -1
  9. data/features/support/legacy/long_file_with_indentation.rb +2 -2
  10. data/features/support/world.rb +1 -1
  11. data/features/valid_ruby.feature +1 -1
  12. data/lib/tailor/cli/options.rb +19 -1
  13. data/lib/tailor/configuration.rb +2 -2
  14. data/lib/tailor/configuration/style.rb +6 -0
  15. data/lib/tailor/lexed_line.rb +2 -2
  16. data/lib/tailor/lexer/lexer_constants.rb +1 -0
  17. data/lib/tailor/lexer/token.rb +2 -2
  18. data/lib/tailor/logger.rb +2 -2
  19. data/lib/tailor/rake_task.rb +2 -2
  20. data/lib/tailor/ruler.rb +0 -1
  21. data/lib/tailor/rulers/allow_camel_case_methods_ruler.rb +0 -1
  22. data/lib/tailor/rulers/allow_conditional_parentheses.rb +65 -0
  23. data/lib/tailor/rulers/allow_unnecessary_double_quotes_ruler.rb +61 -0
  24. data/lib/tailor/rulers/allow_unnecessary_interpolation_ruler.rb +87 -0
  25. data/lib/tailor/rulers/indentation_spaces_ruler.rb +40 -50
  26. data/lib/tailor/rulers/indentation_spaces_ruler/argument_alignment.rb +63 -0
  27. data/lib/tailor/rulers/indentation_spaces_ruler/ast_xml.rb +89 -0
  28. data/lib/tailor/rulers/indentation_spaces_ruler/indentation_manager.rb +2 -14
  29. data/lib/tailor/rulers/indentation_spaces_ruler/line_continuations.rb +58 -0
  30. data/lib/tailor/rulers/max_code_lines_in_class_ruler.rb +3 -3
  31. data/lib/tailor/rulers/max_code_lines_in_method_ruler.rb +3 -3
  32. data/lib/tailor/rulers/spaces_after_comma_ruler.rb +3 -3
  33. data/lib/tailor/rulers/spaces_after_conditional_ruler.rb +3 -3
  34. data/lib/tailor/rulers/spaces_after_lbrace_ruler.rb +3 -3
  35. data/lib/tailor/rulers/spaces_after_lbracket_ruler.rb +3 -3
  36. data/lib/tailor/rulers/spaces_after_lparen_ruler.rb +3 -3
  37. data/lib/tailor/rulers/spaces_before_comma_ruler.rb +3 -3
  38. data/lib/tailor/rulers/spaces_before_rbrace_ruler.rb +2 -2
  39. data/lib/tailor/rulers/spaces_in_empty_braces_ruler.rb +2 -2
  40. data/lib/tailor/tailorrc.erb +28 -0
  41. data/lib/tailor/version.rb +1 -1
  42. data/spec/functional/conditional_parentheses_spec.rb +325 -0
  43. data/spec/functional/conditional_spacing_spec.rb +66 -42
  44. data/spec/functional/configuration_spec.rb +1 -1
  45. data/spec/functional/horizontal_spacing/braces_spec.rb +10 -9
  46. data/spec/functional/horizontal_spacing/hard_tabs_spec.rb +4 -4
  47. data/spec/functional/horizontal_spacing_spec.rb +5 -5
  48. data/spec/functional/indentation_spacing/argument_alignment_spec.rb +511 -0
  49. data/spec/functional/indentation_spacing/line_continuations_spec.rb +181 -0
  50. data/spec/functional/indentation_spacing_spec.rb +17 -0
  51. data/spec/functional/string_interpolation_spec.rb +117 -0
  52. data/spec/functional/string_quoting_spec.rb +97 -0
  53. data/spec/functional/vertical_spacing/class_length_spec.rb +1 -1
  54. data/spec/spec_helper.rb +8 -2
  55. data/spec/support/argument_alignment_cases.rb +93 -0
  56. data/spec/support/bad_indentation_cases.rb +20 -20
  57. data/spec/support/conditional_parentheses_cases.rb +60 -0
  58. data/spec/support/good_indentation_cases.rb +31 -31
  59. data/spec/support/horizontal_spacing_cases.rb +1 -1
  60. data/spec/support/line_indentation_cases.rb +71 -0
  61. data/spec/support/string_interpolation_cases.rb +45 -0
  62. data/spec/support/string_quoting_cases.rb +25 -0
  63. data/spec/unit/tailor/configuration/file_set_spec.rb +3 -3
  64. data/spec/unit/tailor/configuration/style_spec.rb +24 -21
  65. data/spec/unit/tailor/configuration_spec.rb +4 -1
  66. data/spec/unit/tailor/formatter_spec.rb +10 -10
  67. data/spec/unit/tailor/reporter_spec.rb +0 -1
  68. data/spec/unit/tailor/rulers/indentation_spaces_ruler/indentation_manager_spec.rb +0 -11
  69. data/spec/unit/tailor/rulers/indentation_spaces_ruler_spec.rb +1 -1
  70. data/spec/unit/tailor/version_spec.rb +1 -1
  71. data/tailor.gemspec +1 -0
  72. metadata +72 -33
  73. data/.infinity_test +0 -4
@@ -1,3 +1,3 @@
1
1
  class Tailor
2
- VERSION = '1.3.1'
2
+ VERSION = '1.4.0'
3
3
  end
@@ -0,0 +1,325 @@
1
+ require 'spec_helper'
2
+ require_relative '../support/conditional_parentheses_cases'
3
+ require 'tailor/critic'
4
+ require 'tailor/configuration/style'
5
+
6
+ describe 'Conditional parentheses' do
7
+
8
+ def file_name
9
+ self.class.description
10
+ end
11
+
12
+ def contents
13
+ CONDITIONAL_PARENTHESES[file_name] || begin
14
+ raise "Example not found: #{file_name}"
15
+ end
16
+ end
17
+
18
+ before do
19
+ Tailor::Logger.stub(:log)
20
+ FakeFS.activate!
21
+ FileUtils.touch file_name
22
+ File.open(file_name, 'w') { |f| f.write contents }
23
+ end
24
+
25
+ let(:critic) { Tailor::Critic.new }
26
+
27
+ let(:style) do
28
+ style = Tailor::Configuration::Style.new
29
+ style.trailing_newlines 0, level: :off
30
+ style.allow_invalid_ruby true, level: :off
31
+
32
+ style
33
+ end
34
+
35
+ context :no_parentheses do
36
+ it 'does not warn' do
37
+ critic.check_file(file_name, style.to_hash)
38
+ expect(critic.problems[file_name]).to be_empty
39
+ end
40
+
41
+ it 'does not warn when parentheses are allowed' do
42
+ style.allow_conditional_parentheses true, level: :warn
43
+ critic.check_file(file_name, style.to_hash)
44
+ expect(critic.problems[file_name]).to be_empty
45
+ end
46
+
47
+ it 'does not warn when parentheses are disabled' do
48
+ style.allow_conditional_parentheses false, level: :off
49
+ critic.check_file(file_name, style.to_hash)
50
+ expect(critic.problems[file_name]).to be_empty
51
+ end
52
+ end
53
+
54
+ context :with_parentheses do
55
+ it 'warns' do
56
+ critic.check_file(file_name, style.to_hash)
57
+ expect(critic.problems[file_name]).to eql [{
58
+ type: 'conditional_parentheses',
59
+ line: 1,
60
+ column: 4,
61
+ message: 'Parentheses around conditional expression at column 4.',
62
+ level: :warn
63
+ }]
64
+ end
65
+
66
+ it 'does not warn when parentheses are allowed' do
67
+ style.allow_conditional_parentheses true, level: :warn
68
+ critic.check_file(file_name, style.to_hash)
69
+ expect(critic.problems[file_name]).to be_empty
70
+ end
71
+
72
+ it 'does not warn when parentheses are disabled' do
73
+ style.allow_conditional_parentheses false, level: :off
74
+ critic.check_file(file_name, style.to_hash)
75
+ expect(critic.problems[file_name]).to be_empty
76
+ end
77
+ end
78
+
79
+ context :with_parentheses_no_space do
80
+ it 'warns' do
81
+ critic.check_file(file_name, style.to_hash)
82
+
83
+ expect(critic.problems[file_name].select do |p|
84
+ p[:type] == 'conditional_parentheses'
85
+ end).to eql [{
86
+ type: 'conditional_parentheses',
87
+ line: 1,
88
+ column: 3,
89
+ message: 'Parentheses around conditional expression at column 3.',
90
+ level: :warn
91
+ }]
92
+ end
93
+
94
+ it 'does not warn when parentheses are allowed' do
95
+ style.allow_conditional_parentheses true, level: :warn
96
+ critic.check_file(file_name, style.to_hash)
97
+ expect(critic.problems[file_name].select do |p|
98
+ p[:type] == 'conditional_parentheses'
99
+ end).to be_empty
100
+ end
101
+
102
+ it 'does not warn when parentheses are disabled' do
103
+ style.allow_conditional_parentheses false, level: :off
104
+ critic.check_file(file_name, style.to_hash)
105
+
106
+ expect(critic.problems[file_name].select do |p|
107
+ p[:type] == 'conditional_parentheses'
108
+ end).to be_empty
109
+ end
110
+ end
111
+
112
+ context :method_call do
113
+ it 'does not warn' do
114
+ critic.check_file(file_name, style.to_hash)
115
+ expect(critic.problems[file_name]).to be_empty
116
+ end
117
+
118
+ it 'does not warn when parentheses are allowed' do
119
+ style.allow_conditional_parentheses true, level: :warn
120
+ critic.check_file(file_name, style.to_hash)
121
+ expect(critic.problems[file_name]).to be_empty
122
+ end
123
+
124
+ it 'does not warn when parentheses are disabled' do
125
+ style.allow_conditional_parentheses false, level: :off
126
+ critic.check_file(file_name, style.to_hash)
127
+ expect(critic.problems[file_name]).to be_empty
128
+ end
129
+ end
130
+
131
+ context :indented_method_call do
132
+ it 'does not warn' do
133
+ critic.check_file(file_name, style.to_hash)
134
+ expect(critic.problems[file_name]).to be_empty
135
+ end
136
+
137
+ it 'does not warn when parentheses are allowed' do
138
+ style.allow_conditional_parentheses true, level: :warn
139
+ critic.check_file(file_name, style.to_hash)
140
+ expect(critic.problems[file_name]).to be_empty
141
+ end
142
+
143
+ it 'does not warn when parentheses are disabled' do
144
+ style.allow_conditional_parentheses false, level: :off
145
+ critic.check_file(file_name, style.to_hash)
146
+ expect(critic.problems[file_name]).to be_empty
147
+ end
148
+ end
149
+
150
+ context :method_call_on_parens do
151
+ it 'does not warn' do
152
+ critic.check_file(file_name, style.to_hash)
153
+ expect(critic.problems[file_name]).to be_empty
154
+ end
155
+
156
+ it 'does not warn when parentheses are allowed' do
157
+ style.allow_conditional_parentheses true, level: :warn
158
+ critic.check_file(file_name, style.to_hash)
159
+ expect(critic.problems[file_name]).to be_empty
160
+ end
161
+
162
+ it 'does not warn when parentheses are disabled' do
163
+ style.allow_conditional_parentheses false, level: :off
164
+ critic.check_file(file_name, style.to_hash)
165
+ expect(critic.problems[file_name]).to be_empty
166
+ end
167
+ end
168
+
169
+ context :double_parens do
170
+ it 'warns by default' do
171
+ critic.check_file(file_name, style.to_hash)
172
+ expect(critic.problems[file_name]).to eql [{
173
+ type: 'conditional_parentheses',
174
+ line: 1,
175
+ column: 4,
176
+ message: 'Parentheses around conditional expression at column 4.',
177
+ level: :warn
178
+ }]
179
+ end
180
+
181
+ it 'does not warn when parentheses are allowed' do
182
+ style.allow_conditional_parentheses true, level: :warn
183
+ critic.check_file(file_name, style.to_hash)
184
+ expect(critic.problems[file_name]).to be_empty
185
+ end
186
+
187
+ it 'does not warn when parentheses are disabled' do
188
+ style.allow_conditional_parentheses false, level: :off
189
+ critic.check_file(file_name, style.to_hash)
190
+ expect(critic.problems[file_name]).to be_empty
191
+ end
192
+ end
193
+
194
+ context :unless_no_parentheses do
195
+ it 'does not warn' do
196
+ critic.check_file(file_name, style.to_hash)
197
+ expect(critic.problems[file_name]).to be_empty
198
+ end
199
+
200
+ it 'does not warn when parentheses are allowed' do
201
+ style.allow_conditional_parentheses true, level: :warn
202
+ critic.check_file(file_name, style.to_hash)
203
+ expect(critic.problems[file_name]).to be_empty
204
+ end
205
+
206
+ it 'does not warn when parentheses are disabled' do
207
+ style.allow_conditional_parentheses false, level: :off
208
+ critic.check_file(file_name, style.to_hash)
209
+ expect(critic.problems[file_name]).to be_empty
210
+ end
211
+ end
212
+
213
+ context :unless_with_parentheses do
214
+ it 'warns on parentheses' do
215
+ critic.check_file(file_name, style.to_hash)
216
+ expect(critic.problems[file_name]).to eql [{
217
+ type: 'conditional_parentheses',
218
+ line: 1,
219
+ column: 8,
220
+ message: 'Parentheses around conditional expression at column 8.',
221
+ level: :warn
222
+ }]
223
+ end
224
+
225
+ it 'does not warn when parentheses are allowed' do
226
+ style.allow_conditional_parentheses true, level: :warn
227
+ critic.check_file(file_name, style.to_hash)
228
+ expect(critic.problems[file_name]).to be_empty
229
+ end
230
+
231
+ it 'does not warn when parentheses are disabled' do
232
+ style.allow_conditional_parentheses false, level: :off
233
+ critic.check_file(file_name, style.to_hash)
234
+ expect(critic.problems[file_name]).to be_empty
235
+ end
236
+ end
237
+
238
+ context :case_no_parentheses do
239
+ it 'does not warn' do
240
+ critic.check_file(file_name, style.to_hash)
241
+ expect(critic.problems[file_name]).to be_empty
242
+ end
243
+
244
+ it 'does not warn when parentheses are allowed' do
245
+ style.allow_conditional_parentheses true, level: :warn
246
+ critic.check_file(file_name, style.to_hash)
247
+ expect(critic.problems[file_name]).to be_empty
248
+ end
249
+
250
+ it 'does not warn when parentheses are disabled' do
251
+ style.allow_conditional_parentheses false, level: :off
252
+ critic.check_file(file_name, style.to_hash)
253
+ expect(critic.problems[file_name]).to be_empty
254
+ end
255
+ end
256
+
257
+ context :case_with_parentheses do
258
+ it 'warns on parentheses' do
259
+ critic.check_file(file_name, style.to_hash)
260
+ expect(critic.problems[file_name]).to eql [{
261
+ type: 'conditional_parentheses',
262
+ line: 1,
263
+ column: 6,
264
+ message: 'Parentheses around conditional expression at column 6.',
265
+ level: :warn
266
+ }]
267
+ end
268
+
269
+ it 'does not warn when parentheses are allowed' do
270
+ style.allow_conditional_parentheses true, level: :warn
271
+ critic.check_file(file_name, style.to_hash)
272
+ expect(critic.problems[file_name]).to be_empty
273
+ end
274
+
275
+ it 'does not warn when parentheses are disabled' do
276
+ style.allow_conditional_parentheses false, level: :off
277
+ critic.check_file(file_name, style.to_hash)
278
+ expect(critic.problems[file_name]).to be_empty
279
+ end
280
+ end
281
+
282
+ context :while_no_parentheses do
283
+ it 'does not warn' do
284
+ critic.check_file(file_name, style.to_hash)
285
+ expect(critic.problems[file_name]).to be_empty
286
+ end
287
+
288
+ it 'does not warn when parentheses are allowed' do
289
+ style.allow_conditional_parentheses true, level: :warn
290
+ critic.check_file(file_name, style.to_hash)
291
+ expect(critic.problems[file_name]).to be_empty
292
+ end
293
+
294
+ it 'does not warn when parentheses are disabled' do
295
+ style.allow_conditional_parentheses false, level: :off
296
+ critic.check_file(file_name, style.to_hash)
297
+ expect(critic.problems[file_name]).to be_empty
298
+ end
299
+ end
300
+
301
+ context :while_with_parentheses do
302
+ it 'warns on parentheses' do
303
+ critic.check_file(file_name, style.to_hash)
304
+ expect(critic.problems[file_name]).to eql [{
305
+ type: 'conditional_parentheses',
306
+ line: 1,
307
+ column: 7,
308
+ message: 'Parentheses around conditional expression at column 7.',
309
+ level: :warn
310
+ }]
311
+ end
312
+
313
+ it 'does not warn when parentheses are allowed' do
314
+ style.allow_conditional_parentheses true, level: :warn
315
+ critic.check_file(file_name, style.to_hash)
316
+ expect(critic.problems[file_name]).to be_empty
317
+ end
318
+
319
+ it 'does not warn when parentheses are disabled' do
320
+ style.allow_conditional_parentheses false, level: :off
321
+ critic.check_file(file_name, style.to_hash)
322
+ expect(critic.problems[file_name]).to be_empty
323
+ end
324
+ end
325
+ end
@@ -34,55 +34,67 @@ describe 'Conditional spacing' do
34
34
  context :no_space_after_if do
35
35
  it 'warns when there is no space after an if statement' do
36
36
  critic.check_file(file_name, style.to_hash)
37
- expect(critic.problems[file_name]).to eql [{
38
- :type => 'spaces_after_conditional',
39
- :line => 1,
40
- :column => 0,
41
- :message => '0 spaces after conditional at column 0, expected 1.',
42
- :level => :error
37
+ expect(critic.problems[file_name].reject do |p|
38
+ p[:type] == 'conditional_parentheses'
39
+ end).to eql [{
40
+ type: 'spaces_after_conditional',
41
+ line: 1,
42
+ column: 0,
43
+ message: '0 spaces after conditional at column 0, expected 1.',
44
+ level: :error
43
45
  }]
44
46
  end
45
47
 
46
48
  it 'warns with the correct number of expected spaces' do
47
49
  style.spaces_after_conditional 2, level: :error
48
50
  critic.check_file(file_name, style.to_hash)
49
- expect(critic.problems[file_name]).to eql [{
50
- :type => 'spaces_after_conditional',
51
- :line => 1,
52
- :column => 0,
53
- :message => '0 spaces after conditional at column 0, expected 2.',
54
- :level => :error
51
+ expect(critic.problems[file_name].reject do |p|
52
+ p[:type] == 'conditional_parentheses'
53
+ end).to eql [{
54
+ type: 'spaces_after_conditional',
55
+ line: 1,
56
+ column: 0,
57
+ message: '0 spaces after conditional at column 0, expected 2.',
58
+ level: :error
55
59
  }]
56
60
  end
57
61
 
58
62
  it 'does not warn if spaces are set to zero' do
59
63
  style.spaces_after_conditional 0, level: :error
60
64
  critic.check_file(file_name, style.to_hash)
61
- expect(critic.problems[file_name]).to be_empty
65
+ expect(critic.problems[file_name].reject do |p|
66
+ p[:type] == 'conditional_parentheses'
67
+ end).to be_empty
62
68
  end
63
69
 
64
70
  it 'does not warn if spaces are disabled' do
65
71
  style.spaces_after_conditional 2, level: :off
66
72
  critic.check_file(file_name, style.to_hash)
67
- expect(critic.problems[file_name]).to be_empty
73
+ expect(critic.problems[file_name].reject do |p|
74
+ p[:type] == 'conditional_parentheses'
75
+ end).to be_empty
68
76
  end
69
77
  end
70
78
 
71
79
  context :space_after_if do
72
80
  it 'does not warn when there is a space after the if' do
73
81
  critic.check_file(file_name, style.to_hash)
74
- expect(critic.problems[file_name]).to be_empty
82
+ expect(critic.problems[file_name].reject do |p|
83
+ p[:type] == 'conditional_parentheses'
84
+ end).to be_empty
75
85
  end
76
86
 
77
87
  it 'warns if spaces has been set to zero' do
78
88
  style.spaces_after_conditional 0, level: :error
79
89
  critic.check_file(file_name, style.to_hash)
80
- expect(critic.problems[file_name]).to eql [{
81
- :type => 'spaces_after_conditional',
82
- :line => 1,
83
- :column => 0,
84
- :message => '1 spaces after conditional at column 0, expected 0.',
85
- :level => :error
90
+ expect(critic.problems[file_name].reject do |p|
91
+ p[:type] == 'conditional_parentheses'
92
+ end).to eql [{
93
+ type: 'spaces_after_conditional',
94
+ line: 1,
95
+ column: 0,
96
+ message: '1 spaces after conditional at column 0, expected 0.',
97
+ level: :error
86
98
  }]
87
99
  end
88
100
  end
@@ -90,19 +102,23 @@ describe 'Conditional spacing' do
90
102
  context :no_parens do
91
103
  it 'never warns' do
92
104
  critic.check_file(file_name, style.to_hash)
93
- expect(critic.problems[file_name]).to be_empty
105
+ expect(critic.problems[file_name].reject do |p|
106
+ p[:type] == 'conditional_parentheses'
107
+ end).to be_empty
94
108
  end
95
109
  end
96
110
 
97
111
  context :nested_parens do
98
112
  it 'warns when there is no space after an if statement' do
99
113
  critic.check_file(file_name, style.to_hash)
100
- expect(critic.problems[file_name]).to eql [{
101
- :type => 'spaces_after_conditional',
102
- :line => 1,
103
- :column => 0,
104
- :message => '0 spaces after conditional at column 0, expected 1.',
105
- :level => :error
114
+ expect(critic.problems[file_name].reject do |p|
115
+ p[:type] == 'conditional_parentheses'
116
+ end).to eql [{
117
+ type: 'spaces_after_conditional',
118
+ line: 1,
119
+ column: 0,
120
+ message: '0 spaces after conditional at column 0, expected 1.',
121
+ level: :error
106
122
  }]
107
123
  end
108
124
  end
@@ -110,12 +126,14 @@ describe 'Conditional spacing' do
110
126
  context :no_space_after_unless do
111
127
  it 'warns when there is no space after an unless statement' do
112
128
  critic.check_file(file_name, style.to_hash)
113
- expect(critic.problems[file_name]).to eql [{
114
- :type => 'spaces_after_conditional',
115
- :line => 1,
116
- :column => 0,
117
- :message => '0 spaces after conditional at column 0, expected 1.',
118
- :level => :error
129
+ expect(critic.problems[file_name].reject do |p|
130
+ p[:type] == 'conditional_parentheses'
131
+ end).to eql [{
132
+ type: 'spaces_after_conditional',
133
+ line: 1,
134
+ column: 0,
135
+ message: '0 spaces after conditional at column 0, expected 1.',
136
+ level: :error
119
137
  }]
120
138
  end
121
139
  end
@@ -123,19 +141,23 @@ describe 'Conditional spacing' do
123
141
  context :space_after_unless do
124
142
  it 'does not warn when there is space after an unless statement' do
125
143
  critic.check_file(file_name, style.to_hash)
126
- expect(critic.problems[file_name]).to be_empty
144
+ expect(critic.problems[file_name].reject do |p|
145
+ p[:type] == 'conditional_parentheses'
146
+ end).to be_empty
127
147
  end
128
148
  end
129
149
 
130
150
  context :no_space_after_case do
131
151
  it 'warns when there is no space after a case statement' do
132
152
  critic.check_file(file_name, style.to_hash)
133
- expect(critic.problems[file_name]).to eql [{
134
- :type => 'spaces_after_conditional',
135
- :line => 1,
136
- :column => 5,
137
- :message => '0 spaces after conditional at column 5, expected 1.',
138
- :level => :error
153
+ expect(critic.problems[file_name].reject do |p|
154
+ p[:type] == 'conditional_parentheses'
155
+ end).to eql [{
156
+ type: 'spaces_after_conditional',
157
+ line: 1,
158
+ column: 5,
159
+ message: '0 spaces after conditional at column 5, expected 1.',
160
+ level: :error
139
161
  }]
140
162
  end
141
163
  end
@@ -143,7 +165,9 @@ describe 'Conditional spacing' do
143
165
  context :space_after_case do
144
166
  it 'does not warn when there is space after a case statement' do
145
167
  critic.check_file(file_name, style.to_hash)
146
- expect(critic.problems[file_name]).to be_empty
168
+ expect(critic.problems[file_name].reject do |p|
169
+ p[:type] == 'conditional_parentheses'
170
+ end).to be_empty
147
171
  end
148
172
  end
149
173
  end