rubocop 0.13.1 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rubocop might be problematic. Click here for more details.

Files changed (222) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/CHANGELOG.md +42 -0
  4. data/README.md +59 -54
  5. data/config/default.yml +124 -95
  6. data/config/disabled.yml +4 -0
  7. data/config/enabled.yml +286 -264
  8. data/lib/rubocop.rb +10 -3
  9. data/lib/rubocop/cli.rb +10 -171
  10. data/lib/rubocop/cop/cop.rb +14 -11
  11. data/lib/rubocop/cop/lint/debugger.rb +35 -0
  12. data/lib/rubocop/cop/lint/syntax.rb +34 -0
  13. data/lib/rubocop/cop/offence.rb +15 -23
  14. data/lib/rubocop/cop/style/align_array.rb +1 -10
  15. data/lib/rubocop/cop/style/align_hash.rb +14 -2
  16. data/lib/rubocop/cop/style/align_parameters.rb +1 -11
  17. data/lib/rubocop/cop/style/and_or.rb +13 -11
  18. data/lib/rubocop/cop/style/attr.rb +1 -1
  19. data/lib/rubocop/cop/style/autocorrect_alignment.rb +31 -6
  20. data/lib/rubocop/cop/style/blocks.rb +14 -6
  21. data/lib/rubocop/cop/style/character_literal.rb +1 -1
  22. data/lib/rubocop/cop/style/class_length.rb +38 -0
  23. data/lib/rubocop/cop/style/collection_methods.rb +1 -1
  24. data/lib/rubocop/cop/style/colon_method_call.rb +1 -1
  25. data/lib/rubocop/cop/style/configurable_naming.rb +47 -0
  26. data/lib/rubocop/cop/style/def_parentheses.rb +2 -2
  27. data/lib/rubocop/cop/style/empty_literal.rb +1 -1
  28. data/lib/rubocop/cop/style/even_odd.rb +7 -3
  29. data/lib/rubocop/cop/style/hash_methods.rb +1 -1
  30. data/lib/rubocop/cop/style/hash_syntax.rb +36 -7
  31. data/lib/rubocop/cop/style/lambda_call.rb +36 -11
  32. data/lib/rubocop/cop/style/method_call_parentheses.rb +1 -1
  33. data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +41 -0
  34. data/lib/rubocop/cop/style/method_length.rb +2 -13
  35. data/lib/rubocop/cop/style/method_name.rb +42 -0
  36. data/lib/rubocop/cop/style/numeric_literals.rb +4 -0
  37. data/lib/rubocop/cop/style/perl_backrefs.rb +1 -1
  38. data/lib/rubocop/cop/style/raise_args.rb +60 -0
  39. data/lib/rubocop/cop/style/redundant_exception.rb +32 -0
  40. data/lib/rubocop/cop/style/redundant_return.rb +14 -5
  41. data/lib/rubocop/cop/style/redundant_self.rb +1 -1
  42. data/lib/rubocop/cop/style/semicolon.rb +13 -4
  43. data/lib/rubocop/cop/style/signal_exception.rb +63 -14
  44. data/lib/rubocop/cop/style/special_global_vars.rb +1 -1
  45. data/lib/rubocop/cop/style/string_help.rb +4 -1
  46. data/lib/rubocop/cop/style/string_literals.rb +34 -11
  47. data/lib/rubocop/cop/style/surrounding_space.rb +64 -17
  48. data/lib/rubocop/cop/style/tab.rb +1 -1
  49. data/lib/rubocop/cop/style/variable_name.rb +44 -0
  50. data/lib/rubocop/cop/style/when_then.rb +1 -1
  51. data/lib/rubocop/cop/style/while_until_do.rb +1 -1
  52. data/lib/rubocop/cop/team.rb +4 -7
  53. data/lib/rubocop/cop/util.rb +12 -0
  54. data/lib/rubocop/formatter/clang_style_formatter.rb +1 -1
  55. data/lib/rubocop/formatter/emacs_style_formatter.rb +5 -2
  56. data/lib/rubocop/formatter/json_formatter.rb +1 -0
  57. data/lib/rubocop/formatter/progress_formatter.rb +9 -13
  58. data/lib/rubocop/formatter/simple_text_formatter.rb +63 -15
  59. data/lib/rubocop/options.rb +184 -0
  60. data/lib/rubocop/processed_source.rb +4 -0
  61. data/lib/rubocop/version.rb +1 -1
  62. data/rubocop.gemspec +1 -1
  63. data/spec/rubocop/cli_spec.rb +870 -1001
  64. data/spec/rubocop/config_spec.rb +13 -13
  65. data/spec/rubocop/config_store_spec.rb +38 -37
  66. data/spec/rubocop/cop/commissioner_spec.rb +42 -46
  67. data/spec/rubocop/cop/cop_spec.rb +72 -77
  68. data/spec/rubocop/cop/corrector_spec.rb +51 -55
  69. data/spec/rubocop/cop/lint/assignment_in_condition_spec.rb +100 -106
  70. data/spec/rubocop/cop/lint/block_alignment_spec.rb +403 -409
  71. data/spec/rubocop/cop/lint/debugger_spec.rb +39 -0
  72. data/spec/rubocop/cop/lint/empty_ensure_spec.rb +19 -25
  73. data/spec/rubocop/cop/lint/end_alignment_spec.rb +50 -56
  74. data/spec/rubocop/cop/lint/end_in_method_spec.rb +20 -26
  75. data/spec/rubocop/cop/lint/ensure_return_spec.rb +30 -36
  76. data/spec/rubocop/cop/lint/eval_spec.rb +25 -31
  77. data/spec/rubocop/cop/lint/handle_exceptions_spec.rb +22 -28
  78. data/spec/rubocop/cop/lint/literal_in_condition_spec.rb +51 -57
  79. data/spec/rubocop/cop/lint/loop_spec.rb +17 -23
  80. data/spec/rubocop/cop/lint/parentheses_as_grouped_expression_spec.rb +51 -57
  81. data/spec/rubocop/cop/lint/rescue_exception_spec.rb +105 -111
  82. data/spec/rubocop/cop/lint/shadowing_outer_local_variable_spec.rb +230 -236
  83. data/spec/rubocop/cop/lint/syntax_spec.rb +33 -0
  84. data/spec/rubocop/cop/lint/unreachable_code_spec.rb +51 -57
  85. data/spec/rubocop/cop/lint/useless_assignment_spec.rb +1544 -1550
  86. data/spec/rubocop/cop/lint/useless_comparison_spec.rb +21 -27
  87. data/spec/rubocop/cop/lint/useless_setter_call_spec.rb +119 -125
  88. data/spec/rubocop/cop/lint/void_spec.rb +50 -56
  89. data/spec/rubocop/cop/offence_spec.rb +101 -131
  90. data/spec/rubocop/cop/rails/has_and_belongs_to_many_spec.rb +6 -12
  91. data/spec/rubocop/cop/rails/read_attribute_spec.rb +6 -12
  92. data/spec/rubocop/cop/rails/validation_spec.rb +13 -19
  93. data/spec/rubocop/cop/style/access_control_spec.rb +146 -152
  94. data/spec/rubocop/cop/style/alias_spec.rb +30 -36
  95. data/spec/rubocop/cop/style/align_array_spec.rb +57 -56
  96. data/spec/rubocop/cop/style/align_hash_spec.rb +256 -237
  97. data/spec/rubocop/cop/style/align_parameters_spec.rb +216 -202
  98. data/spec/rubocop/cop/style/and_or_spec.rb +51 -55
  99. data/spec/rubocop/cop/style/ascii_comments_spec.rb +14 -20
  100. data/spec/rubocop/cop/style/ascii_identifiers_spec.rb +26 -32
  101. data/spec/rubocop/cop/style/attr_spec.rb +11 -17
  102. data/spec/rubocop/cop/style/begin_block_spec.rb +6 -12
  103. data/spec/rubocop/cop/style/block_comments_spec.rb +13 -19
  104. data/spec/rubocop/cop/style/block_nesting_spec.rb +134 -140
  105. data/spec/rubocop/cop/style/blocks_spec.rb +81 -84
  106. data/spec/rubocop/cop/style/case_equality_spec.rb +5 -11
  107. data/spec/rubocop/cop/style/case_indentation_spec.rb +71 -77
  108. data/spec/rubocop/cop/style/character_literal_spec.rb +31 -37
  109. data/spec/rubocop/cop/style/class_and_module_camel_case_spec.rb +31 -37
  110. data/spec/rubocop/cop/style/class_length_spec.rb +65 -0
  111. data/spec/rubocop/cop/style/class_methods_spec.rb +35 -41
  112. data/spec/rubocop/cop/style/class_vars_spec.rb +11 -17
  113. data/spec/rubocop/cop/style/collection_methods_spec.rb +41 -47
  114. data/spec/rubocop/cop/style/colon_method_call_spec.rb +45 -51
  115. data/spec/rubocop/cop/style/comment_annotation_spec.rb +79 -85
  116. data/spec/rubocop/cop/style/constant_name_spec.rb +45 -51
  117. data/spec/rubocop/cop/style/def_with_parentheses_spec.rb +28 -34
  118. data/spec/rubocop/cop/style/def_without_parentheses_spec.rb +23 -29
  119. data/spec/rubocop/cop/style/documentation_spec.rb +60 -66
  120. data/spec/rubocop/cop/style/dot_position_spec.rb +50 -56
  121. data/spec/rubocop/cop/style/empty_line_between_defs_spec.rb +109 -110
  122. data/spec/rubocop/cop/style/empty_lines_spec.rb +28 -34
  123. data/spec/rubocop/cop/style/empty_literal_spec.rb +80 -86
  124. data/spec/rubocop/cop/style/encoding_spec.rb +50 -56
  125. data/spec/rubocop/cop/style/end_block_spec.rb +6 -12
  126. data/spec/rubocop/cop/style/end_of_line_spec.rb +13 -19
  127. data/spec/rubocop/cop/style/even_odd_spec.rb +69 -41
  128. data/spec/rubocop/cop/style/favor_join_spec.rb +21 -27
  129. data/spec/rubocop/cop/style/favor_modifier_spec.rb +180 -176
  130. data/spec/rubocop/cop/style/favor_sprintf_spec.rb +41 -47
  131. data/spec/rubocop/cop/style/favor_unless_over_negated_if_spec.rb +63 -69
  132. data/spec/rubocop/cop/style/favor_until_over_negated_while_spec.rb +32 -38
  133. data/spec/rubocop/cop/style/final_newline_spec.rb +16 -22
  134. data/spec/rubocop/cop/style/for_spec.rb +18 -24
  135. data/spec/rubocop/cop/style/global_vars_spec.rb +23 -29
  136. data/spec/rubocop/cop/style/hash_methods_spec.rb +39 -45
  137. data/spec/rubocop/cop/style/hash_syntax_spec.rb +93 -65
  138. data/spec/rubocop/cop/style/if_with_semicolon_spec.rb +11 -17
  139. data/spec/rubocop/cop/style/indentation_width_spec.rb +377 -383
  140. data/spec/rubocop/cop/style/lambda_call_spec.rb +40 -22
  141. data/spec/rubocop/cop/style/lambda_spec.rb +30 -34
  142. data/spec/rubocop/cop/style/leading_comment_space_spec.rb +44 -50
  143. data/spec/rubocop/cop/style/line_length_spec.rb +11 -17
  144. data/spec/rubocop/cop/style/method_call_parentheses_spec.rb +14 -20
  145. data/spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb +60 -0
  146. data/spec/rubocop/cop/style/method_length_spec.rb +127 -133
  147. data/spec/rubocop/cop/style/method_name_spec.rb +103 -0
  148. data/spec/rubocop/cop/style/module_function_spec.rb +16 -22
  149. data/spec/rubocop/cop/style/multiline_block_chain_spec.rb +64 -70
  150. data/spec/rubocop/cop/style/multiline_if_then_spec.rb +74 -80
  151. data/spec/rubocop/cop/style/nil_comparison_spec.rb +20 -26
  152. data/spec/rubocop/cop/style/not_spec.rb +13 -19
  153. data/spec/rubocop/cop/style/numeric_literals_spec.rb +36 -35
  154. data/spec/rubocop/cop/style/one_line_conditional_spec.rb +5 -11
  155. data/spec/rubocop/cop/style/op_method_spec.rb +61 -67
  156. data/spec/rubocop/cop/style/parameter_lists_spec.rb +31 -37
  157. data/spec/rubocop/cop/style/parentheses_around_condition_spec.rb +62 -68
  158. data/spec/rubocop/cop/style/perl_backrefs_spec.rb +9 -15
  159. data/spec/rubocop/cop/style/proc_spec.rb +13 -19
  160. data/spec/rubocop/cop/style/raise_args_spec.rb +55 -0
  161. data/spec/rubocop/cop/style/reduce_arguments_spec.rb +49 -55
  162. data/spec/rubocop/cop/style/redundant_begin_spec.rb +47 -53
  163. data/spec/rubocop/cop/style/redundant_exception_spec.rb +27 -0
  164. data/spec/rubocop/cop/style/redundant_return_spec.rb +164 -72
  165. data/spec/rubocop/cop/style/redundant_self_spec.rb +109 -115
  166. data/spec/rubocop/cop/style/regexp_literal_spec.rb +57 -63
  167. data/spec/rubocop/cop/style/rescue_modifier_spec.rb +99 -105
  168. data/spec/rubocop/cop/style/semicolon_spec.rb +95 -90
  169. data/spec/rubocop/cop/style/signal_exception_spec.rb +248 -95
  170. data/spec/rubocop/cop/style/single_line_methods_spec.rb +45 -51
  171. data/spec/rubocop/cop/style/space_after_colon_spec.rb +14 -20
  172. data/spec/rubocop/cop/style/space_after_comma_spec.rb +16 -22
  173. data/spec/rubocop/cop/style/space_after_control_keyword_spec.rb +48 -54
  174. data/spec/rubocop/cop/style/space_after_method_name_spec.rb +49 -55
  175. data/spec/rubocop/cop/style/space_after_semicolon_spec.rb +10 -16
  176. data/spec/rubocop/cop/style/space_around_block_braces_spec.rb +118 -50
  177. data/spec/rubocop/cop/style/space_around_equals_in_default_parameter_spec.rb +18 -24
  178. data/spec/rubocop/cop/style/space_around_operators_spec.rb +204 -210
  179. data/spec/rubocop/cop/style/space_before_modifier_keyword_spec.rb +36 -42
  180. data/spec/rubocop/cop/style/space_inside_brackets_spec.rb +39 -45
  181. data/spec/rubocop/cop/style/space_inside_hash_literal_braces_spec.rb +62 -68
  182. data/spec/rubocop/cop/style/space_inside_parens_spec.rb +18 -24
  183. data/spec/rubocop/cop/style/special_global_vars_spec.rb +40 -46
  184. data/spec/rubocop/cop/style/string_literals_spec.rb +148 -70
  185. data/spec/rubocop/cop/style/symbol_array_spec.rb +28 -34
  186. data/spec/rubocop/cop/style/symbol_name_spec.rb +132 -138
  187. data/spec/rubocop/cop/style/tab_spec.rb +9 -15
  188. data/spec/rubocop/cop/style/ternary_operator_spec.rb +25 -31
  189. data/spec/rubocop/cop/style/trailing_blank_lines_spec.rb +10 -16
  190. data/spec/rubocop/cop/style/trailing_whitespace_spec.rb +14 -20
  191. data/spec/rubocop/cop/style/trivial_accessors_spec.rb +374 -380
  192. data/spec/rubocop/cop/style/unless_else_spec.rb +17 -23
  193. data/spec/rubocop/cop/style/variable_interpolation_spec.rb +36 -42
  194. data/spec/rubocop/cop/style/variable_name_spec.rb +83 -0
  195. data/spec/rubocop/cop/style/when_then_spec.rb +31 -37
  196. data/spec/rubocop/cop/style/while_until_do_spec.rb +47 -53
  197. data/spec/rubocop/cop/style/word_array_spec.rb +49 -55
  198. data/spec/rubocop/cop/team_spec.rb +125 -127
  199. data/spec/rubocop/cop/variable_inspector/assignment_spec.rb +176 -180
  200. data/spec/rubocop/cop/variable_inspector/locatable_spec.rb +580 -586
  201. data/spec/rubocop/cop/variable_inspector/scope_spec.rb +140 -146
  202. data/spec/rubocop/cop/variable_inspector/variable_spec.rb +52 -58
  203. data/spec/rubocop/cop/variable_inspector/variable_table_spec.rb +217 -223
  204. data/spec/rubocop/cop/variable_inspector_spec.rb +15 -19
  205. data/spec/rubocop/formatter/clang_style_formatter_spec.rb +35 -36
  206. data/spec/rubocop/formatter/disabled_config_formatter_spec.rb +2 -2
  207. data/spec/rubocop/formatter/emacs_style_formatter_spec.rb +24 -1
  208. data/spec/rubocop/formatter/file_list_formatter_spec.rb +1 -1
  209. data/spec/rubocop/formatter/formatter_set_spec.rb +3 -3
  210. data/spec/rubocop/formatter/json_formatter_spec.rb +7 -2
  211. data/spec/rubocop/formatter/offence_count_formatter_spec.rb +1 -1
  212. data/spec/rubocop/formatter/progress_formatter_spec.rb +1 -1
  213. data/spec/rubocop/formatter/simple_text_formatter_spec.rb +55 -6
  214. data/spec/rubocop/options_spec.rb +233 -0
  215. data/spec/rubocop/processed_source_spec.rb +85 -42
  216. data/spec/rubocop/source_parser_spec.rb +108 -110
  217. data/spec/rubocop/target_finder_spec.rb +125 -127
  218. data/spec/rubocop/token_spec.rb +15 -17
  219. metadata +32 -8
  220. data/lib/rubocop/backports/bsearch.rb +0 -39
  221. data/lib/rubocop/cop/style/method_and_variable_snake_case.rb +0 -77
  222. data/spec/rubocop/cop/style/method_and_variable_snake_case_spec.rb +0 -102
@@ -2,35 +2,29 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe NilComparison do
9
- subject(:cop) { described_class.new }
5
+ describe Rubocop::Cop::Style::NilComparison do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'registers an offence for == nil' do
12
- inspect_source(cop,
13
- ['x == nil'])
14
- expect(cop.offences.size).to eq(1)
15
- end
8
+ it 'registers an offence for == nil' do
9
+ inspect_source(cop,
10
+ ['x == nil'])
11
+ expect(cop.offences.size).to eq(1)
12
+ end
16
13
 
17
- it 'registers an offence for === nil' do
18
- inspect_source(cop,
19
- ['x === nil'])
20
- expect(cop.offences.size).to eq(1)
21
- end
14
+ it 'registers an offence for === nil' do
15
+ inspect_source(cop,
16
+ ['x === nil'])
17
+ expect(cop.offences.size).to eq(1)
18
+ end
22
19
 
23
- it 'registers an offence for === nil' do
24
- inspect_source(cop,
25
- ['x != nil'])
26
- expect(cop.offences.size).to eq(1)
27
- end
20
+ it 'registers an offence for === nil' do
21
+ inspect_source(cop,
22
+ ['x != nil'])
23
+ expect(cop.offences.size).to eq(1)
24
+ end
28
25
 
29
- it 'works with lambda.()' do
30
- inspect_source(cop, ['a.(x) == nil'])
31
- expect(cop.offences.size).to eq(1)
32
- end
33
- end
34
- end
26
+ it 'works with lambda.()' do
27
+ inspect_source(cop, ['a.(x) == nil'])
28
+ expect(cop.offences.size).to eq(1)
35
29
  end
36
30
  end
@@ -2,27 +2,21 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe Not do
9
- subject(:a) { Not.new }
5
+ describe Rubocop::Cop::Style::Not do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'registers an offence for not' do
12
- inspect_source(a, ['not test'])
13
- expect(a.offences.size).to eq(1)
14
- end
8
+ it 'registers an offence for not' do
9
+ inspect_source(cop, ['not test'])
10
+ expect(cop.offences.size).to eq(1)
11
+ end
15
12
 
16
- it 'does not register an offence for !' do
17
- inspect_source(a, ['!test'])
18
- expect(a.offences).to be_empty
19
- end
13
+ it 'does not register an offence for !' do
14
+ inspect_source(cop, ['!test'])
15
+ expect(cop.offences).to be_empty
16
+ end
20
17
 
21
- it 'does not register an offence for :not' do
22
- inspect_source(a, ['[:not, :if, :else]'])
23
- expect(a.offences).to be_empty
24
- end
25
- end
26
- end
18
+ it 'does not register an offence for :not' do
19
+ inspect_source(cop, ['[:not, :if, :else]'])
20
+ expect(cop.offences).to be_empty
27
21
  end
28
22
  end
@@ -2,40 +2,41 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe NumericLiterals, :config do
9
- subject(:cop) { described_class.new(config) }
10
- let(:cop_config) { { 'MinDigits' => 5 } }
11
-
12
- it 'registers an offence for a long integer without underscores' do
13
- inspect_source(cop, ['a = 123456'])
14
- expect(cop.offences.size).to eq(1)
15
- end
16
-
17
- it 'registers an offence for an integer with misplaced' do
18
- inspect_source(cop, ['a = 123_456_78_90_00'])
19
- expect(cop.offences.size).to eq(1)
20
- end
21
-
22
- it 'accepts long numbers with underscore' do
23
- inspect_source(cop, ['a = 123_456',
24
- 'b = 123_456.55'])
25
- expect(cop.messages).to be_empty
26
- end
27
-
28
- it 'accepts a short integer without underscore' do
29
- inspect_source(cop, ['a = 123'])
30
- expect(cop.messages).to be_empty
31
- end
32
-
33
- it 'accepts short numbers without underscore' do
34
- inspect_source(cop, ['a = 123',
35
- 'b = 123.456'])
36
- expect(cop.messages).to be_empty
37
- end
38
- end
39
- end
5
+ describe Rubocop::Cop::Style::NumericLiterals, :config do
6
+ subject(:cop) { described_class.new(config) }
7
+ let(:cop_config) { { 'MinDigits' => 5 } }
8
+
9
+ it 'registers an offence for a long integer without underscores' do
10
+ inspect_source(cop, ['a = 123456'])
11
+ expect(cop.offences.size).to eq(1)
12
+ end
13
+
14
+ it 'registers an offence for an integer with misplaced' do
15
+ inspect_source(cop, ['a = 123_456_78_90_00'])
16
+ expect(cop.offences.size).to eq(1)
17
+ end
18
+
19
+ it 'accepts long numbers with underscore' do
20
+ inspect_source(cop, ['a = 123_456',
21
+ 'b = 123_456.55'])
22
+ expect(cop.messages).to be_empty
23
+ end
24
+
25
+ it 'accepts a short integer without underscore' do
26
+ inspect_source(cop, ['a = 123'])
27
+ expect(cop.messages).to be_empty
28
+ end
29
+
30
+ it 'accepts short numbers without underscore' do
31
+ inspect_source(cop, ['a = 123',
32
+ 'b = 123.456'])
33
+ expect(cop.messages).to be_empty
34
+ end
35
+
36
+ it 'ignores non-decimal literals' do
37
+ inspect_source(cop, ['a = 0b1010101010101',
38
+ 'b = 01919191919191',
39
+ 'c = 0xab11111111bb'])
40
+ expect(cop.offences).to be_empty
40
41
  end
41
42
  end
@@ -2,17 +2,11 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe OneLineConditional do
9
- subject(:olc) { OneLineConditional.new }
5
+ describe Rubocop::Cop::Style::OneLineConditional do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'registers an offence for one line if/then/end' do
12
- inspect_source(olc, ['if cond then run else dont end'])
13
- expect(olc.messages).to eq([olc.error_message])
14
- end
15
- end
16
- end
8
+ it 'registers an offence for one line if/then/end' do
9
+ inspect_source(cop, ['if cond then run else dont end'])
10
+ expect(cop.messages).to eq([cop.error_message])
17
11
  end
18
12
  end
@@ -2,79 +2,73 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe OpMethod do
9
- subject(:om) { OpMethod.new }
5
+ describe Rubocop::Cop::Style::OpMethod do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'registers an offence for arg not named other' do
12
- inspect_source(om,
13
- ['def +(another)',
14
- ' another',
15
- 'end'])
16
- expect(om.offences.size).to eq(1)
17
- expect(om.messages)
18
- .to eq([sprintf(OpMethod::MSG, '+')])
19
- end
8
+ it 'registers an offence for arg not named other' do
9
+ inspect_source(cop,
10
+ ['def +(another)',
11
+ ' another',
12
+ 'end'])
13
+ expect(cop.offences.size).to eq(1)
14
+ expect(cop.messages)
15
+ .to eq(['When defining the + operator, name its argument *other*.'])
16
+ end
20
17
 
21
- it 'works properly even if the argument not surrounded with braces' do
22
- inspect_source(om,
23
- ['def + another',
24
- ' another',
25
- 'end'])
26
- expect(om.offences.size).to eq(1)
27
- expect(om.messages)
28
- .to eq([sprintf(OpMethod::MSG, '+')])
29
- end
18
+ it 'works properly even if the argument not surrounded with braces' do
19
+ inspect_source(cop,
20
+ ['def + another',
21
+ ' another',
22
+ 'end'])
23
+ expect(cop.offences.size).to eq(1)
24
+ expect(cop.messages)
25
+ .to eq(['When defining the + operator, name its argument *other*.'])
26
+ end
30
27
 
31
- it 'does not register an offence for arg named other' do
32
- inspect_source(om,
33
- ['def +(other)',
34
- ' other',
35
- 'end'])
36
- expect(om.offences).to be_empty
37
- end
28
+ it 'does not register an offence for arg named other' do
29
+ inspect_source(cop,
30
+ ['def +(other)',
31
+ ' other',
32
+ 'end'])
33
+ expect(cop.offences).to be_empty
34
+ end
38
35
 
39
- it 'does not register an offence for []' do
40
- inspect_source(om,
41
- ['def [](index)',
42
- ' other',
43
- 'end'])
44
- expect(om.offences).to be_empty
45
- end
36
+ it 'does not register an offence for []' do
37
+ inspect_source(cop,
38
+ ['def [](index)',
39
+ ' other',
40
+ 'end'])
41
+ expect(cop.offences).to be_empty
42
+ end
46
43
 
47
- it 'does not register an offence for []=' do
48
- inspect_source(om,
49
- ['def []=(index, value)',
50
- ' other',
51
- 'end'])
52
- expect(om.offences).to be_empty
53
- end
44
+ it 'does not register an offence for []=' do
45
+ inspect_source(cop,
46
+ ['def []=(index, value)',
47
+ ' other',
48
+ 'end'])
49
+ expect(cop.offences).to be_empty
50
+ end
54
51
 
55
- it 'does not register an offence for <<' do
56
- inspect_source(om,
57
- ['def <<(cop)',
58
- ' other',
59
- 'end'])
60
- expect(om.offences).to be_empty
61
- end
52
+ it 'does not register an offence for <<' do
53
+ inspect_source(cop,
54
+ ['def <<(cop)',
55
+ ' other',
56
+ 'end'])
57
+ expect(cop.offences).to be_empty
58
+ end
62
59
 
63
- it 'does not register an offence for non binary operators' do
64
- inspect_source(om,
65
- ['def -@', # Unary minus
66
- 'end',
67
- '',
68
- # This + is not a unary operator. It can only be
69
- # called with dot notation.
70
- 'def +',
71
- 'end',
72
- '',
73
- 'def *(a, b)', # Quite strange, but legal ruby.
74
- 'end'])
75
- expect(om.offences).to be_empty
76
- end
77
- end
78
- end
60
+ it 'does not register an offence for non binary operators' do
61
+ inspect_source(cop,
62
+ ['def -@', # Unary minus
63
+ 'end',
64
+ '',
65
+ # This + is not a unary operator. It can only be
66
+ # called with dot notation.
67
+ 'def +',
68
+ 'end',
69
+ '',
70
+ 'def *(a, b)', # Quite strange, but legal ruby.
71
+ 'end'])
72
+ expect(cop.offences).to be_empty
79
73
  end
80
74
  end
@@ -2,48 +2,42 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe ParameterLists, :config do
9
- subject(:list) { ParameterLists.new(config) }
10
- let(:cop_config) do
11
- {
12
- 'Max' => 4,
13
- 'CountKeywordArgs' => true
14
- }
15
- end
5
+ describe Rubocop::Cop::Style::ParameterLists, :config do
6
+ subject(:cop) { described_class.new(config) }
7
+ let(:cop_config) do
8
+ {
9
+ 'Max' => 4,
10
+ 'CountKeywordArgs' => true
11
+ }
12
+ end
16
13
 
17
- it 'registers an offence for a method def with 5 parameters' do
18
- inspect_source(list, ['def meth(a, b, c, d, e)',
19
- 'end'])
20
- expect(list.offences.size).to eq(1)
21
- end
14
+ it 'registers an offence for a method def with 5 parameters' do
15
+ inspect_source(cop, ['def meth(a, b, c, d, e)',
16
+ 'end'])
17
+ expect(cop.offences.size).to eq(1)
18
+ end
22
19
 
23
- it 'accepts a method def with 4 parameters' do
24
- inspect_source(list, ['def meth(a, b, c, d)',
25
- 'end'])
26
- expect(list.offences).to be_empty
27
- end
20
+ it 'accepts a method def with 4 parameters' do
21
+ inspect_source(cop, ['def meth(a, b, c, d)',
22
+ 'end'])
23
+ expect(cop.offences).to be_empty
24
+ end
28
25
 
29
- context 'When CountKeywordArgs is true' do
30
- it 'counts keyword arguments as well', ruby: 2.0 do
31
- inspect_source(list, ['def meth(a, b, c, d: 1, e: 2)',
32
- 'end'])
33
- expect(list.offences.size).to eq(1)
34
- end
35
- end
26
+ context 'When CountKeywordArgs is true' do
27
+ it 'counts keyword arguments as well', ruby: 2.0 do
28
+ inspect_source(cop, ['def meth(a, b, c, d: 1, e: 2)',
29
+ 'end'])
30
+ expect(cop.offences.size).to eq(1)
31
+ end
32
+ end
36
33
 
37
- context 'When CountKeywordArgs is false' do
38
- before { cop_config['CountKeywordArgs'] = false }
34
+ context 'When CountKeywordArgs is false' do
35
+ before { cop_config['CountKeywordArgs'] = false }
39
36
 
40
- it 'it does not count keyword arguments', ruby: 2.0 do
41
- inspect_source(list, ['def meth(a, b, c, d: 1, e: 2)',
42
- 'end'])
43
- expect(list.offences).to be_empty
44
- end
45
- end
46
- end
37
+ it 'it does not count keyword arguments', ruby: 2.0 do
38
+ inspect_source(cop, ['def meth(a, b, c, d: 1, e: 2)',
39
+ 'end'])
40
+ expect(cop.offences).to be_empty
47
41
  end
48
42
  end
49
43
  end
@@ -2,82 +2,76 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe ParenthesesAroundCondition, :config do
9
- subject(:cop) { ParenthesesAroundCondition.new(config) }
10
- let(:cop_config) { { 'AllowSafeAssignment' => true } }
5
+ describe Rubocop::Cop::Style::ParenthesesAroundCondition, :config do
6
+ subject(:cop) { described_class.new(config) }
7
+ let(:cop_config) { { 'AllowSafeAssignment' => true } }
11
8
 
12
- it 'registers an offence for parentheses around condition' do
13
- inspect_source(cop, ['if (x > 10)',
14
- 'elsif (x < 3)',
15
- 'end',
16
- 'unless (x > 10)',
17
- 'end',
18
- 'while (x > 10)',
19
- 'end',
20
- 'until (x > 10)',
21
- 'end',
22
- 'x += 1 if (x < 10)',
23
- 'x += 1 unless (x < 10)',
24
- 'x += 1 while (x < 10)',
25
- 'x += 1 until (x < 10)',
26
- ])
27
- expect(cop.offences.size).to eq(9)
28
- end
9
+ it 'registers an offence for parentheses around condition' do
10
+ inspect_source(cop, ['if (x > 10)',
11
+ 'elsif (x < 3)',
12
+ 'end',
13
+ 'unless (x > 10)',
14
+ 'end',
15
+ 'while (x > 10)',
16
+ 'end',
17
+ 'until (x > 10)',
18
+ 'end',
19
+ 'x += 1 if (x < 10)',
20
+ 'x += 1 unless (x < 10)',
21
+ 'x += 1 while (x < 10)',
22
+ 'x += 1 until (x < 10)',
23
+ ])
24
+ expect(cop.offences.size).to eq(9)
25
+ end
29
26
 
30
- it 'accepts condition without parentheses' do
31
- inspect_source(cop, ['if x > 10',
32
- 'end',
33
- 'unless x > 10',
34
- 'end',
35
- 'while x > 10',
36
- 'end',
37
- 'until x > 10',
38
- 'end',
39
- 'x += 1 if x < 10',
40
- 'x += 1 unless x < 10',
41
- 'x += 1 while x < 10',
42
- 'x += 1 until x < 10',
43
- ])
44
- expect(cop.offences).to be_empty
45
- end
27
+ it 'accepts condition without parentheses' do
28
+ inspect_source(cop, ['if x > 10',
29
+ 'end',
30
+ 'unless x > 10',
31
+ 'end',
32
+ 'while x > 10',
33
+ 'end',
34
+ 'until x > 10',
35
+ 'end',
36
+ 'x += 1 if x < 10',
37
+ 'x += 1 unless x < 10',
38
+ 'x += 1 while x < 10',
39
+ 'x += 1 until x < 10',
40
+ ])
41
+ expect(cop.offences).to be_empty
42
+ end
46
43
 
47
- it 'is not confused by leading brace in subexpression' do
48
- inspect_source(cop, ['(a > b) && other ? one : two'])
49
- expect(cop.offences).to be_empty
50
- end
44
+ it 'is not confused by leading brace in subexpression' do
45
+ inspect_source(cop, ['(a > b) && other ? one : two'])
46
+ expect(cop.offences).to be_empty
47
+ end
51
48
 
52
- it 'is not confused by unbalanced parentheses' do
53
- inspect_source(cop, ['if (a + b).c()',
54
- 'end'])
55
- expect(cop.offences).to be_empty
56
- end
49
+ it 'is not confused by unbalanced parentheses' do
50
+ inspect_source(cop, ['if (a + b).c()',
51
+ 'end'])
52
+ expect(cop.offences).to be_empty
53
+ end
57
54
 
58
- context 'safe assignment is allowed' do
59
- it 'accepts = in condition surrounded with braces' do
60
- inspect_source(cop,
61
- ['if (test = 10)',
62
- 'end'
63
- ])
64
- expect(cop.offences).to be_empty
65
- end
55
+ context 'safe assignment is allowed' do
56
+ it 'accepts = in condition surrounded with braces' do
57
+ inspect_source(cop,
58
+ ['if (test = 10)',
59
+ 'end'
60
+ ])
61
+ expect(cop.offences).to be_empty
62
+ end
66
63
 
67
- end
64
+ end
68
65
 
69
- context 'safe assignment is not allowed' do
70
- let(:cop_config) { { 'AllowSafeAssignment' => false } }
66
+ context 'safe assignment is not allowed' do
67
+ let(:cop_config) { { 'AllowSafeAssignment' => false } }
71
68
 
72
- it 'does not accepts = in condition surrounded with braces' do
73
- inspect_source(cop,
74
- ['if (test = 10)',
75
- 'end'
76
- ])
77
- expect(cop.offences.size).to eq(1)
78
- end
79
- end
80
- end
69
+ it 'does not accepts = in condition surrounded with braces' do
70
+ inspect_source(cop,
71
+ ['if (test = 10)',
72
+ 'end'
73
+ ])
74
+ expect(cop.offences.size).to eq(1)
81
75
  end
82
76
  end
83
77
  end