rubocop 0.22.0 → 0.23.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 (484) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.rubocop_todo.yml +7 -7
  4. data/CHANGELOG.md +34 -1
  5. data/Gemfile +1 -1
  6. data/README.md +86 -47
  7. data/Rakefile +2 -2
  8. data/bin/rubocop +1 -1
  9. data/config/default.yml +76 -74
  10. data/config/disabled.yml +6 -2
  11. data/config/enabled.yml +180 -180
  12. data/lib/rubocop.rb +1 -0
  13. data/lib/rubocop/cli.rb +7 -3
  14. data/lib/rubocop/comment_config.rb +4 -2
  15. data/lib/rubocop/config.rb +15 -3
  16. data/lib/rubocop/config_loader.rb +8 -3
  17. data/lib/rubocop/config_store.rb +1 -1
  18. data/lib/rubocop/cop/commissioner.rb +1 -1
  19. data/lib/rubocop/cop/cop.rb +16 -2
  20. data/lib/rubocop/cop/corrector.rb +1 -1
  21. data/lib/rubocop/cop/force.rb +1 -1
  22. data/lib/rubocop/cop/ignored_node.rb +1 -1
  23. data/lib/rubocop/cop/lint/ambiguous_operator.rb +1 -1
  24. data/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +1 -1
  25. data/lib/rubocop/cop/lint/assignment_in_condition.rb +1 -1
  26. data/lib/rubocop/cop/lint/block_alignment.rb +1 -1
  27. data/lib/rubocop/cop/lint/condition_position.rb +1 -1
  28. data/lib/rubocop/cop/lint/debugger.rb +1 -1
  29. data/lib/rubocop/cop/lint/deprecated_class_methods.rb +1 -1
  30. data/lib/rubocop/cop/lint/else_layout.rb +1 -1
  31. data/lib/rubocop/cop/lint/empty_ensure.rb +1 -1
  32. data/lib/rubocop/cop/lint/empty_interpolation.rb +1 -1
  33. data/lib/rubocop/cop/lint/end_alignment.rb +1 -1
  34. data/lib/rubocop/cop/lint/end_in_method.rb +1 -1
  35. data/lib/rubocop/cop/lint/ensure_return.rb +1 -1
  36. data/lib/rubocop/cop/lint/eval.rb +1 -1
  37. data/lib/rubocop/cop/lint/handle_exceptions.rb +1 -1
  38. data/lib/rubocop/cop/lint/invalid_character_literal.rb +1 -1
  39. data/lib/rubocop/cop/lint/literal_in_condition.rb +1 -1
  40. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +1 -1
  41. data/lib/rubocop/cop/lint/loop.rb +1 -1
  42. data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +1 -1
  43. data/lib/rubocop/cop/lint/require_parentheses.rb +1 -1
  44. data/lib/rubocop/cop/lint/rescue_exception.rb +1 -1
  45. data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +1 -1
  46. data/lib/rubocop/cop/lint/space_before_first_arg.rb +1 -1
  47. data/lib/rubocop/cop/lint/string_conversion_in_interpolation.rb +1 -1
  48. data/lib/rubocop/cop/lint/syntax.rb +1 -1
  49. data/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +1 -1
  50. data/lib/rubocop/cop/lint/unreachable_code.rb +1 -1
  51. data/lib/rubocop/cop/lint/unused_block_argument.rb +1 -1
  52. data/lib/rubocop/cop/lint/unused_method_argument.rb +1 -1
  53. data/lib/rubocop/cop/lint/useless_access_modifier.rb +1 -1
  54. data/lib/rubocop/cop/lint/useless_assignment.rb +1 -1
  55. data/lib/rubocop/cop/lint/useless_comparison.rb +1 -1
  56. data/lib/rubocop/cop/lint/useless_else_without_rescue.rb +1 -1
  57. data/lib/rubocop/cop/lint/useless_setter_call.rb +1 -1
  58. data/lib/rubocop/cop/lint/void.rb +1 -1
  59. data/lib/rubocop/cop/mixin/annotation_comment.rb +2 -2
  60. data/lib/rubocop/cop/mixin/array_syntax.rb +1 -1
  61. data/lib/rubocop/cop/mixin/autocorrect_alignment.rb +32 -3
  62. data/lib/rubocop/cop/mixin/autocorrect_unless_changing_ast.rb +1 -1
  63. data/lib/rubocop/cop/mixin/check_assignment.rb +1 -1
  64. data/lib/rubocop/cop/mixin/check_methods.rb +1 -1
  65. data/lib/rubocop/cop/mixin/code_length.rb +1 -1
  66. data/lib/rubocop/cop/mixin/configurable_enforced_style.rb +1 -1
  67. data/lib/rubocop/cop/mixin/configurable_max.rb +1 -1
  68. data/lib/rubocop/cop/mixin/configurable_naming.rb +1 -1
  69. data/lib/rubocop/cop/mixin/if_node.rb +1 -1
  70. data/lib/rubocop/cop/mixin/if_then_else.rb +1 -1
  71. data/lib/rubocop/cop/mixin/negative_conditional.rb +1 -1
  72. data/lib/rubocop/cop/mixin/parser_diagnostic.rb +1 -1
  73. data/lib/rubocop/cop/mixin/percent_literal.rb +1 -1
  74. data/lib/rubocop/cop/mixin/safe_assignment.rb +14 -3
  75. data/lib/rubocop/cop/mixin/space_after_punctuation.rb +1 -1
  76. data/lib/rubocop/cop/mixin/space_inside.rb +1 -1
  77. data/lib/rubocop/cop/mixin/statement_modifier.rb +2 -2
  78. data/lib/rubocop/cop/mixin/string_help.rb +1 -1
  79. data/lib/rubocop/cop/mixin/surrounding_space.rb +1 -1
  80. data/lib/rubocop/cop/mixin/unused_argument.rb +1 -1
  81. data/lib/rubocop/cop/offense.rb +3 -3
  82. data/lib/rubocop/cop/rails/action_filter.rb +1 -1
  83. data/lib/rubocop/cop/rails/default_scope.rb +1 -1
  84. data/lib/rubocop/cop/rails/delegate.rb +1 -1
  85. data/lib/rubocop/cop/rails/has_and_belongs_to_many.rb +1 -1
  86. data/lib/rubocop/cop/rails/output.rb +1 -1
  87. data/lib/rubocop/cop/rails/read_write_attribute.rb +1 -1
  88. data/lib/rubocop/cop/rails/scope_args.rb +1 -1
  89. data/lib/rubocop/cop/rails/validation.rb +1 -1
  90. data/lib/rubocop/cop/severity.rb +1 -1
  91. data/lib/rubocop/cop/style/access_modifier_indentation.rb +1 -1
  92. data/lib/rubocop/cop/style/accessor_method_name.rb +1 -1
  93. data/lib/rubocop/cop/style/alias.rb +1 -1
  94. data/lib/rubocop/cop/style/align_array.rb +1 -1
  95. data/lib/rubocop/cop/style/align_hash.rb +1 -1
  96. data/lib/rubocop/cop/style/align_parameters.rb +1 -1
  97. data/lib/rubocop/cop/style/and_or.rb +1 -1
  98. data/lib/rubocop/cop/style/array_join.rb +1 -1
  99. data/lib/rubocop/cop/style/ascii_comments.rb +1 -1
  100. data/lib/rubocop/cop/style/ascii_identifiers.rb +1 -1
  101. data/lib/rubocop/cop/style/attr.rb +1 -1
  102. data/lib/rubocop/cop/style/begin_block.rb +1 -1
  103. data/lib/rubocop/cop/style/block_comments.rb +24 -3
  104. data/lib/rubocop/cop/style/block_nesting.rb +1 -1
  105. data/lib/rubocop/cop/style/blocks.rb +1 -1
  106. data/lib/rubocop/cop/style/braces_around_hash_parameters.rb +1 -1
  107. data/lib/rubocop/cop/style/case_equality.rb +1 -1
  108. data/lib/rubocop/cop/style/case_indentation.rb +1 -1
  109. data/lib/rubocop/cop/style/character_literal.rb +1 -1
  110. data/lib/rubocop/cop/style/class_and_module_camel_case.rb +1 -1
  111. data/lib/rubocop/cop/style/class_and_module_children.rb +1 -1
  112. data/lib/rubocop/cop/style/class_length.rb +1 -1
  113. data/lib/rubocop/cop/style/class_methods.rb +1 -1
  114. data/lib/rubocop/cop/style/class_vars.rb +1 -1
  115. data/lib/rubocop/cop/style/collection_methods.rb +1 -1
  116. data/lib/rubocop/cop/style/colon_method_call.rb +1 -1
  117. data/lib/rubocop/cop/style/comment_annotation.rb +1 -1
  118. data/lib/rubocop/cop/style/comment_indentation.rb +1 -1
  119. data/lib/rubocop/cop/style/constant_name.rb +1 -1
  120. data/lib/rubocop/cop/style/cyclomatic_complexity.rb +1 -1
  121. data/lib/rubocop/cop/style/def_with_parentheses.rb +1 -1
  122. data/lib/rubocop/cop/style/deprecated_hash_methods.rb +1 -1
  123. data/lib/rubocop/cop/style/documentation.rb +4 -2
  124. data/lib/rubocop/cop/style/dot_position.rb +1 -1
  125. data/lib/rubocop/cop/style/double_negation.rb +1 -1
  126. data/lib/rubocop/cop/style/each_with_object.rb +21 -5
  127. data/lib/rubocop/cop/style/empty_line_between_defs.rb +1 -1
  128. data/lib/rubocop/cop/style/empty_lines.rb +1 -1
  129. data/lib/rubocop/cop/style/empty_lines_around_access_modifier.rb +1 -1
  130. data/lib/rubocop/cop/style/empty_lines_around_body.rb +1 -1
  131. data/lib/rubocop/cop/style/empty_literal.rb +1 -1
  132. data/lib/rubocop/cop/style/encoding.rb +1 -1
  133. data/lib/rubocop/cop/style/end_block.rb +1 -1
  134. data/lib/rubocop/cop/style/end_of_line.rb +12 -3
  135. data/lib/rubocop/cop/style/even_odd.rb +1 -1
  136. data/lib/rubocop/cop/style/file_name.rb +1 -1
  137. data/lib/rubocop/cop/style/flip_flop.rb +1 -1
  138. data/lib/rubocop/cop/style/for.rb +1 -1
  139. data/lib/rubocop/cop/style/format_string.rb +1 -1
  140. data/lib/rubocop/cop/style/global_vars.rb +1 -1
  141. data/lib/rubocop/cop/style/guard_clause.rb +1 -1
  142. data/lib/rubocop/cop/style/hash_syntax.rb +1 -1
  143. data/lib/rubocop/cop/style/if_unless_modifier.rb +1 -1
  144. data/lib/rubocop/cop/style/if_with_semicolon.rb +1 -1
  145. data/lib/rubocop/cop/style/indent_array.rb +35 -12
  146. data/lib/rubocop/cop/style/indent_hash.rb +39 -23
  147. data/lib/rubocop/cop/style/indentation_consistency.rb +1 -1
  148. data/lib/rubocop/cop/style/indentation_width.rb +2 -2
  149. data/lib/rubocop/cop/style/inline_comment.rb +19 -0
  150. data/lib/rubocop/cop/style/lambda.rb +1 -1
  151. data/lib/rubocop/cop/style/lambda_call.rb +1 -1
  152. data/lib/rubocop/cop/style/leading_comment_space.rb +1 -1
  153. data/lib/rubocop/cop/style/line_end_concatenation.rb +1 -1
  154. data/lib/rubocop/cop/style/line_length.rb +1 -1
  155. data/lib/rubocop/cop/style/method_call_parentheses.rb +2 -2
  156. data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +1 -1
  157. data/lib/rubocop/cop/style/method_def_parentheses.rb +1 -1
  158. data/lib/rubocop/cop/style/method_length.rb +1 -1
  159. data/lib/rubocop/cop/style/method_name.rb +1 -1
  160. data/lib/rubocop/cop/style/module_function.rb +1 -1
  161. data/lib/rubocop/cop/style/multiline_block_chain.rb +1 -1
  162. data/lib/rubocop/cop/style/multiline_if_then.rb +1 -1
  163. data/lib/rubocop/cop/style/multiline_ternary_operator.rb +1 -1
  164. data/lib/rubocop/cop/style/negated_if.rb +1 -1
  165. data/lib/rubocop/cop/style/negated_while.rb +1 -1
  166. data/lib/rubocop/cop/style/nested_ternary_operator.rb +1 -1
  167. data/lib/rubocop/cop/style/next.rb +2 -1
  168. data/lib/rubocop/cop/style/nil_comparison.rb +1 -1
  169. data/lib/rubocop/cop/style/non_nil_check.rb +1 -1
  170. data/lib/rubocop/cop/style/not.rb +1 -1
  171. data/lib/rubocop/cop/style/numeric_literals.rb +1 -1
  172. data/lib/rubocop/cop/style/one_line_conditional.rb +1 -1
  173. data/lib/rubocop/cop/style/op_method.rb +1 -1
  174. data/lib/rubocop/cop/style/parameter_lists.rb +1 -1
  175. data/lib/rubocop/cop/style/parentheses_around_condition.rb +11 -1
  176. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +1 -1
  177. data/lib/rubocop/cop/style/perl_backrefs.rb +1 -1
  178. data/lib/rubocop/cop/style/predicate_name.rb +1 -1
  179. data/lib/rubocop/cop/style/proc.rb +1 -1
  180. data/lib/rubocop/cop/style/raise_args.rb +1 -1
  181. data/lib/rubocop/cop/style/redundant_begin.rb +1 -1
  182. data/lib/rubocop/cop/style/redundant_exception.rb +1 -1
  183. data/lib/rubocop/cop/style/redundant_return.rb +1 -1
  184. data/lib/rubocop/cop/style/redundant_self.rb +1 -1
  185. data/lib/rubocop/cop/style/regexp_literal.rb +13 -5
  186. data/lib/rubocop/cop/style/rescue_modifier.rb +1 -1
  187. data/lib/rubocop/cop/style/self_assignment.rb +1 -1
  188. data/lib/rubocop/cop/style/semicolon.rb +1 -1
  189. data/lib/rubocop/cop/style/signal_exception.rb +1 -1
  190. data/lib/rubocop/cop/style/single_line_block_params.rb +1 -1
  191. data/lib/rubocop/cop/style/single_line_methods.rb +1 -1
  192. data/lib/rubocop/cop/style/single_space_before_first_arg.rb +1 -1
  193. data/lib/rubocop/cop/style/space_after_colon.rb +1 -1
  194. data/lib/rubocop/cop/style/space_after_comma.rb +1 -1
  195. data/lib/rubocop/cop/style/space_after_control_keyword.rb +1 -1
  196. data/lib/rubocop/cop/style/space_after_method_name.rb +1 -1
  197. data/lib/rubocop/cop/style/space_after_not.rb +1 -1
  198. data/lib/rubocop/cop/style/space_after_semicolon.rb +1 -1
  199. data/lib/rubocop/cop/style/space_around_equals_in_parameter_default.rb +1 -1
  200. data/lib/rubocop/cop/style/space_around_operators.rb +1 -1
  201. data/lib/rubocop/cop/style/space_before_block_braces.rb +3 -2
  202. data/lib/rubocop/cop/style/space_before_comment.rb +1 -1
  203. data/lib/rubocop/cop/style/space_before_modifier_keyword.rb +1 -1
  204. data/lib/rubocop/cop/style/space_inside_block_braces.rb +3 -2
  205. data/lib/rubocop/cop/style/space_inside_brackets.rb +1 -1
  206. data/lib/rubocop/cop/style/space_inside_hash_literal_braces.rb +1 -1
  207. data/lib/rubocop/cop/style/space_inside_parens.rb +1 -1
  208. data/lib/rubocop/cop/style/special_global_vars.rb +1 -1
  209. data/lib/rubocop/cop/style/string_literals.rb +1 -1
  210. data/lib/rubocop/cop/style/symbol_array.rb +1 -1
  211. data/lib/rubocop/cop/style/tab.rb +1 -1
  212. data/lib/rubocop/cop/style/trailing_blank_lines.rb +1 -1
  213. data/lib/rubocop/cop/style/trailing_comma.rb +16 -3
  214. data/lib/rubocop/cop/style/trailing_whitespace.rb +1 -1
  215. data/lib/rubocop/cop/style/trivial_accessors.rb +40 -9
  216. data/lib/rubocop/cop/style/unless_else.rb +1 -1
  217. data/lib/rubocop/cop/style/unneeded_capital_w.rb +1 -1
  218. data/lib/rubocop/cop/style/unneeded_percent_x.rb +1 -1
  219. data/lib/rubocop/cop/style/variable_interpolation.rb +1 -1
  220. data/lib/rubocop/cop/style/variable_name.rb +1 -1
  221. data/lib/rubocop/cop/style/when_then.rb +1 -1
  222. data/lib/rubocop/cop/style/while_until_do.rb +1 -1
  223. data/lib/rubocop/cop/style/while_until_modifier.rb +1 -1
  224. data/lib/rubocop/cop/style/word_array.rb +1 -1
  225. data/lib/rubocop/cop/team.rb +12 -2
  226. data/lib/rubocop/cop/util.rb +1 -1
  227. data/lib/rubocop/cop/variable_force.rb +4 -4
  228. data/lib/rubocop/cop/variable_force/assignment.rb +1 -1
  229. data/lib/rubocop/cop/variable_force/locatable.rb +1 -1
  230. data/lib/rubocop/cop/variable_force/reference.rb +1 -1
  231. data/lib/rubocop/cop/variable_force/scope.rb +1 -1
  232. data/lib/rubocop/cop/variable_force/variable.rb +1 -1
  233. data/lib/rubocop/cop/variable_force/variable_table.rb +1 -1
  234. data/lib/rubocop/file_inspector.rb +3 -3
  235. data/lib/rubocop/formatter/base_formatter.rb +6 -6
  236. data/lib/rubocop/formatter/clang_style_formatter.rb +1 -1
  237. data/lib/rubocop/formatter/colorizable.rb +1 -1
  238. data/lib/rubocop/formatter/disabled_config_formatter.rb +2 -2
  239. data/lib/rubocop/formatter/disabled_lines_formatter.rb +1 -1
  240. data/lib/rubocop/formatter/emacs_style_formatter.rb +1 -1
  241. data/lib/rubocop/formatter/file_list_formatter.rb +1 -1
  242. data/lib/rubocop/formatter/formatter_set.rb +1 -1
  243. data/lib/rubocop/formatter/fuubar_style_formatter.rb +1 -1
  244. data/lib/rubocop/formatter/json_formatter.rb +2 -2
  245. data/lib/rubocop/formatter/offense_count_formatter.rb +1 -1
  246. data/lib/rubocop/formatter/progress_formatter.rb +1 -1
  247. data/lib/rubocop/formatter/simple_text_formatter.rb +1 -1
  248. data/lib/rubocop/options.rb +6 -4
  249. data/lib/rubocop/path_util.rb +1 -1
  250. data/lib/rubocop/processed_source.rb +1 -1
  251. data/lib/rubocop/rake_task.rb +3 -3
  252. data/lib/rubocop/source_parser.rb +2 -2
  253. data/lib/rubocop/target_finder.rb +2 -6
  254. data/lib/rubocop/token.rb +1 -1
  255. data/lib/rubocop/version.rb +2 -2
  256. data/relnotes/v0.21.0.md +1 -1
  257. data/relnotes/v0.23.0.md +79 -0
  258. data/rubocop.gemspec +1 -1
  259. data/spec/.rubocop.yml +1 -1
  260. data/spec/isolated_environment_spec.rb +1 -1
  261. data/spec/project_spec.rb +3 -3
  262. data/spec/rubocop/cli_spec.rb +242 -94
  263. data/spec/rubocop/comment_config_spec.rb +17 -15
  264. data/spec/rubocop/config_loader_spec.rb +51 -34
  265. data/spec/rubocop/config_spec.rb +5 -5
  266. data/spec/rubocop/config_store_spec.rb +11 -11
  267. data/spec/rubocop/cop/commissioner_spec.rb +4 -4
  268. data/spec/rubocop/cop/cop_spec.rb +33 -10
  269. data/spec/rubocop/cop/corrector_spec.rb +1 -1
  270. data/spec/rubocop/cop/force_spec.rb +2 -2
  271. data/spec/rubocop/cop/lint/ambiguous_operator_spec.rb +1 -1
  272. data/spec/rubocop/cop/lint/ambiguous_regexp_literal_spec.rb +1 -1
  273. data/spec/rubocop/cop/lint/assignment_in_condition_spec.rb +1 -1
  274. data/spec/rubocop/cop/lint/block_alignment_spec.rb +2 -2
  275. data/spec/rubocop/cop/lint/condition_position_spec.rb +4 -4
  276. data/spec/rubocop/cop/lint/debugger_spec.rb +1 -1
  277. data/spec/rubocop/cop/lint/deprecated_class_methods_spec.rb +1 -1
  278. data/spec/rubocop/cop/lint/else_layout_spec.rb +5 -5
  279. data/spec/rubocop/cop/lint/empty_ensure_spec.rb +1 -1
  280. data/spec/rubocop/cop/lint/empty_interpolation_spec.rb +1 -1
  281. data/spec/rubocop/cop/lint/end_alignment_spec.rb +1 -1
  282. data/spec/rubocop/cop/lint/end_in_method_spec.rb +1 -1
  283. data/spec/rubocop/cop/lint/ensure_return_spec.rb +1 -1
  284. data/spec/rubocop/cop/lint/eval_spec.rb +1 -1
  285. data/spec/rubocop/cop/lint/handle_exceptions_spec.rb +1 -1
  286. data/spec/rubocop/cop/lint/invalid_character_literal_spec.rb +1 -1
  287. data/spec/rubocop/cop/lint/literal_in_condition_spec.rb +1 -1
  288. data/spec/rubocop/cop/lint/literal_in_interpolation_spec.rb +1 -1
  289. data/spec/rubocop/cop/lint/loop_spec.rb +1 -1
  290. data/spec/rubocop/cop/lint/parentheses_as_grouped_expression_spec.rb +1 -1
  291. data/spec/rubocop/cop/lint/require_parentheses_spec.rb +1 -1
  292. data/spec/rubocop/cop/lint/rescue_exception_spec.rb +2 -2
  293. data/spec/rubocop/cop/lint/shadowing_outer_local_variable_spec.rb +1 -1
  294. data/spec/rubocop/cop/lint/space_before_first_arg_spec.rb +1 -1
  295. data/spec/rubocop/cop/lint/string_conversion_in_interpolation_spec.rb +1 -1
  296. data/spec/rubocop/cop/lint/syntax_spec.rb +2 -2
  297. data/spec/rubocop/cop/lint/underscore_prefixed_variable_name_spec.rb +1 -1
  298. data/spec/rubocop/cop/lint/unreachable_code_spec.rb +1 -1
  299. data/spec/rubocop/cop/lint/unused_block_argument_spec.rb +1 -1
  300. data/spec/rubocop/cop/lint/unused_method_argument_spec.rb +1 -1
  301. data/spec/rubocop/cop/lint/useless_access_modifier_spec.rb +1 -1
  302. data/spec/rubocop/cop/lint/useless_assignment_spec.rb +1 -1
  303. data/spec/rubocop/cop/lint/useless_comparison_spec.rb +1 -1
  304. data/spec/rubocop/cop/lint/useless_else_without_rescue_spec.rb +1 -1
  305. data/spec/rubocop/cop/lint/useless_setter_call_spec.rb +1 -1
  306. data/spec/rubocop/cop/lint/void_spec.rb +1 -1
  307. data/spec/rubocop/cop/offense_spec.rb +2 -2
  308. data/spec/rubocop/cop/rails/action_filter_spec.rb +1 -1
  309. data/spec/rubocop/cop/rails/default_scope_spec.rb +1 -1
  310. data/spec/rubocop/cop/rails/delegate_spec.rb +1 -1
  311. data/spec/rubocop/cop/rails/has_and_belongs_to_many_spec.rb +1 -1
  312. data/spec/rubocop/cop/rails/output_spec.rb +1 -1
  313. data/spec/rubocop/cop/rails/read_write_attribute_spec.rb +1 -1
  314. data/spec/rubocop/cop/rails/scope_args_spec.rb +1 -1
  315. data/spec/rubocop/cop/rails/validation_spec.rb +1 -1
  316. data/spec/rubocop/cop/severity_spec.rb +1 -1
  317. data/spec/rubocop/cop/style/access_modifier_indentation_spec.rb +1 -1
  318. data/spec/rubocop/cop/style/accessor_method_name_spec.rb +1 -1
  319. data/spec/rubocop/cop/style/alias_spec.rb +1 -1
  320. data/spec/rubocop/cop/style/align_array_spec.rb +33 -1
  321. data/spec/rubocop/cop/style/align_hash_spec.rb +1 -1
  322. data/spec/rubocop/cop/style/align_parameters_spec.rb +1 -1
  323. data/spec/rubocop/cop/style/and_or_spec.rb +1 -1
  324. data/spec/rubocop/cop/style/array_join_spec.rb +1 -1
  325. data/spec/rubocop/cop/style/ascii_comments_spec.rb +1 -1
  326. data/spec/rubocop/cop/style/ascii_identifiers_spec.rb +1 -1
  327. data/spec/rubocop/cop/style/attr_spec.rb +1 -1
  328. data/spec/rubocop/cop/style/begin_block_spec.rb +1 -1
  329. data/spec/rubocop/cop/style/block_comments_spec.rb +25 -1
  330. data/spec/rubocop/cop/style/block_nesting_spec.rb +1 -1
  331. data/spec/rubocop/cop/style/blocks_spec.rb +1 -1
  332. data/spec/rubocop/cop/style/braces_around_hash_parameters_spec.rb +1 -1
  333. data/spec/rubocop/cop/style/case_equality_spec.rb +1 -1
  334. data/spec/rubocop/cop/style/case_indentation_spec.rb +4 -4
  335. data/spec/rubocop/cop/style/character_literal_spec.rb +1 -1
  336. data/spec/rubocop/cop/style/class_and_module_camel_case_spec.rb +1 -1
  337. data/spec/rubocop/cop/style/class_and_module_children_spec.rb +1 -1
  338. data/spec/rubocop/cop/style/class_length_spec.rb +1 -1
  339. data/spec/rubocop/cop/style/class_methods_spec.rb +1 -1
  340. data/spec/rubocop/cop/style/class_vars_spec.rb +1 -1
  341. data/spec/rubocop/cop/style/collection_methods_spec.rb +1 -1
  342. data/spec/rubocop/cop/style/colon_method_call_spec.rb +1 -1
  343. data/spec/rubocop/cop/style/comment_annotation_spec.rb +2 -2
  344. data/spec/rubocop/cop/style/comment_indentation_spec.rb +1 -1
  345. data/spec/rubocop/cop/style/constant_name_spec.rb +2 -2
  346. data/spec/rubocop/cop/style/cyclomatic_complexity_spec.rb +1 -1
  347. data/spec/rubocop/cop/style/def_with_parentheses_spec.rb +1 -1
  348. data/spec/rubocop/cop/style/deprecated_hash_methods_spec.rb +1 -1
  349. data/spec/rubocop/cop/style/documentation_spec.rb +26 -2
  350. data/spec/rubocop/cop/style/dot_position_spec.rb +1 -1
  351. data/spec/rubocop/cop/style/double_negation_spec.rb +1 -1
  352. data/spec/rubocop/cop/style/each_with_object_spec.rb +31 -7
  353. data/spec/rubocop/cop/style/empty_line_between_defs_spec.rb +1 -1
  354. data/spec/rubocop/cop/style/empty_lines_around_access_modifier_spec.rb +1 -1
  355. data/spec/rubocop/cop/style/empty_lines_around_body_spec.rb +1 -1
  356. data/spec/rubocop/cop/style/empty_lines_spec.rb +1 -1
  357. data/spec/rubocop/cop/style/empty_literal_spec.rb +1 -1
  358. data/spec/rubocop/cop/style/encoding_spec.rb +1 -1
  359. data/spec/rubocop/cop/style/end_block_spec.rb +1 -1
  360. data/spec/rubocop/cop/style/end_of_line_spec.rb +13 -1
  361. data/spec/rubocop/cop/style/even_odd_spec.rb +1 -1
  362. data/spec/rubocop/cop/style/file_name_spec.rb +2 -2
  363. data/spec/rubocop/cop/style/flip_flop_spec.rb +1 -1
  364. data/spec/rubocop/cop/style/for_spec.rb +1 -1
  365. data/spec/rubocop/cop/style/format_string_spec.rb +1 -1
  366. data/spec/rubocop/cop/style/global_vars_spec.rb +1 -1
  367. data/spec/rubocop/cop/style/guard_clause_spec.rb +1 -1
  368. data/spec/rubocop/cop/style/hash_syntax_spec.rb +9 -5
  369. data/spec/rubocop/cop/style/if_unless_modifier_spec.rb +6 -6
  370. data/spec/rubocop/cop/style/if_with_semicolon_spec.rb +1 -1
  371. data/spec/rubocop/cop/style/indent_array_spec.rb +37 -2
  372. data/spec/rubocop/cop/style/indent_hash_spec.rb +64 -8
  373. data/spec/rubocop/cop/style/indentation_consistency_spec.rb +1 -1
  374. data/spec/rubocop/cop/style/indentation_width_spec.rb +84 -21
  375. data/spec/rubocop/cop/style/inline_comment_spec.rb +13 -0
  376. data/spec/rubocop/cop/style/lambda_call_spec.rb +1 -1
  377. data/spec/rubocop/cop/style/lambda_spec.rb +1 -1
  378. data/spec/rubocop/cop/style/leading_comment_space_spec.rb +1 -1
  379. data/spec/rubocop/cop/style/line_end_concatenation_spec.rb +1 -1
  380. data/spec/rubocop/cop/style/line_length_spec.rb +1 -1
  381. data/spec/rubocop/cop/style/method_call_parentheses_spec.rb +3 -3
  382. data/spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb +1 -1
  383. data/spec/rubocop/cop/style/method_def_parentheses_spec.rb +1 -1
  384. data/spec/rubocop/cop/style/method_length_spec.rb +1 -1
  385. data/spec/rubocop/cop/style/method_name_spec.rb +1 -1
  386. data/spec/rubocop/cop/style/module_function_spec.rb +1 -1
  387. data/spec/rubocop/cop/style/multiline_block_chain_spec.rb +1 -1
  388. data/spec/rubocop/cop/style/multiline_if_then_spec.rb +1 -1
  389. data/spec/rubocop/cop/style/multiline_ternary_operator_spec.rb +1 -1
  390. data/spec/rubocop/cop/style/negated_if_spec.rb +1 -1
  391. data/spec/rubocop/cop/style/negated_while_spec.rb +1 -1
  392. data/spec/rubocop/cop/style/nested_ternary_operator_spec.rb +1 -1
  393. data/spec/rubocop/cop/style/next_spec.rb +10 -1
  394. data/spec/rubocop/cop/style/nil_comparison_spec.rb +1 -1
  395. data/spec/rubocop/cop/style/non_nil_check_spec.rb +1 -1
  396. data/spec/rubocop/cop/style/not_spec.rb +1 -1
  397. data/spec/rubocop/cop/style/numeric_literals_spec.rb +1 -1
  398. data/spec/rubocop/cop/style/one_line_conditional_spec.rb +1 -1
  399. data/spec/rubocop/cop/style/op_method_spec.rb +1 -1
  400. data/spec/rubocop/cop/style/parameter_lists_spec.rb +1 -1
  401. data/spec/rubocop/cop/style/parentheses_around_condition_spec.rb +16 -1
  402. data/spec/rubocop/cop/style/percent_literal_delimiters_spec.rb +1 -1
  403. data/spec/rubocop/cop/style/perl_backrefs_spec.rb +1 -1
  404. data/spec/rubocop/cop/style/predicate_name_spec.rb +1 -1
  405. data/spec/rubocop/cop/style/proc_spec.rb +1 -1
  406. data/spec/rubocop/cop/style/raise_args_spec.rb +1 -1
  407. data/spec/rubocop/cop/style/redundant_begin_spec.rb +1 -1
  408. data/spec/rubocop/cop/style/redundant_exception_spec.rb +1 -1
  409. data/spec/rubocop/cop/style/redundant_return_spec.rb +1 -1
  410. data/spec/rubocop/cop/style/redundant_self_spec.rb +1 -1
  411. data/spec/rubocop/cop/style/regexp_literal_spec.rb +15 -1
  412. data/spec/rubocop/cop/style/rescue_modifier_spec.rb +1 -1
  413. data/spec/rubocop/cop/style/self_assignment_spec.rb +1 -1
  414. data/spec/rubocop/cop/style/semicolon_spec.rb +1 -1
  415. data/spec/rubocop/cop/style/signal_exception_spec.rb +1 -1
  416. data/spec/rubocop/cop/style/single_line_block_params_spec.rb +1 -1
  417. data/spec/rubocop/cop/style/single_line_methods_spec.rb +1 -1
  418. data/spec/rubocop/cop/style/single_space_before_first_arg_spec.rb +1 -1
  419. data/spec/rubocop/cop/style/space_after_colon_spec.rb +1 -1
  420. data/spec/rubocop/cop/style/space_after_comma_spec.rb +1 -1
  421. data/spec/rubocop/cop/style/space_after_control_keyword_spec.rb +1 -1
  422. data/spec/rubocop/cop/style/space_after_method_name_spec.rb +1 -1
  423. data/spec/rubocop/cop/style/space_after_not_spec.rb +1 -1
  424. data/spec/rubocop/cop/style/space_after_semicolon_spec.rb +1 -1
  425. data/spec/rubocop/cop/style/space_around_equals_in_parameter_default_spec.rb +1 -1
  426. data/spec/rubocop/cop/style/space_around_operators_spec.rb +1 -1
  427. data/spec/rubocop/cop/style/space_before_block_braces_spec.rb +5 -5
  428. data/spec/rubocop/cop/style/space_before_comment_spec.rb +1 -1
  429. data/spec/rubocop/cop/style/space_before_modifier_keyword_spec.rb +1 -1
  430. data/spec/rubocop/cop/style/space_inside_block_braces_spec.rb +7 -7
  431. data/spec/rubocop/cop/style/space_inside_brackets_spec.rb +1 -1
  432. data/spec/rubocop/cop/style/space_inside_hash_literal_braces_spec.rb +1 -1
  433. data/spec/rubocop/cop/style/space_inside_parens_spec.rb +1 -1
  434. data/spec/rubocop/cop/style/special_global_vars_spec.rb +1 -1
  435. data/spec/rubocop/cop/style/string_literals_spec.rb +1 -1
  436. data/spec/rubocop/cop/style/symbol_array_spec.rb +1 -1
  437. data/spec/rubocop/cop/style/tab_spec.rb +1 -1
  438. data/spec/rubocop/cop/style/trailing_blank_lines_spec.rb +1 -1
  439. data/spec/rubocop/cop/style/trailing_comma_spec.rb +36 -10
  440. data/spec/rubocop/cop/style/trailing_whitespace_spec.rb +1 -1
  441. data/spec/rubocop/cop/style/trivial_accessors_spec.rb +51 -3
  442. data/spec/rubocop/cop/style/unless_else_spec.rb +1 -1
  443. data/spec/rubocop/cop/style/unneeded_capital_w_spec.rb +1 -1
  444. data/spec/rubocop/cop/style/unneeded_percent_x_spec.rb +1 -1
  445. data/spec/rubocop/cop/style/variable_interpolation_spec.rb +1 -1
  446. data/spec/rubocop/cop/style/variable_name_spec.rb +1 -1
  447. data/spec/rubocop/cop/style/when_then_spec.rb +1 -1
  448. data/spec/rubocop/cop/style/while_until_do_spec.rb +1 -1
  449. data/spec/rubocop/cop/style/while_until_modifier_spec.rb +6 -6
  450. data/spec/rubocop/cop/style/word_array_spec.rb +1 -1
  451. data/spec/rubocop/cop/team_spec.rb +23 -23
  452. data/spec/rubocop/cop/util_spec.rb +1 -1
  453. data/spec/rubocop/cop/variable_force/assignment_spec.rb +4 -4
  454. data/spec/rubocop/cop/variable_force/locatable_spec.rb +4 -4
  455. data/spec/rubocop/cop/variable_force/scope_spec.rb +3 -3
  456. data/spec/rubocop/cop/variable_force/variable_spec.rb +2 -2
  457. data/spec/rubocop/cop/variable_force/variable_table_spec.rb +1 -1
  458. data/spec/rubocop/cop/variable_force_spec.rb +1 -1
  459. data/spec/rubocop/file_inspector_spec.rb +3 -3
  460. data/spec/rubocop/formatter/base_formatter_spec.rb +2 -2
  461. data/spec/rubocop/formatter/clang_style_formatter_spec.rb +1 -1
  462. data/spec/rubocop/formatter/colorizable_spec.rb +1 -1
  463. data/spec/rubocop/formatter/disabled_config_formatter_spec.rb +3 -3
  464. data/spec/rubocop/formatter/disabled_lines_formatter_spec.rb +1 -1
  465. data/spec/rubocop/formatter/emacs_style_formatter_spec.rb +1 -1
  466. data/spec/rubocop/formatter/file_list_formatter_spec.rb +1 -1
  467. data/spec/rubocop/formatter/formatter_set_spec.rb +5 -5
  468. data/spec/rubocop/formatter/fuubar_style_formatter_spec.rb +1 -1
  469. data/spec/rubocop/formatter/json_formatter_spec.rb +1 -1
  470. data/spec/rubocop/formatter/offense_count_formatter_spec.rb +1 -1
  471. data/spec/rubocop/formatter/progress_formatter_spec.rb +1 -1
  472. data/spec/rubocop/formatter/simple_text_formatter_spec.rb +1 -1
  473. data/spec/rubocop/options_spec.rb +5 -5
  474. data/spec/rubocop/path_util_spec.rb +1 -1
  475. data/spec/rubocop/processed_source_spec.rb +1 -1
  476. data/spec/rubocop/source_parser_spec.rb +3 -3
  477. data/spec/rubocop/target_finder_spec.rb +2 -2
  478. data/spec/rubocop/token_spec.rb +1 -1
  479. data/spec/spec_helper.rb +8 -8
  480. data/spec/support/isolated_environment.rb +1 -1
  481. data/spec/support/mri_syntax_checker.rb +1 -1
  482. data/spec/support/offenses_matcher.rb +30 -0
  483. data/spec/support/shared_context.rb +3 -3
  484. metadata +8 -2
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::SpaceAfterNot do
5
+ describe RuboCop::Cop::Style::SpaceAfterNot do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
8
  it 'reports an offense for space after !' do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::SpaceAfterSemicolon do
5
+ describe RuboCop::Cop::Style::SpaceAfterSemicolon do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
8
  it 'registers an offense for semicolon without space after it' do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::SpaceAroundEqualsInParameterDefault, :config do
5
+ describe RuboCop::Cop::Style::SpaceAroundEqualsInParameterDefault, :config do
6
6
  subject(:cop) { described_class.new(config) }
7
7
 
8
8
  context 'when EnforcedStyle is space' do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::SpaceAroundOperators do
5
+ describe RuboCop::Cop::Style::SpaceAroundOperators do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
8
  it 'registers an offense for assignment without space on both sides' do
@@ -2,13 +2,13 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::SpaceBeforeBlockBraces do
5
+ describe RuboCop::Cop::Style::SpaceBeforeBlockBraces do
6
6
  subject(:cop) { described_class.new(config) }
7
7
  let(:config) do
8
- merged = Rubocop::ConfigLoader
9
- .default_configuration['SpaceBeforeBlockBraces'].merge(cop_config)
10
- Rubocop::Config.new('Blocks' => { 'Enabled' => false },
11
- 'SpaceBeforeBlockBraces' => merged)
8
+ merged = RuboCop::ConfigLoader
9
+ .default_configuration['Style/SpaceBeforeBlockBraces'].merge(cop_config)
10
+ RuboCop::Config.new('Style/Blocks' => { 'Enabled' => false },
11
+ 'Style/SpaceBeforeBlockBraces' => merged)
12
12
  end
13
13
  let(:cop_config) { { 'EnforcedStyle' => 'space' } }
14
14
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::SpaceBeforeComment do
5
+ describe RuboCop::Cop::Style::SpaceBeforeComment do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
8
  it 'registers an offense for missing space before an EOL comment' do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::SpaceBeforeModifierKeyword do
5
+ describe RuboCop::Cop::Style::SpaceBeforeModifierKeyword do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
8
  it 'registers an offense for missing space before if/unless' do
@@ -2,15 +2,15 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::SpaceInsideBlockBraces do
5
+ describe RuboCop::Cop::Style::SpaceInsideBlockBraces do
6
6
  SUPPORTED_STYLES = %w(space no_space)
7
7
 
8
8
  subject(:cop) { described_class.new(config) }
9
9
  let(:config) do
10
- merged = Rubocop::ConfigLoader
11
- .default_configuration['SpaceInsideBlockBraces'].merge(cop_config)
12
- Rubocop::Config.new('Blocks' => { 'Enabled' => false },
13
- 'SpaceInsideBlockBraces' => merged)
10
+ merged = RuboCop::ConfigLoader
11
+ .default_configuration['Style/SpaceInsideBlockBraces'].merge(cop_config)
12
+ RuboCop::Config.new('Style/Blocks' => { 'Enabled' => false },
13
+ 'Style/SpaceInsideBlockBraces' => merged)
14
14
  end
15
15
  let(:cop_config) do
16
16
  {
@@ -147,8 +147,8 @@ describe Rubocop::Cop::Style::SpaceInsideBlockBraces do
147
147
 
148
148
  context 'and Blocks cop enabled' do
149
149
  let(:config) do
150
- Rubocop::Config.new('Blocks' => { 'Enabled' => true },
151
- 'SpaceInsideBlockBraces' => cop_config)
150
+ RuboCop::Config.new('Style/Blocks' => { 'Enabled' => true },
151
+ 'Style/SpaceInsideBlockBraces' => cop_config)
152
152
  end
153
153
 
154
154
  it 'does auto-correction for single-line blocks' do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::SpaceInsideBrackets do
5
+ describe RuboCop::Cop::Style::SpaceInsideBrackets do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
8
  it 'registers an offense for an array literal with spaces inside' do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::SpaceInsideHashLiteralBraces, :config do
5
+ describe RuboCop::Cop::Style::SpaceInsideHashLiteralBraces, :config do
6
6
  subject(:cop) { described_class.new(config) }
7
7
  let(:cop_config) { { 'EnforcedStyle' => 'space' } }
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::SpaceInsideParens do
5
+ describe RuboCop::Cop::Style::SpaceInsideParens do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
8
  it 'registers an offense for spaces inside parens' do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::SpecialGlobalVars do
5
+ describe RuboCop::Cop::Style::SpecialGlobalVars do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
8
  it 'registers an offense for $:' do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::StringLiterals, :config do
5
+ describe RuboCop::Cop::Style::StringLiterals, :config do
6
6
  subject(:cop) { described_class.new(config) }
7
7
 
8
8
  context 'configured with single quotes preferred' do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::SymbolArray do
5
+ describe RuboCop::Cop::Style::SymbolArray do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
8
  it 'registers an offense for arrays of symbols', ruby: 2.0 do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::Tab do
5
+ describe RuboCop::Cop::Style::Tab do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
8
  it 'registers an offense for a line indented with tab' do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::TrailingBlankLines, :config do
5
+ describe RuboCop::Cop::Style::TrailingBlankLines, :config do
6
6
  subject(:cop) { described_class.new(config) }
7
7
 
8
8
  context 'when EnforcedStyle is final_newline' do
@@ -2,11 +2,10 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::TrailingComma, :config do
5
+ describe RuboCop::Cop::Style::TrailingComma, :config do
6
6
  subject(:cop) { described_class.new(config) }
7
- let(:cop_config) { { 'EnforcedStyleForMultiline' => 'no_comma' } }
8
7
 
9
- context 'with single line list of values' do
8
+ shared_examples 'single line lists' do
10
9
  it 'registers an offense for trailing comma in an Array literal' do
11
10
  inspect_source(cop, 'VALUES = [1001, 2020, 3333, ]')
12
11
  expect(cop.messages)
@@ -76,8 +75,22 @@ describe Rubocop::Cop::Style::TrailingComma, :config do
76
75
  end
77
76
  end
78
77
 
78
+ context 'with single line list of values' do
79
+ context 'when EnforcedStyleForMultiline is no_comma' do
80
+ let(:cop_config) { { 'EnforcedStyleForMultiline' => 'no_comma' } }
81
+ include_examples 'single line lists'
82
+ end
83
+
84
+ context 'when EnforcedStyleForMultiline is comma' do
85
+ let(:cop_config) { { 'EnforcedStyleForMultiline' => 'comma' } }
86
+ include_examples 'single line lists'
87
+ end
88
+ end
89
+
79
90
  context 'with multi-line list of values' do
80
91
  context 'when EnforcedStyleForMultiline is no_comma' do
92
+ let(:cop_config) { { 'EnforcedStyleForMultiline' => 'no_comma' } }
93
+
81
94
  it 'registers an offense for trailing comma in an Array literal' do
82
95
  inspect_source(cop, ['VALUES = [',
83
96
  ' 1001,',
@@ -131,8 +144,7 @@ describe Rubocop::Cop::Style::TrailingComma, :config do
131
144
  expect(cop.offenses).to be_empty
132
145
  end
133
146
 
134
- it 'accepts comma inside a heredoc' \
135
- ' parameters at the end' do
147
+ it 'accepts comma inside a heredoc parameters at the end' do
136
148
  inspect_source(cop, ['route(help: {',
137
149
  " 'auth' => <<-HELP.chomp",
138
150
  ',',
@@ -145,20 +157,28 @@ describe Rubocop::Cop::Style::TrailingComma, :config do
145
157
  context 'when EnforcedStyleForMultiline is comma' do
146
158
  let(:cop_config) { { 'EnforcedStyleForMultiline' => 'comma' } }
147
159
 
148
- it 'registers an offense for no trailing comma in an Array literal' do
160
+ it 'accepts Array literal with no trailing comma when closing bracket ' \
161
+ 'is on same line as last value' do
149
162
  inspect_source(cop, ['VALUES = [',
150
163
  ' 1001,',
151
164
  ' 2020,',
152
165
  ' 3333]'])
153
- expect(cop.messages)
154
- .to eq(['Put a comma after the last item of a multiline array.'])
155
- expect(cop.highlights).to eq(['3333'])
166
+ expect(cop.offenses).to be_empty
167
+ end
168
+
169
+ it 'accepts Array literal with two of the values on the same line' do
170
+ inspect_source(cop, ['VALUES = [',
171
+ ' 1001, 2020,',
172
+ ' 3333',
173
+ ' ]'])
174
+ expect(cop.offenses).to be_empty
156
175
  end
157
176
 
158
177
  it 'registers an offense for no trailing comma in a Hash literal' do
159
178
  inspect_source(cop, ['MAP = { a: 1001,',
160
179
  ' b: 2020,',
161
- ' c: 3333 }'])
180
+ ' c: 3333',
181
+ '}'])
162
182
  expect(cop.messages)
163
183
  .to eq(['Put a comma after the last item of a multiline hash.'])
164
184
  expect(cop.highlights).to eq(['c: 3333'])
@@ -178,6 +198,12 @@ describe Rubocop::Cop::Style::TrailingComma, :config do
178
198
  expect(cop.highlights).to eq(['d: 1'])
179
199
  end
180
200
 
201
+ it 'accepts a method call with two parameters on the same line' do
202
+ inspect_source(cop, ['some_method(a, b',
203
+ ' )'])
204
+ expect(cop.offenses).to be_empty
205
+ end
206
+
181
207
  it 'accepts trailing comma in an Array literal' do
182
208
  inspect_source(cop, ['VALUES = [1001,',
183
209
  ' 2020,',
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::TrailingWhitespace do
5
+ describe RuboCop::Cop::Style::TrailingWhitespace do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
8
  it 'registers an offense for a line ending with space' do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::TrivialAccessors, :config do
5
+ describe RuboCop::Cop::Style::TrivialAccessors, :config do
6
6
  subject(:cop) { described_class.new(config) }
7
7
  let(:cop_config) { {} }
8
8
 
@@ -475,7 +475,8 @@ describe Rubocop::Cop::Style::TrivialAccessors, :config do
475
475
  end
476
476
 
477
477
  it 'does not autocorrect' do
478
- expect(autocorrect_source(cop, source)).to eq(source.join("\n"))
478
+ expect(autocorrect_source(cop, source))
479
+ .to eq(source.join("\n"))
479
480
  end
480
481
  end
481
482
 
@@ -487,7 +488,54 @@ describe Rubocop::Cop::Style::TrivialAccessors, :config do
487
488
  end
488
489
 
489
490
  it 'does not autocorrect' do
490
- expect(autocorrect_source(cop, source)).to eq(source.join("\n"))
491
+ expect(autocorrect_source(cop, source))
492
+ .to eq(source.join("\n"))
493
+ end
494
+ end
495
+
496
+ context 'class receiver reader' do
497
+ let(:source) do
498
+ ['class Foo',
499
+ ' def self.foo',
500
+ ' @foo',
501
+ ' end',
502
+ 'end']
503
+ end
504
+
505
+ let(:corrected_source) do
506
+ ['class Foo',
507
+ ' class << self',
508
+ ' attr_reader :foo',
509
+ ' end',
510
+ 'end']
511
+ end
512
+
513
+ it 'autocorrects with class-level attr_reader' do
514
+ expect(autocorrect_source(cop, source))
515
+ .to eq(corrected_source.join("\n"))
516
+ end
517
+ end
518
+
519
+ context 'class receiver writer' do
520
+ let(:source) do
521
+ ['class Foo',
522
+ ' def self.foo=(f)',
523
+ ' @foo = f',
524
+ ' end',
525
+ 'end']
526
+ end
527
+
528
+ let(:corrected_source) do
529
+ ['class Foo',
530
+ ' class << self',
531
+ ' attr_writer :foo',
532
+ ' end',
533
+ 'end']
534
+ end
535
+
536
+ it 'autocorrects with class-level attr_writer' do
537
+ expect(autocorrect_source(cop, source))
538
+ .to eq(corrected_source.join("\n"))
491
539
  end
492
540
  end
493
541
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::UnlessElse do
5
+ describe RuboCop::Cop::Style::UnlessElse do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
8
  it 'registers an offense for an unless with else' do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::UnneededCapitalW do
5
+ describe RuboCop::Cop::Style::UnneededCapitalW do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
8
  it 'registers no offense for normal arrays of strings' do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::UnneededPercentX do
5
+ describe RuboCop::Cop::Style::UnneededPercentX do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
8
  it 'registers an offense for a %x string without backquotes' do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::VariableInterpolation do
5
+ describe RuboCop::Cop::Style::VariableInterpolation do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
8
  it 'registers an offense for interpolated global variables' do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::VariableName, :config do
5
+ describe RuboCop::Cop::Style::VariableName, :config do
6
6
  subject(:cop) { described_class.new(config) }
7
7
 
8
8
  shared_examples 'always accepted' do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::WhenThen do
5
+ describe RuboCop::Cop::Style::WhenThen do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
8
  it 'registers an offense for when x;' do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::WhileUntilDo do
5
+ describe RuboCop::Cop::Style::WhileUntilDo do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
8
  it 'registers an offense for do in multiline while' do
@@ -2,13 +2,13 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe Rubocop::Cop::Style::WhileUntilModifier do
5
+ describe RuboCop::Cop::Style::WhileUntilModifier do
6
6
  include StatementModifierHelper
7
7
 
8
8
  subject(:cop) { described_class.new(config) }
9
9
  let(:config) do
10
- hash = { 'LineLength' => { 'Max' => 80 } }
11
- Rubocop::Config.new(hash)
10
+ hash = { 'Style/LineLength' => { 'Max' => 80 } }
11
+ RuboCop::Config.new(hash)
12
12
  end
13
13
 
14
14
  it "accepts multiline unless that doesn't fit on one line" do
@@ -76,10 +76,10 @@ describe Rubocop::Cop::Style::WhileUntilModifier do
76
76
  context 'when the maximum line length is specified by the cop itself' do
77
77
  let(:config) do
78
78
  hash = {
79
- 'LineLength' => { 'Max' => 100 },
80
- 'WhileUntilModifier' => { 'MaxLineLength' => 80 }
79
+ 'Style/LineLength' => { 'Max' => 100 },
80
+ 'Style/WhileUntilModifier' => { 'MaxLineLength' => 80 }
81
81
  }
82
- Rubocop::Config.new(hash)
82
+ RuboCop::Config.new(hash)
83
83
  end
84
84
 
85
85
  it "accepts multiline while that doesn't fit on one line" do