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,132 +2,126 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe RedundantSelf do
9
- subject(:cop) { RedundantSelf.new }
5
+ describe Rubocop::Cop::Style::RedundantSelf do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'reports an offence a self receiver on an rvalue' do
12
- src = ['a = self.b']
13
- inspect_source(cop, src)
14
- expect(cop.offences.size).to eq(1)
15
- end
8
+ it 'reports an offence a self receiver on an rvalue' do
9
+ src = ['a = self.b']
10
+ inspect_source(cop, src)
11
+ expect(cop.offences.size).to eq(1)
12
+ end
16
13
 
17
- it 'accepts a self receiver on an lvalue of an assignment' do
18
- src = ['self.a = b']
19
- inspect_source(cop, src)
20
- expect(cop.offences).to be_empty
21
- end
14
+ it 'accepts a self receiver on an lvalue of an assignment' do
15
+ src = ['self.a = b']
16
+ inspect_source(cop, src)
17
+ expect(cop.offences).to be_empty
18
+ end
22
19
 
23
- it 'accepts a self receiver on an lvalue of an or-assignment' do
24
- src = ['self.logger ||= Rails.logger']
25
- inspect_source(cop, src)
26
- expect(cop.offences).to be_empty
27
- end
20
+ it 'accepts a self receiver on an lvalue of an or-assignment' do
21
+ src = ['self.logger ||= Rails.logger']
22
+ inspect_source(cop, src)
23
+ expect(cop.offences).to be_empty
24
+ end
28
25
 
29
- it 'accepts a self receiver on an lvalue of an and-assignment' do
30
- src = ['self.flag &&= value']
31
- inspect_source(cop, src)
32
- expect(cop.offences).to be_empty
33
- end
26
+ it 'accepts a self receiver on an lvalue of an and-assignment' do
27
+ src = ['self.flag &&= value']
28
+ inspect_source(cop, src)
29
+ expect(cop.offences).to be_empty
30
+ end
34
31
 
35
- it 'accepts a self receiver on an lvalue of a plus-assignment' do
36
- src = ['self.sum += 10']
37
- inspect_source(cop, src)
38
- expect(cop.offences).to be_empty
39
- end
32
+ it 'accepts a self receiver on an lvalue of a plus-assignment' do
33
+ src = ['self.sum += 10']
34
+ inspect_source(cop, src)
35
+ expect(cop.offences).to be_empty
36
+ end
40
37
 
41
- it 'accepts a self receiver with the square bracket operator' do
42
- src = ['self[a]']
43
- inspect_source(cop, src)
44
- expect(cop.offences).to be_empty
45
- end
38
+ it 'accepts a self receiver with the square bracket operator' do
39
+ src = ['self[a]']
40
+ inspect_source(cop, src)
41
+ expect(cop.offences).to be_empty
42
+ end
46
43
 
47
- it 'accepts a self receiver with the double less-than operator' do
48
- src = ['self << a']
49
- inspect_source(cop, src)
50
- expect(cop.offences).to be_empty
51
- end
44
+ it 'accepts a self receiver with the double less-than operator' do
45
+ src = ['self << a']
46
+ inspect_source(cop, src)
47
+ expect(cop.offences).to be_empty
48
+ end
52
49
 
53
- it 'accepts a self receiver for methods named like ruby keywords' do
54
- src = ['a = self.class',
55
- 'self.for(deps, [], true)',
56
- 'self.and(other)',
57
- 'self.or(other)',
58
- 'self.alias',
59
- 'self.begin',
60
- 'self.break',
61
- 'self.case',
62
- 'self.def',
63
- 'self.defined',
64
- 'self.do',
65
- 'self.else',
66
- 'self.elsif',
67
- 'self.end',
68
- 'self.ensure',
69
- 'self.false',
70
- 'self.if',
71
- 'self.in',
72
- 'self.module',
73
- 'self.next',
74
- 'self.nil',
75
- 'self.not',
76
- 'self.redo',
77
- 'self.rescue',
78
- 'self.retry',
79
- 'self.return',
80
- 'self.self',
81
- 'self.super',
82
- 'self.then',
83
- 'self.true',
84
- 'self.undef',
85
- 'self.unless',
86
- 'self.until',
87
- 'self.when',
88
- 'self.while',
89
- 'self.yield'
90
- ]
91
- inspect_source(cop, src)
92
- expect(cop.offences).to be_empty
93
- end
50
+ it 'accepts a self receiver for methods named like ruby keywords' do
51
+ src = ['a = self.class',
52
+ 'self.for(deps, [], true)',
53
+ 'self.and(other)',
54
+ 'self.or(other)',
55
+ 'self.alias',
56
+ 'self.begin',
57
+ 'self.break',
58
+ 'self.case',
59
+ 'self.def',
60
+ 'self.defined',
61
+ 'self.do',
62
+ 'self.else',
63
+ 'self.elsif',
64
+ 'self.end',
65
+ 'self.ensure',
66
+ 'self.false',
67
+ 'self.if',
68
+ 'self.in',
69
+ 'self.module',
70
+ 'self.next',
71
+ 'self.nil',
72
+ 'self.not',
73
+ 'self.redo',
74
+ 'self.rescue',
75
+ 'self.retry',
76
+ 'self.return',
77
+ 'self.self',
78
+ 'self.super',
79
+ 'self.then',
80
+ 'self.true',
81
+ 'self.undef',
82
+ 'self.unless',
83
+ 'self.until',
84
+ 'self.when',
85
+ 'self.while',
86
+ 'self.yield'
87
+ ]
88
+ inspect_source(cop, src)
89
+ expect(cop.offences).to be_empty
90
+ end
94
91
 
95
- it 'accepts a self receiver used to distinguish from blockarg' do
96
- src = ['def requested_specs(&groups)',
97
- ' some_method(self.groups)',
98
- 'end',
99
- ]
100
- inspect_source(cop, src)
101
- expect(cop.offences).to be_empty
102
- end
92
+ it 'accepts a self receiver used to distinguish from blockarg' do
93
+ src = ['def requested_specs(&groups)',
94
+ ' some_method(self.groups)',
95
+ 'end',
96
+ ]
97
+ inspect_source(cop, src)
98
+ expect(cop.offences).to be_empty
99
+ end
103
100
 
104
- it 'accepts a self receiver used to distinguish from argument' do
105
- src = ['def requested_specs(groups)',
106
- ' some_method(self.groups)',
107
- 'end',
108
- ]
109
- inspect_source(cop, src)
110
- expect(cop.offences).to be_empty
111
- end
101
+ it 'accepts a self receiver used to distinguish from argument' do
102
+ src = ['def requested_specs(groups)',
103
+ ' some_method(self.groups)',
104
+ 'end',
105
+ ]
106
+ inspect_source(cop, src)
107
+ expect(cop.offences).to be_empty
108
+ end
112
109
 
113
- it 'accepts a self receiver used to distinguish from local variable' do
114
- src = ['def requested_specs',
115
- ' @requested_specs ||= begin',
116
- ' groups = self.groups - Bundler.settings.without',
117
- ' groups.map! { |g| g.to_sym }',
118
- ' specs_for(groups)',
119
- ' end',
120
- 'end',
121
- ]
122
- inspect_source(cop, src)
123
- expect(cop.offences).to be_empty
124
- end
110
+ it 'accepts a self receiver used to distinguish from local variable' do
111
+ src = ['def requested_specs',
112
+ ' @requested_specs ||= begin',
113
+ ' groups = self.groups - Bundler.settings.without',
114
+ ' groups.map! { |g| g.to_sym }',
115
+ ' specs_for(groups)',
116
+ ' end',
117
+ 'end',
118
+ ]
119
+ inspect_source(cop, src)
120
+ expect(cop.offences).to be_empty
121
+ end
125
122
 
126
- it 'auto-corrects by removing redundant self' do
127
- new_source = autocorrect_source(cop, ['self.x'])
128
- expect(new_source).to eq('x')
129
- end
130
- end
131
- end
123
+ it 'auto-corrects by removing redundant self' do
124
+ new_source = autocorrect_source(cop, ['self.x'])
125
+ expect(new_source).to eq('x')
132
126
  end
133
127
  end
@@ -2,78 +2,72 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe RegexpLiteral, :config do
9
- subject(:rl) { RegexpLiteral.new(config) }
10
- let(:cop_config) { { 'MaxSlashes' => 1 } }
5
+ describe Rubocop::Cop::Style::RegexpLiteral, :config do
6
+ subject(:cop) { described_class.new(config) }
7
+ let(:cop_config) { { 'MaxSlashes' => 1 } }
11
8
 
12
- context 'when a regexp uses // delimiters' do
13
- context 'when MaxSlashes is 1' do
14
- it 'registers an offence for two slashes in regexp' do
15
- inspect_source(rl, ['x =~ /home\/\//',
16
- 'y =~ /etc\/top\//'])
17
- expect(rl.messages)
18
- .to eq(['Use %r for regular expressions matching more ' +
19
- "than 1 '/' character."] * 2)
20
- end
9
+ context 'when a regexp uses // delimiters' do
10
+ context 'when MaxSlashes is 1' do
11
+ it 'registers an offence for two slashes in regexp' do
12
+ inspect_source(cop, ['x =~ /home\/\//',
13
+ 'y =~ /etc\/top\//'])
14
+ expect(cop.messages)
15
+ .to eq(['Use %r for regular expressions matching more ' +
16
+ "than 1 '/' character."] * 2)
17
+ end
21
18
 
22
- it 'accepts zero or one slash in regexp' do
23
- inspect_source(rl, ['x =~ /\/home/',
24
- 'y =~ /\//',
25
- 'w =~ /\//m',
26
- 'z =~ /a/'])
27
- expect(rl.offences).to be_empty
28
- end
29
- end
19
+ it 'accepts zero or one slash in regexp' do
20
+ inspect_source(cop, ['x =~ /\/home/',
21
+ 'y =~ /\//',
22
+ 'w =~ /\//m',
23
+ 'z =~ /a/'])
24
+ expect(cop.offences).to be_empty
25
+ end
26
+ end
30
27
 
31
- context 'when MaxSlashes is 0' do
32
- let(:cop_config) { { 'MaxSlashes' => 0 } }
28
+ context 'when MaxSlashes is 0' do
29
+ let(:cop_config) { { 'MaxSlashes' => 0 } }
33
30
 
34
- it 'registers an offence for one slash in regexp' do
35
- inspect_source(rl, ['x =~ /home\//'])
36
- expect(rl.messages)
37
- .to eq(['Use %r for regular expressions matching more ' +
38
- "than 0 '/' characters."])
39
- end
31
+ it 'registers an offence for one slash in regexp' do
32
+ inspect_source(cop, ['x =~ /home\//'])
33
+ expect(cop.messages)
34
+ .to eq(['Use %r for regular expressions matching more ' +
35
+ "than 0 '/' characters."])
36
+ end
40
37
 
41
- it 'accepts zero slashes in regexp' do
42
- inspect_source(rl, ['z =~ /a/'])
43
- expect(rl.offences).to be_empty
44
- end
38
+ it 'accepts zero slashes in regexp' do
39
+ inspect_source(cop, ['z =~ /a/'])
40
+ expect(cop.offences).to be_empty
41
+ end
45
42
 
46
- it 'registers an offence for zero slashes in regexp' do
47
- inspect_source(rl, ['y =~ %r(etc)'])
48
- expect(rl.messages)
49
- .to eq(['Use %r only for regular expressions matching more ' +
50
- "than 0 '/' characters."])
51
- end
43
+ it 'registers an offence for zero slashes in regexp' do
44
+ inspect_source(cop, ['y =~ %r(etc)'])
45
+ expect(cop.messages)
46
+ .to eq(['Use %r only for regular expressions matching more ' +
47
+ "than 0 '/' characters."])
48
+ end
52
49
 
53
- it 'accepts regexp with one slash' do
54
- inspect_source(rl, ['x =~ %r(/home)'])
55
- expect(rl.offences).to be_empty
56
- end
57
- end
58
- end
50
+ it 'accepts regexp with one slash' do
51
+ inspect_source(cop, ['x =~ %r(/home)'])
52
+ expect(cop.offences).to be_empty
53
+ end
54
+ end
55
+ end
59
56
 
60
- context 'when a regexp uses %r delimiters' do
61
- context 'when MaxSlashes is 1' do
62
- it 'registers an offence for zero or one slash in regexp' do
63
- inspect_source(rl, ['x =~ %r(/home)',
64
- 'y =~ %r(etc)'])
65
- expect(rl.messages)
66
- .to eq(['Use %r only for regular expressions matching more ' +
67
- "than 1 '/' character."] * 2)
68
- end
57
+ context 'when a regexp uses %r delimiters' do
58
+ context 'when MaxSlashes is 1' do
59
+ it 'registers an offence for zero or one slash in regexp' do
60
+ inspect_source(cop, ['x =~ %r(/home)',
61
+ 'y =~ %r(etc)'])
62
+ expect(cop.messages)
63
+ .to eq(['Use %r only for regular expressions matching more ' +
64
+ "than 1 '/' character."] * 2)
65
+ end
69
66
 
70
- it 'accepts regexp with two or more slashes' do
71
- inspect_source(rl, ['x =~ %r(/home/)',
72
- 'y =~ %r(/////)'])
73
- expect(rl.offences).to be_empty
74
- end
75
- end
76
- end
67
+ it 'accepts regexp with two or more slashes' do
68
+ inspect_source(cop, ['x =~ %r(/home/)',
69
+ 'y =~ %r(/////)'])
70
+ expect(cop.offences).to be_empty
77
71
  end
78
72
  end
79
73
  end
@@ -2,121 +2,115 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe RescueModifier do
9
- subject(:rm) { RescueModifier.new }
5
+ describe Rubocop::Cop::Style::RescueModifier do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'registers an offence for modifier rescue' do
12
- inspect_source(rm,
13
- ['method rescue handle'])
14
- expect(rm.offences.size).to eq(1)
15
- expect(rm.messages)
16
- .to eq([RescueModifier::MSG])
17
- end
8
+ it 'registers an offence for modifier rescue' do
9
+ inspect_source(cop,
10
+ ['method rescue handle'])
11
+ expect(cop.offences.size).to eq(1)
12
+ expect(cop.messages)
13
+ .to eq(['Avoid using rescue in its modifier form.'])
14
+ end
18
15
 
19
- it 'handles more complex expression with modifier rescue' do
20
- inspect_source(rm,
21
- ['method1 or method2 rescue handle'])
22
- expect(rm.offences.size).to eq(1)
23
- expect(rm.messages)
24
- .to eq([RescueModifier::MSG])
25
- end
16
+ it 'handles more complex expression with modifier rescue' do
17
+ inspect_source(cop,
18
+ ['method1 or method2 rescue handle'])
19
+ expect(cop.offences.size).to eq(1)
20
+ expect(cop.messages)
21
+ .to eq(['Avoid using rescue in its modifier form.'])
22
+ end
26
23
 
27
- it 'handles modifier rescue in normal rescue' do
28
- inspect_source(rm,
29
- ['begin',
30
- ' test rescue modifier_handle',
31
- 'rescue',
32
- ' normal_handle',
33
- 'end'])
34
- expect(rm.offences.size).to eq(1)
35
- expect(rm.offences.first.line).to eq(2)
36
- end
24
+ it 'handles modifier rescue in normal rescue' do
25
+ inspect_source(cop,
26
+ ['begin',
27
+ ' test rescue modifier_handle',
28
+ 'rescue',
29
+ ' normal_handle',
30
+ 'end'])
31
+ expect(cop.offences.size).to eq(1)
32
+ expect(cop.offences.first.line).to eq(2)
33
+ end
37
34
 
38
- it 'does not register an offence for normal rescue' do
39
- inspect_source(rm,
40
- ['begin',
41
- ' test',
42
- 'rescue',
43
- ' handle',
44
- 'end'])
45
- expect(rm.offences).to be_empty
46
- end
35
+ it 'does not register an offence for normal rescue' do
36
+ inspect_source(cop,
37
+ ['begin',
38
+ ' test',
39
+ 'rescue',
40
+ ' handle',
41
+ 'end'])
42
+ expect(cop.offences).to be_empty
43
+ end
47
44
 
48
- it 'does not register an offence for normal rescue with ensure' do
49
- inspect_source(rm,
50
- ['begin',
51
- ' test',
52
- 'rescue',
53
- ' handle',
54
- 'ensure',
55
- ' cleanup',
56
- 'end'])
57
- expect(rm.offences).to be_empty
58
- end
45
+ it 'does not register an offence for normal rescue with ensure' do
46
+ inspect_source(cop,
47
+ ['begin',
48
+ ' test',
49
+ 'rescue',
50
+ ' handle',
51
+ 'ensure',
52
+ ' cleanup',
53
+ 'end'])
54
+ expect(cop.offences).to be_empty
55
+ end
59
56
 
60
- it 'does not register an offence for nested normal rescue' do
61
- inspect_source(rm,
62
- ['begin',
63
- ' begin',
64
- ' test',
65
- ' rescue',
66
- ' handle_inner',
67
- ' end',
68
- 'rescue',
69
- ' handle_outer',
70
- 'end'])
71
- expect(rm.offences).to be_empty
72
- end
57
+ it 'does not register an offence for nested normal rescue' do
58
+ inspect_source(cop,
59
+ ['begin',
60
+ ' begin',
61
+ ' test',
62
+ ' rescue',
63
+ ' handle_inner',
64
+ ' end',
65
+ 'rescue',
66
+ ' handle_outer',
67
+ 'end'])
68
+ expect(cop.offences).to be_empty
69
+ end
73
70
 
74
- context 'when an instance method has implicit begin' do
75
- it 'accepts normal rescue' do
76
- inspect_source(rm,
77
- ['def some_method',
78
- ' test',
79
- 'rescue',
80
- ' handle',
81
- 'end'])
82
- expect(rm.offences).to be_empty
83
- end
71
+ context 'when an instance method has implicit begin' do
72
+ it 'accepts normal rescue' do
73
+ inspect_source(cop,
74
+ ['def some_method',
75
+ ' test',
76
+ 'rescue',
77
+ ' handle',
78
+ 'end'])
79
+ expect(cop.offences).to be_empty
80
+ end
84
81
 
85
- it 'handles modifier rescue in body of implicit begin' do
86
- inspect_source(rm,
87
- ['def some_method',
88
- ' test rescue modifier_handle',
89
- 'rescue',
90
- ' normal_handle',
91
- 'end'])
92
- expect(rm.offences.size).to eq(1)
93
- expect(rm.offences.first.line).to eq(2)
94
- end
95
- end
82
+ it 'handles modifier rescue in body of implicit begin' do
83
+ inspect_source(cop,
84
+ ['def some_method',
85
+ ' test rescue modifier_handle',
86
+ 'rescue',
87
+ ' normal_handle',
88
+ 'end'])
89
+ expect(cop.offences.size).to eq(1)
90
+ expect(cop.offences.first.line).to eq(2)
91
+ end
92
+ end
96
93
 
97
- context 'when a singleton method has implicit begin' do
98
- it 'accepts normal rescue' do
99
- inspect_source(rm,
100
- ['def self.some_method',
101
- ' test',
102
- 'rescue',
103
- ' handle',
104
- 'end'])
105
- expect(rm.offences).to be_empty
106
- end
94
+ context 'when a singleton method has implicit begin' do
95
+ it 'accepts normal rescue' do
96
+ inspect_source(cop,
97
+ ['def self.some_method',
98
+ ' test',
99
+ 'rescue',
100
+ ' handle',
101
+ 'end'])
102
+ expect(cop.offences).to be_empty
103
+ end
107
104
 
108
- it 'handles modifier rescue in body of implicit begin' do
109
- inspect_source(rm,
110
- ['def self.some_method',
111
- ' test rescue modifier_handle',
112
- 'rescue',
113
- ' normal_handle',
114
- 'end'])
115
- expect(rm.offences.size).to eq(1)
116
- expect(rm.offences.first.line).to eq(2)
117
- end
118
- end
119
- end
105
+ it 'handles modifier rescue in body of implicit begin' do
106
+ inspect_source(cop,
107
+ ['def self.some_method',
108
+ ' test rescue modifier_handle',
109
+ 'rescue',
110
+ ' normal_handle',
111
+ 'end'])
112
+ expect(cop.offences.size).to eq(1)
113
+ expect(cop.offences.first.line).to eq(2)
120
114
  end
121
115
  end
122
116
  end