rubocop 0.18.1 → 0.19.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 (398) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/CHANGELOG.md +65 -1
  4. data/Gemfile +0 -3
  5. data/LICENSE.txt +1 -1
  6. data/README.md +179 -77
  7. data/Rakefile +8 -0
  8. data/config/default.yml +151 -14
  9. data/config/enabled.yml +65 -8
  10. data/lib/rubocop.rb +19 -4
  11. data/lib/rubocop/cli.rb +2 -1
  12. data/lib/rubocop/comment_config.rb +97 -0
  13. data/lib/rubocop/config.rb +1 -1
  14. data/lib/rubocop/config_loader.rb +3 -2
  15. data/lib/rubocop/config_store.rb +6 -2
  16. data/lib/rubocop/cop/commissioner.rb +2 -2
  17. data/lib/rubocop/cop/cop.rb +22 -26
  18. data/lib/rubocop/cop/lint/ambiguous_operator.rb +2 -2
  19. data/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +1 -1
  20. data/lib/rubocop/cop/lint/assignment_in_condition.rb +1 -1
  21. data/lib/rubocop/cop/lint/block_alignment.rb +6 -6
  22. data/lib/rubocop/cop/lint/condition_position.rb +1 -1
  23. data/lib/rubocop/cop/lint/debugger.rb +1 -1
  24. data/lib/rubocop/cop/lint/deprecated_class_methods.rb +60 -0
  25. data/lib/rubocop/cop/lint/else_layout.rb +1 -1
  26. data/lib/rubocop/cop/lint/empty_ensure.rb +1 -1
  27. data/lib/rubocop/cop/lint/end_alignment.rb +14 -12
  28. data/lib/rubocop/cop/lint/end_in_method.rb +1 -1
  29. data/lib/rubocop/cop/lint/ensure_return.rb +1 -1
  30. data/lib/rubocop/cop/lint/eval.rb +1 -1
  31. data/lib/rubocop/cop/lint/handle_exceptions.rb +1 -1
  32. data/lib/rubocop/cop/lint/literal_in_condition.rb +13 -2
  33. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +28 -0
  34. data/lib/rubocop/cop/lint/loop.rb +4 -4
  35. data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +1 -1
  36. data/lib/rubocop/cop/lint/require_parentheses.rb +6 -6
  37. data/lib/rubocop/cop/lint/rescue_exception.rb +1 -1
  38. data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +2 -2
  39. data/lib/rubocop/cop/lint/string_conversion_in_interpolation.rb +30 -0
  40. data/lib/rubocop/cop/lint/syntax.rb +5 -5
  41. data/lib/rubocop/cop/lint/unreachable_code.rb +1 -1
  42. data/lib/rubocop/cop/lint/useless_assignment.rb +5 -5
  43. data/lib/rubocop/cop/lint/useless_comparison.rb +1 -1
  44. data/lib/rubocop/cop/lint/useless_setter_call.rb +1 -1
  45. data/lib/rubocop/cop/lint/void.rb +5 -5
  46. data/lib/rubocop/cop/mixin/autocorrect_alignment.rb +8 -5
  47. data/lib/rubocop/cop/mixin/code_length.rb +2 -2
  48. data/lib/rubocop/cop/mixin/configurable_enforced_style.rb +7 -7
  49. data/lib/rubocop/cop/mixin/configurable_max.rb +1 -1
  50. data/lib/rubocop/cop/mixin/configurable_naming.rb +1 -1
  51. data/lib/rubocop/cop/mixin/if_then_else.rb +1 -1
  52. data/lib/rubocop/cop/mixin/negative_conditional.rb +1 -1
  53. data/lib/rubocop/cop/mixin/parser_diagnostic.rb +2 -2
  54. data/lib/rubocop/cop/mixin/space_after_punctuation.rb +3 -2
  55. data/lib/rubocop/cop/mixin/space_inside.rb +1 -1
  56. data/lib/rubocop/cop/mixin/statement_modifier.rb +1 -0
  57. data/lib/rubocop/cop/mixin/string_help.rb +4 -4
  58. data/lib/rubocop/cop/{offence.rb → offense.rb} +7 -7
  59. data/lib/rubocop/cop/rails/action_filter.rb +73 -0
  60. data/lib/rubocop/cop/rails/default_scope.rb +1 -1
  61. data/lib/rubocop/cop/rails/has_and_belongs_to_many.rb +1 -1
  62. data/lib/rubocop/cop/rails/output.rb +1 -10
  63. data/lib/rubocop/cop/rails/read_attribute.rb +1 -1
  64. data/lib/rubocop/cop/rails/scope_args.rb +33 -0
  65. data/lib/rubocop/cop/rails/validation.rb +1 -1
  66. data/lib/rubocop/cop/style/access_modifier_indentation.rb +1 -1
  67. data/lib/rubocop/cop/style/accessor_method_name.rb +2 -2
  68. data/lib/rubocop/cop/style/alias.rb +2 -2
  69. data/lib/rubocop/cop/style/align_array.rb +1 -1
  70. data/lib/rubocop/cop/style/align_hash.rb +29 -2
  71. data/lib/rubocop/cop/style/align_parameters.rb +16 -2
  72. data/lib/rubocop/cop/style/and_or.rb +2 -2
  73. data/lib/rubocop/cop/style/ascii_comments.rb +1 -1
  74. data/lib/rubocop/cop/style/ascii_identifiers.rb +1 -1
  75. data/lib/rubocop/cop/style/attr.rb +1 -1
  76. data/lib/rubocop/cop/style/begin_block.rb +1 -1
  77. data/lib/rubocop/cop/style/block_comments.rb +1 -1
  78. data/lib/rubocop/cop/style/block_nesting.rb +1 -1
  79. data/lib/rubocop/cop/style/blocks.rb +2 -2
  80. data/lib/rubocop/cop/style/braces_around_hash_parameters.rb +2 -2
  81. data/lib/rubocop/cop/style/case_equality.rb +1 -1
  82. data/lib/rubocop/cop/style/case_indentation.rb +2 -2
  83. data/lib/rubocop/cop/style/character_literal.rb +2 -2
  84. data/lib/rubocop/cop/style/class_and_module_camel_case.rb +1 -1
  85. data/lib/rubocop/cop/style/class_and_module_children.rb +69 -0
  86. data/lib/rubocop/cop/style/class_methods.rb +1 -1
  87. data/lib/rubocop/cop/style/class_vars.rb +3 -3
  88. data/lib/rubocop/cop/style/collection_methods.rb +4 -4
  89. data/lib/rubocop/cop/style/colon_method_call.rb +1 -1
  90. data/lib/rubocop/cop/style/comment_annotation.rb +1 -1
  91. data/lib/rubocop/cop/style/constant_name.rb +1 -1
  92. data/lib/rubocop/cop/style/cyclomatic_complexity.rb +2 -2
  93. data/lib/rubocop/cop/style/def_parentheses.rb +2 -2
  94. data/lib/rubocop/cop/style/documentation.rb +1 -1
  95. data/lib/rubocop/cop/style/dot_position.rb +10 -11
  96. data/lib/rubocop/cop/style/double_negation.rb +40 -0
  97. data/lib/rubocop/cop/style/empty_line_between_defs.rb +8 -1
  98. data/lib/rubocop/cop/style/empty_lines.rb +3 -2
  99. data/lib/rubocop/cop/style/empty_lines_around_access_modifier.rb +1 -1
  100. data/lib/rubocop/cop/style/empty_lines_around_body.rb +1 -1
  101. data/lib/rubocop/cop/style/empty_literal.rb +3 -3
  102. data/lib/rubocop/cop/style/encoding.rb +1 -1
  103. data/lib/rubocop/cop/style/end_block.rb +1 -1
  104. data/lib/rubocop/cop/style/end_of_line.rb +2 -2
  105. data/lib/rubocop/cop/style/even_odd.rb +2 -2
  106. data/lib/rubocop/cop/style/favor_join.rb +1 -1
  107. data/lib/rubocop/cop/style/file_name.rb +29 -0
  108. data/lib/rubocop/cop/style/final_newline.rb +1 -1
  109. data/lib/rubocop/cop/style/flip_flop.rb +2 -2
  110. data/lib/rubocop/cop/style/for.rb +2 -2
  111. data/lib/rubocop/cop/style/format_string.rb +66 -0
  112. data/lib/rubocop/cop/style/global_vars.rb +2 -2
  113. data/lib/rubocop/cop/style/hash_methods.rb +1 -1
  114. data/lib/rubocop/cop/style/hash_syntax.rb +3 -3
  115. data/lib/rubocop/cop/style/if_unless_modifier.rb +2 -1
  116. data/lib/rubocop/cop/style/indent_array.rb +41 -0
  117. data/lib/rubocop/cop/style/indent_hash.rb +119 -0
  118. data/lib/rubocop/cop/style/indentation_consistency.rb +3 -11
  119. data/lib/rubocop/cop/style/indentation_width.rb +44 -23
  120. data/lib/rubocop/cop/style/lambda.rb +2 -2
  121. data/lib/rubocop/cop/style/lambda_call.rb +3 -3
  122. data/lib/rubocop/cop/style/leading_comment_space.rb +1 -1
  123. data/lib/rubocop/cop/style/line_end_concatenation.rb +7 -3
  124. data/lib/rubocop/cop/style/line_length.rb +2 -2
  125. data/lib/rubocop/cop/style/method_call_parentheses.rb +2 -2
  126. data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +2 -2
  127. data/lib/rubocop/cop/style/method_def_parentheses.rb +9 -7
  128. data/lib/rubocop/cop/style/module_function.rb +1 -1
  129. data/lib/rubocop/cop/style/multiline_block_chain.rb +1 -1
  130. data/lib/rubocop/cop/style/multiline_ternary_operator.rb +1 -1
  131. data/lib/rubocop/cop/style/nested_ternary_operator.rb +2 -2
  132. data/lib/rubocop/cop/style/nil_comparison.rb +1 -1
  133. data/lib/rubocop/cop/style/not.rb +1 -1
  134. data/lib/rubocop/cop/style/numeric_literals.rb +5 -5
  135. data/lib/rubocop/cop/style/op_method.rb +2 -2
  136. data/lib/rubocop/cop/style/parameter_lists.rb +1 -1
  137. data/lib/rubocop/cop/style/parentheses_around_condition.rb +5 -4
  138. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +143 -0
  139. data/lib/rubocop/cop/style/perl_backrefs.rb +1 -1
  140. data/lib/rubocop/cop/style/predicate_name.rb +1 -1
  141. data/lib/rubocop/cop/style/proc.rb +1 -1
  142. data/lib/rubocop/cop/style/raise_args.rb +2 -2
  143. data/lib/rubocop/cop/style/redundant_begin.rb +1 -1
  144. data/lib/rubocop/cop/style/redundant_exception.rb +1 -1
  145. data/lib/rubocop/cop/style/redundant_return.rb +1 -1
  146. data/lib/rubocop/cop/style/redundant_self.rb +2 -2
  147. data/lib/rubocop/cop/style/regexp_literal.rb +45 -19
  148. data/lib/rubocop/cop/style/rescue_modifier.rb +1 -1
  149. data/lib/rubocop/cop/style/self_assignment.rb +73 -0
  150. data/lib/rubocop/cop/style/semicolon.rb +12 -8
  151. data/lib/rubocop/cop/style/signal_exception.rb +2 -2
  152. data/lib/rubocop/cop/style/single_line_block_params.rb +1 -1
  153. data/lib/rubocop/cop/style/single_line_methods.rb +38 -1
  154. data/lib/rubocop/cop/style/space_after_colon.rb +3 -3
  155. data/lib/rubocop/cop/style/space_after_comma.rb +1 -1
  156. data/lib/rubocop/cop/style/space_after_control_keyword.rb +1 -1
  157. data/lib/rubocop/cop/style/space_after_method_name.rb +11 -3
  158. data/lib/rubocop/cop/style/space_after_not.rb +1 -1
  159. data/lib/rubocop/cop/style/space_after_semicolon.rb +1 -1
  160. data/lib/rubocop/cop/style/space_around_equals_in_parameter_default.rb +41 -6
  161. data/lib/rubocop/cop/style/space_around_operators.rb +4 -4
  162. data/lib/rubocop/cop/style/space_before_block_braces.rb +63 -0
  163. data/lib/rubocop/cop/style/space_before_modifier_keyword.rb +1 -1
  164. data/lib/rubocop/cop/style/{space_around_block_braces.rb → space_inside_block_braces.rb} +15 -24
  165. data/lib/rubocop/cop/style/space_inside_hash_literal_braces.rb +14 -7
  166. data/lib/rubocop/cop/style/special_global_vars.rb +1 -1
  167. data/lib/rubocop/cop/style/string_literals.rb +1 -1
  168. data/lib/rubocop/cop/style/symbol_array.rb +1 -1
  169. data/lib/rubocop/cop/style/tab.rb +1 -1
  170. data/lib/rubocop/cop/style/trailing_blank_lines.rb +2 -2
  171. data/lib/rubocop/cop/style/trailing_comma.rb +4 -4
  172. data/lib/rubocop/cop/style/trailing_whitespace.rb +1 -1
  173. data/lib/rubocop/cop/style/trivial_accessors.rb +2 -2
  174. data/lib/rubocop/cop/style/unless_else.rb +1 -1
  175. data/lib/rubocop/cop/style/variable_interpolation.rb +1 -1
  176. data/lib/rubocop/cop/style/when_then.rb +1 -1
  177. data/lib/rubocop/cop/style/while_until_do.rb +1 -1
  178. data/lib/rubocop/cop/style/while_until_modifier.rb +2 -1
  179. data/lib/rubocop/cop/style/word_array.rb +2 -2
  180. data/lib/rubocop/cop/team.rb +24 -7
  181. data/lib/rubocop/cop/util.rb +3 -3
  182. data/lib/rubocop/cop/variable_inspector.rb +25 -13
  183. data/lib/rubocop/cop/variable_inspector/assignment.rb +1 -1
  184. data/lib/rubocop/cop/variable_inspector/reference.rb +1 -1
  185. data/lib/rubocop/cop/variable_inspector/scope.rb +1 -1
  186. data/lib/rubocop/cop/variable_inspector/variable.rb +2 -2
  187. data/lib/rubocop/cop/variable_inspector/variable_table.rb +1 -1
  188. data/lib/rubocop/file_inspector.rb +12 -13
  189. data/lib/rubocop/formatter/base_formatter.rb +4 -4
  190. data/lib/rubocop/formatter/clang_style_formatter.rb +2 -2
  191. data/lib/rubocop/formatter/disabled_config_formatter.rb +12 -12
  192. data/lib/rubocop/formatter/emacs_style_formatter.rb +3 -2
  193. data/lib/rubocop/formatter/file_list_formatter.rb +4 -4
  194. data/lib/rubocop/formatter/formatter_set.rb +2 -1
  195. data/lib/rubocop/formatter/fuubar_style_formatter.rb +76 -0
  196. data/lib/rubocop/formatter/json_formatter.rb +17 -16
  197. data/lib/rubocop/formatter/offense_count_formatter.rb +54 -0
  198. data/lib/rubocop/formatter/progress_formatter.rb +16 -16
  199. data/lib/rubocop/formatter/simple_text_formatter.rb +25 -25
  200. data/lib/rubocop/options.rb +8 -7
  201. data/lib/rubocop/processed_source.rb +3 -2
  202. data/lib/rubocop/source_parser.rb +1 -59
  203. data/lib/rubocop/version.rb +3 -3
  204. data/relnotes/0.19.0.md +70 -0
  205. data/rubocop-todo.yml +6 -6
  206. data/rubocop.gemspec +2 -1
  207. data/spec/rubocop/cli_spec.rb +431 -268
  208. data/spec/rubocop/comment_config_spec.rb +103 -0
  209. data/spec/rubocop/config_loader_spec.rb +4 -4
  210. data/spec/rubocop/cop/commissioner_spec.rb +7 -7
  211. data/spec/rubocop/cop/cop_spec.rb +17 -17
  212. data/spec/rubocop/cop/lint/ambiguous_operator_spec.rb +16 -16
  213. data/spec/rubocop/cop/lint/ambiguous_regexp_literal_spec.rb +5 -5
  214. data/spec/rubocop/cop/lint/assignment_in_condition_spec.rb +19 -19
  215. data/spec/rubocop/cop/lint/block_alignment_spec.rb +52 -52
  216. data/spec/rubocop/cop/lint/condition_position_spec.rb +7 -7
  217. data/spec/rubocop/cop/lint/debugger_spec.rb +10 -10
  218. data/spec/rubocop/cop/lint/deprecated_class_methods_spec.rb +33 -0
  219. data/spec/rubocop/cop/lint/else_layout_spec.rb +7 -7
  220. data/spec/rubocop/cop/lint/empty_ensure_spec.rb +4 -4
  221. data/spec/rubocop/cop/lint/end_alignment_spec.rb +33 -34
  222. data/spec/rubocop/cop/lint/end_in_method_spec.rb +5 -5
  223. data/spec/rubocop/cop/lint/ensure_return_spec.rb +4 -4
  224. data/spec/rubocop/cop/lint/eval_spec.rb +8 -8
  225. data/spec/rubocop/cop/lint/handle_exceptions_spec.rb +4 -4
  226. data/spec/rubocop/cop/lint/invalid_character_literal_spec.rb +3 -3
  227. data/spec/rubocop/cop/lint/literal_in_condition_spec.rb +65 -10
  228. data/spec/rubocop/cop/lint/literal_in_interpolation_spec.rb +21 -0
  229. data/spec/rubocop/cop/lint/loop_spec.rb +6 -6
  230. data/spec/rubocop/cop/lint/parentheses_as_grouped_expression_spec.rb +14 -14
  231. data/spec/rubocop/cop/lint/require_parentheses_spec.rb +15 -15
  232. data/spec/rubocop/cop/lint/rescue_exception_spec.rb +21 -21
  233. data/spec/rubocop/cop/lint/shadowing_outer_local_variable_spec.rb +16 -16
  234. data/spec/rubocop/cop/lint/string_conversion_in_interpolation_spec.rb +27 -0
  235. data/spec/rubocop/cop/lint/syntax_spec.rb +11 -11
  236. data/spec/rubocop/cop/lint/unreachable_code_spec.rb +8 -8
  237. data/spec/rubocop/cop/lint/useless_assignment_spec.rb +207 -169
  238. data/spec/rubocop/cop/lint/useless_comparison_spec.rb +5 -5
  239. data/spec/rubocop/cop/lint/useless_else_without_rescue_spec.rb +4 -4
  240. data/spec/rubocop/cop/lint/useless_setter_call_spec.rb +17 -17
  241. data/spec/rubocop/cop/lint/void_spec.rb +8 -8
  242. data/spec/rubocop/cop/{offence_spec.rb → offense_spec.rb} +17 -17
  243. data/spec/rubocop/cop/rails/action_filter_spec.rb +69 -0
  244. data/spec/rubocop/cop/rails/default_scope_spec.rb +9 -9
  245. data/spec/rubocop/cop/rails/has_and_belongs_to_many_spec.rb +2 -2
  246. data/spec/rubocop/cop/rails/output_spec.rb +8 -18
  247. data/spec/rubocop/cop/rails/read_attribute_spec.rb +2 -2
  248. data/spec/rubocop/cop/rails/scope_args_spec.rb +25 -0
  249. data/spec/rubocop/cop/rails/validation_spec.rb +3 -3
  250. data/spec/rubocop/cop/style/access_modifier_indentation_spec.rb +38 -38
  251. data/spec/rubocop/cop/style/accessor_method_name_spec.rb +14 -14
  252. data/spec/rubocop/cop/style/alias_spec.rb +11 -11
  253. data/spec/rubocop/cop/style/align_array_spec.rb +23 -7
  254. data/spec/rubocop/cop/style/align_hash_spec.rb +111 -30
  255. data/spec/rubocop/cop/style/align_parameters_spec.rb +260 -187
  256. data/spec/rubocop/cop/style/and_or_spec.rb +6 -6
  257. data/spec/rubocop/cop/style/ascii_comments_spec.rb +3 -3
  258. data/spec/rubocop/cop/style/ascii_identifiers_spec.rb +5 -5
  259. data/spec/rubocop/cop/style/attr_spec.rb +2 -2
  260. data/spec/rubocop/cop/style/begin_block_spec.rb +2 -2
  261. data/spec/rubocop/cop/style/block_comments_spec.rb +3 -3
  262. data/spec/rubocop/cop/style/block_nesting_spec.rb +26 -26
  263. data/spec/rubocop/cop/style/blocks_spec.rb +8 -8
  264. data/spec/rubocop/cop/style/braces_around_hash_parameters_spec.rb +8 -8
  265. data/spec/rubocop/cop/style/case_equality_spec.rb +2 -2
  266. data/spec/rubocop/cop/style/case_indentation_spec.rb +21 -21
  267. data/spec/rubocop/cop/style/character_literal_spec.rb +6 -6
  268. data/spec/rubocop/cop/style/class_and_module_camel_case_spec.rb +4 -4
  269. data/spec/rubocop/cop/style/class_and_module_children_spec.rb +129 -0
  270. data/spec/rubocop/cop/style/class_length_spec.rb +9 -9
  271. data/spec/rubocop/cop/style/class_methods_spec.rb +8 -8
  272. data/spec/rubocop/cop/style/class_vars_spec.rb +4 -4
  273. data/spec/rubocop/cop/style/collection_methods_spec.rb +6 -6
  274. data/spec/rubocop/cop/style/colon_method_call_spec.rb +16 -16
  275. data/spec/rubocop/cop/style/comment_annotation_spec.rb +16 -16
  276. data/spec/rubocop/cop/style/constant_name_spec.rb +12 -12
  277. data/spec/rubocop/cop/style/cyclomatic_complexity_spec.rb +16 -16
  278. data/spec/rubocop/cop/style/def_with_parentheses_spec.rb +6 -6
  279. data/spec/rubocop/cop/style/documentation_spec.rb +14 -14
  280. data/spec/rubocop/cop/style/dot_position_spec.rb +23 -26
  281. data/spec/rubocop/cop/style/double_negation_spec.rb +22 -0
  282. data/spec/rubocop/cop/style/empty_line_between_defs_spec.rb +22 -14
  283. data/spec/rubocop/cop/style/empty_lines_around_access_modifier_spec.rb +4 -4
  284. data/spec/rubocop/cop/style/empty_lines_around_body_spec.rb +20 -20
  285. data/spec/rubocop/cop/style/empty_lines_spec.rb +17 -6
  286. data/spec/rubocop/cop/style/empty_literal_spec.rb +20 -20
  287. data/spec/rubocop/cop/style/encoding_spec.rb +5 -5
  288. data/spec/rubocop/cop/style/end_block_spec.rb +2 -2
  289. data/spec/rubocop/cop/style/end_of_line_spec.rb +4 -4
  290. data/spec/rubocop/cop/style/even_odd_spec.rb +18 -18
  291. data/spec/rubocop/cop/style/favor_join_spec.rb +7 -7
  292. data/spec/rubocop/cop/style/favor_unless_over_negated_if_spec.rb +7 -7
  293. data/spec/rubocop/cop/style/favor_until_over_negated_while_spec.rb +3 -3
  294. data/spec/rubocop/cop/style/file_name_spec.rb +71 -0
  295. data/spec/rubocop/cop/style/final_newline_spec.rb +4 -4
  296. data/spec/rubocop/cop/style/flip_flop_spec.rb +4 -4
  297. data/spec/rubocop/cop/style/for_spec.rb +13 -13
  298. data/spec/rubocop/cop/style/format_string_spec.rb +136 -0
  299. data/spec/rubocop/cop/style/global_vars_spec.rb +7 -7
  300. data/spec/rubocop/cop/style/hash_methods_spec.rb +6 -6
  301. data/spec/rubocop/cop/style/hash_syntax_spec.rb +11 -11
  302. data/spec/rubocop/cop/style/if_unless_modifier_spec.rb +29 -11
  303. data/spec/rubocop/cop/style/if_with_semicolon_spec.rb +1 -1
  304. data/spec/rubocop/cop/style/indent_array_spec.rb +136 -0
  305. data/spec/rubocop/cop/style/indent_hash_spec.rb +238 -0
  306. data/spec/rubocop/cop/style/indentation_consistency_spec.rb +69 -49
  307. data/spec/rubocop/cop/style/indentation_width_spec.rb +264 -128
  308. data/spec/rubocop/cop/style/lambda_call_spec.rb +14 -14
  309. data/spec/rubocop/cop/style/lambda_spec.rb +7 -7
  310. data/spec/rubocop/cop/style/leading_comment_space_spec.rb +15 -15
  311. data/spec/rubocop/cop/style/line_end_concatenation_spec.rb +11 -4
  312. data/spec/rubocop/cop/style/line_length_spec.rb +5 -5
  313. data/spec/rubocop/cop/style/method_call_parentheses_spec.rb +5 -5
  314. data/spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb +9 -9
  315. data/spec/rubocop/cop/style/method_def_parentheses_spec.rb +19 -19
  316. data/spec/rubocop/cop/style/method_length_spec.rb +17 -17
  317. data/spec/rubocop/cop/style/method_name_spec.rb +21 -21
  318. data/spec/rubocop/cop/style/module_function_spec.rb +3 -3
  319. data/spec/rubocop/cop/style/multiline_block_chain_spec.rb +13 -13
  320. data/spec/rubocop/cop/style/multiline_if_then_spec.rb +10 -10
  321. data/spec/rubocop/cop/style/multiline_ternary_operator_spec.rb +3 -3
  322. data/spec/rubocop/cop/style/nested_ternary_operator_spec.rb +3 -3
  323. data/spec/rubocop/cop/style/nil_comparison_spec.rb +7 -7
  324. data/spec/rubocop/cop/style/not_spec.rb +6 -11
  325. data/spec/rubocop/cop/style/numeric_literals_spec.rb +8 -8
  326. data/spec/rubocop/cop/style/one_line_conditional_spec.rb +1 -1
  327. data/spec/rubocop/cop/style/op_method_spec.rb +13 -13
  328. data/spec/rubocop/cop/style/parameter_lists_spec.rb +6 -6
  329. data/spec/rubocop/cop/style/parentheses_around_condition_spec.rb +11 -10
  330. data/spec/rubocop/cop/style/percent_literal_delimiters_spec.rb +250 -0
  331. data/spec/rubocop/cop/style/perl_backrefs_spec.rb +2 -2
  332. data/spec/rubocop/cop/style/predicate_name_spec.rb +3 -3
  333. data/spec/rubocop/cop/style/proc_spec.rb +4 -4
  334. data/spec/rubocop/cop/style/raise_args_spec.rb +20 -20
  335. data/spec/rubocop/cop/style/redundant_begin_spec.rb +6 -6
  336. data/spec/rubocop/cop/style/redundant_exception_spec.rb +6 -6
  337. data/spec/rubocop/cop/style/redundant_return_spec.rb +22 -22
  338. data/spec/rubocop/cop/style/redundant_self_spec.rb +14 -14
  339. data/spec/rubocop/cop/style/regexp_literal_spec.rb +88 -67
  340. data/spec/rubocop/cop/style/rescue_modifier_spec.rb +17 -17
  341. data/spec/rubocop/cop/style/self_assignment_spec.rb +43 -0
  342. data/spec/rubocop/cop/style/semicolon_spec.rb +31 -17
  343. data/spec/rubocop/cop/style/signal_exception_spec.rb +29 -29
  344. data/spec/rubocop/cop/style/single_line_block_params_spec.rb +6 -6
  345. data/spec/rubocop/cop/style/single_line_methods_spec.rb +44 -6
  346. data/spec/rubocop/cop/style/space_after_colon_spec.rb +1 -1
  347. data/spec/rubocop/cop/style/space_after_comma_spec.rb +3 -3
  348. data/spec/rubocop/cop/style/space_after_control_keyword_spec.rb +12 -12
  349. data/spec/rubocop/cop/style/space_after_method_name_spec.rb +8 -8
  350. data/spec/rubocop/cop/style/space_after_not_spec.rb +3 -3
  351. data/spec/rubocop/cop/style/space_after_semicolon_spec.rb +1 -1
  352. data/spec/rubocop/cop/style/space_around_equals_in_parameter_default_spec.rb +63 -21
  353. data/spec/rubocop/cop/style/space_around_operators_spec.rb +24 -24
  354. data/spec/rubocop/cop/style/space_before_block_braces_spec.rb +72 -0
  355. data/spec/rubocop/cop/style/space_before_modifier_keyword_spec.rb +4 -4
  356. data/spec/rubocop/cop/style/{space_around_block_braces_spec.rb → space_inside_block_braces_spec.rb} +39 -41
  357. data/spec/rubocop/cop/style/space_inside_brackets_spec.rb +1 -1
  358. data/spec/rubocop/cop/style/space_inside_hash_literal_braces_spec.rb +15 -15
  359. data/spec/rubocop/cop/style/space_inside_parens_spec.rb +1 -1
  360. data/spec/rubocop/cop/style/special_global_vars_spec.rb +10 -10
  361. data/spec/rubocop/cop/style/string_literals_spec.rb +31 -31
  362. data/spec/rubocop/cop/style/symbol_array_spec.rb +9 -9
  363. data/spec/rubocop/cop/style/tab_spec.rb +3 -3
  364. data/spec/rubocop/cop/style/trailing_blank_lines_spec.rb +3 -3
  365. data/spec/rubocop/cop/style/trailing_comma_spec.rb +32 -32
  366. data/spec/rubocop/cop/style/trailing_whitespace_spec.rb +5 -5
  367. data/spec/rubocop/cop/style/trivial_accessors_spec.rb +39 -39
  368. data/spec/rubocop/cop/style/unless_else_spec.rb +1 -1
  369. data/spec/rubocop/cop/style/variable_interpolation_spec.rb +12 -12
  370. data/spec/rubocop/cop/style/variable_name_spec.rb +21 -21
  371. data/spec/rubocop/cop/style/when_then_spec.rb +1 -1
  372. data/spec/rubocop/cop/style/while_until_do_spec.rb +8 -8
  373. data/spec/rubocop/cop/style/while_until_modifier_spec.rb +25 -7
  374. data/spec/rubocop/cop/style/word_array_spec.rb +23 -23
  375. data/spec/rubocop/cop/team_spec.rb +14 -14
  376. data/spec/rubocop/file_inspector_spec.rb +14 -12
  377. data/spec/rubocop/formatter/base_formatter_spec.rb +19 -19
  378. data/spec/rubocop/formatter/clang_style_formatter_spec.rb +14 -14
  379. data/spec/rubocop/formatter/disabled_config_formatter_spec.rb +7 -7
  380. data/spec/rubocop/formatter/emacs_style_formatter_spec.rb +7 -7
  381. data/spec/rubocop/formatter/file_list_formatter_spec.rb +4 -4
  382. data/spec/rubocop/formatter/fuubar_style_formatter_spec.rb +129 -0
  383. data/spec/rubocop/formatter/json_formatter_spec.rb +23 -19
  384. data/spec/rubocop/formatter/offense_count_formatter_spec.rb +77 -0
  385. data/spec/rubocop/formatter/progress_formatter_spec.rb +27 -27
  386. data/spec/rubocop/formatter/simple_text_formatter_spec.rb +16 -16
  387. data/spec/rubocop/options_spec.rb +7 -8
  388. data/spec/rubocop/source_parser_spec.rb +0 -54
  389. data/spec/spec_helper.rb +11 -7
  390. data/spec/support/file_helper.rb +1 -1
  391. data/spec/support/mri_syntax_checker.rb +4 -4
  392. data/spec/support/shared_examples.rb +6 -6
  393. data/spec/support/statement_modifier_helper.rb +3 -3
  394. metadata +76 -16
  395. data/lib/rubocop/cop/style/favor_sprintf.rb +0 -26
  396. data/lib/rubocop/formatter/offence_count_formatter.rb +0 -49
  397. data/spec/rubocop/cop/style/favor_sprintf_spec.rb +0 -47
  398. data/spec/rubocop/formatter/offence_count_formatter_spec.rb +0 -52
@@ -0,0 +1,103 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Rubocop::CommentConfig do
6
+ subject(:comment_config) { Rubocop::CommentConfig.new(parse_source(source)) }
7
+
8
+ describe '#cop_enabled_at_line?' do
9
+ let(:source) do
10
+ [
11
+ '# encoding: utf-8',
12
+ '',
13
+ '# rubocop:disable MethodLength',
14
+ 'def some_method',
15
+ " puts 'foo'",
16
+ 'end',
17
+ '# rubocop:enable MethodLength',
18
+ '',
19
+ '# rubocop:disable all',
20
+ 'some_method',
21
+ '# rubocop:enable all',
22
+ '',
23
+ "code = 'This is evil.'",
24
+ 'eval(code) # rubocop:disable Eval',
25
+ "puts 'This is not evil.'",
26
+ '',
27
+ 'def some_method',
28
+ " puts 'Disabling indented single line' # rubocop:disable LineLength",
29
+ 'end',
30
+ '',
31
+ 'string = <<END',
32
+ 'This is a string not a real comment # rubocop:disable Loop',
33
+ 'END',
34
+ '',
35
+ 'foo # rubocop:disable MethodCallParentheses',
36
+ '',
37
+ '# rubocop:enable Void',
38
+ '',
39
+ '# rubocop:disable For',
40
+ 'foo'
41
+ ]
42
+ end
43
+
44
+ def disabled_lines_of_cop(cop)
45
+ (1..source.size).each_with_object([]) do |line_number, disabled_lines|
46
+ enabled = comment_config.cop_enabled_at_line?(cop, line_number)
47
+ disabled_lines << line_number unless enabled
48
+ end
49
+ end
50
+
51
+ it 'supports disabling multiple lines with a pair of directive' do
52
+ method_length_disabled_lines = disabled_lines_of_cop('MethodLength')
53
+ expected_part = (3..6).to_a
54
+ expect(method_length_disabled_lines & expected_part)
55
+ .to eq(expected_part)
56
+ end
57
+
58
+ it 'supports disabling all lines after a directive' do
59
+ for_disabled_lines = disabled_lines_of_cop('For')
60
+ expected_part = (29..source.size).to_a
61
+ expect(for_disabled_lines & expected_part)
62
+ .to eq(expected_part)
63
+ end
64
+
65
+ it 'just ignores unpaired enabling directives' do
66
+ void_disabled_lines = disabled_lines_of_cop('Void')
67
+ expected_part = (27..source.size).to_a
68
+ expect(void_disabled_lines & expected_part).to be_empty
69
+ end
70
+
71
+ it 'supports disabling single line with a direcive at end of line' do
72
+ eval_disabled_lines = disabled_lines_of_cop('Eval')
73
+ expect(eval_disabled_lines).to include(14)
74
+ expect(eval_disabled_lines).not_to include(15)
75
+ end
76
+
77
+ it 'handles indented single line' do
78
+ line_length_disabled_lines = disabled_lines_of_cop('LineLength')
79
+ expect(line_length_disabled_lines).to include(18)
80
+ expect(line_length_disabled_lines).not_to include(19)
81
+ end
82
+
83
+ it 'does not confuse a comment directive embedded in a string literal ' \
84
+ 'with a real comment' do
85
+ loop_disabled_lines = disabled_lines_of_cop('Loop')
86
+ expect(loop_disabled_lines).not_to include(22)
87
+ end
88
+
89
+ it 'supports disabling all cops with keyword all' do
90
+ expected_part = (9..10).to_a
91
+
92
+ Rubocop::Cop::Cop.all.each do |cop|
93
+ disabled_lines = disabled_lines_of_cop(cop)
94
+ expect(disabled_lines & expected_part).to eq(expected_part)
95
+ end
96
+ end
97
+
98
+ it 'does not confuse a cop name including "all" with all cops' do
99
+ alias_disabled_lines = disabled_lines_of_cop('Alias')
100
+ expect(alias_disabled_lines).not_to include(25)
101
+ end
102
+ end
103
+ end
@@ -188,10 +188,10 @@ describe Rubocop::ConfigLoader do
188
188
  it 'returns the ancestor configuration plus local overrides' do
189
189
  config = default_config
190
190
  .merge('LineLength' => {
191
- 'Description' =>
192
- default_config['LineLength']['Description'],
193
- 'Enabled' => true,
194
- 'Max' => 77
191
+ 'Description' =>
192
+ default_config['LineLength']['Description'],
193
+ 'Enabled' => true,
194
+ 'Max' => 77
195
195
  },
196
196
  'MethodLength' => {
197
197
  'Description' =>
@@ -5,10 +5,10 @@ require 'spec_helper'
5
5
 
6
6
  describe Rubocop::Cop::Commissioner do
7
7
  describe '#investigate' do
8
- let(:cop) { double(Rubocop::Cop, offences: []).as_null_object }
8
+ let(:cop) { double(Rubocop::Cop, offenses: []).as_null_object }
9
9
 
10
- it 'returns all offences found by the cops' do
11
- allow(cop).to receive(:offences).and_return([1])
10
+ it 'returns all offenses found by the cops' do
11
+ allow(cop).to receive(:offenses).and_return([1])
12
12
 
13
13
  commissioner = described_class.new([cop])
14
14
  source = []
@@ -18,11 +18,11 @@ describe Rubocop::Cop::Commissioner do
18
18
  end
19
19
 
20
20
  context 'when a cop has no interest in the file' do
21
- it 'returns all offences except the ones of the cop' do
21
+ it 'returns all offenses except the ones of the cop' do
22
22
  cops = []
23
- cops << double('cop A', offences: %w(foo), relevant_file?: true)
24
- cops << double('cop B', offences: %w(bar), relevant_file?: false)
25
- cops << double('cop C', offences: %w(baz), relevant_file?: true)
23
+ cops << double('cop A', offenses: %w(foo), relevant_file?: true)
24
+ cops << double('cop B', offenses: %w(bar), relevant_file?: false)
25
+ cops << double('cop C', offenses: %w(baz), relevant_file?: true)
26
26
  cops.each(&:as_null_object)
27
27
 
28
28
  commissioner = described_class.new(cops)
@@ -10,45 +10,45 @@ describe Rubocop::Cop::Cop do
10
10
  Parser::Source::Range.new(source_buffer, 0, 1)
11
11
  end
12
12
 
13
- it 'initially has 0 offences' do
14
- expect(cop.offences).to be_empty
13
+ it 'initially has 0 offenses' do
14
+ expect(cop.offenses).to be_empty
15
15
  end
16
16
 
17
- it 'keeps track of offences' do
18
- cop.add_offence(nil, location, 'message')
17
+ it 'keeps track of offenses' do
18
+ cop.add_offense(nil, location, 'message')
19
19
 
20
- expect(cop.offences.size).to eq(1)
20
+ expect(cop.offenses.size).to eq(1)
21
21
  end
22
22
 
23
- it 'will report registered offences' do
24
- cop.add_offence(nil, location, 'message')
23
+ it 'will report registered offenses' do
24
+ cop.add_offense(nil, location, 'message')
25
25
 
26
- expect(cop.offences).not_to be_empty
26
+ expect(cop.offenses).not_to be_empty
27
27
  end
28
28
 
29
29
  it 'will set default severity' do
30
- cop.add_offence(nil, location, 'message')
30
+ cop.add_offense(nil, location, 'message')
31
31
 
32
- expect(cop.offences.first.severity).to eq(:convention)
32
+ expect(cop.offenses.first.severity).to eq(:convention)
33
33
  end
34
34
 
35
35
  it 'will set custom severity if present' do
36
36
  cop.config[cop.name] = { 'Severity' => 'warning' }
37
- cop.add_offence(nil, location, 'message')
37
+ cop.add_offense(nil, location, 'message')
38
38
 
39
- expect(cop.offences.first.severity).to eq(:warning)
39
+ expect(cop.offenses.first.severity).to eq(:warning)
40
40
  end
41
41
 
42
42
  it 'will warn if custom severity is invalid' do
43
43
  cop.config[cop.name] = { 'Severity' => 'superbad' }
44
44
  expect(cop).to receive(:warn)
45
- cop.add_offence(nil, location, 'message')
45
+ cop.add_offense(nil, location, 'message')
46
46
  end
47
47
 
48
- it 'registers offence with its name' do
48
+ it 'registers offense with its name' do
49
49
  cop = Rubocop::Cop::Style::For.new
50
- cop.add_offence(nil, location, 'message')
51
- expect(cop.offences.first.cop_name).to eq('For')
50
+ cop.add_offense(nil, location, 'message')
51
+ expect(cop.offenses.first.cop_name).to eq('For')
52
52
  end
53
53
 
54
54
  context 'with no submodule' do
@@ -101,7 +101,7 @@ describe Rubocop::Cop::Cop do
101
101
  it 'has each cop in exactly one type' do
102
102
  sum = 0
103
103
  types.each do |c|
104
- sum = sum + described_class.all.with_type(c).length
104
+ sum += described_class.all.with_type(c).length
105
105
  end
106
106
  expect(sum).to be described_class.all.length
107
107
  end
@@ -19,13 +19,13 @@ describe Rubocop::Cop::Lint::AmbiguousOperator do
19
19
  ]
20
20
  end
21
21
 
22
- it 'registers an offence' do
23
- expect(cop.offences.size).to eq(1)
24
- expect(cop.offences.first.message).to eq(
22
+ it 'registers an offense' do
23
+ expect(cop.offenses.size).to eq(1)
24
+ expect(cop.offenses.first.message).to eq(
25
25
  'Ambiguous splat operator. ' \
26
- "Parenthesize the method arguments if it's surely a splat " +
27
- 'operator, ' +
28
- 'or add a whitespace to the right of the * if it should be a ' +
26
+ "Parenthesize the method arguments if it's surely a splat " \
27
+ 'operator, ' \
28
+ 'or add a whitespace to the right of the * if it should be a ' \
29
29
  'multiplication.'
30
30
  )
31
31
  expect(cop.highlights).to eq(['*'])
@@ -41,7 +41,7 @@ describe Rubocop::Cop::Lint::AmbiguousOperator do
41
41
  end
42
42
 
43
43
  it 'accepts' do
44
- expect(cop.offences).to be_empty
44
+ expect(cop.offenses).to be_empty
45
45
  end
46
46
  end
47
47
  end
@@ -55,7 +55,7 @@ describe Rubocop::Cop::Lint::AmbiguousOperator do
55
55
  end
56
56
 
57
57
  it 'accepts' do
58
- expect(cop.offences).to be_empty
58
+ expect(cop.offenses).to be_empty
59
59
  end
60
60
  end
61
61
  end
@@ -70,13 +70,13 @@ describe Rubocop::Cop::Lint::AmbiguousOperator do
70
70
  ]
71
71
  end
72
72
 
73
- it 'registers an offence' do
74
- expect(cop.offences.size).to eq(1)
75
- expect(cop.offences.first.message).to eq(
73
+ it 'registers an offense' do
74
+ expect(cop.offenses.size).to eq(1)
75
+ expect(cop.offenses.first.message).to eq(
76
76
  'Ambiguous block operator. ' \
77
- "Parenthesize the method arguments if it's surely a block " +
78
- 'operator, ' +
79
- 'or add a whitespace to the right of the & if it should be a ' +
77
+ "Parenthesize the method arguments if it's surely a block " \
78
+ 'operator, ' \
79
+ 'or add a whitespace to the right of the & if it should be a ' \
80
80
  'binary AND.'
81
81
  )
82
82
  expect(cop.highlights).to eq(['&'])
@@ -92,7 +92,7 @@ describe Rubocop::Cop::Lint::AmbiguousOperator do
92
92
  end
93
93
 
94
94
  it 'accepts' do
95
- expect(cop.offences).to be_empty
95
+ expect(cop.offenses).to be_empty
96
96
  end
97
97
  end
98
98
  end
@@ -106,7 +106,7 @@ describe Rubocop::Cop::Lint::AmbiguousOperator do
106
106
  end
107
107
 
108
108
  it 'accepts' do
109
- expect(cop.offences).to be_empty
109
+ expect(cop.offenses).to be_empty
110
110
  end
111
111
  end
112
112
  end
@@ -13,11 +13,11 @@ describe Rubocop::Cop::Lint::AmbiguousRegexpLiteral do
13
13
  context 'without parentheses' do
14
14
  let(:source) { 'p /pattern/' }
15
15
 
16
- it 'registers an offence' do
17
- expect(cop.offences.size).to eq(1)
18
- expect(cop.offences.first.message).to eq(
16
+ it 'registers an offense' do
17
+ expect(cop.offenses.size).to eq(1)
18
+ expect(cop.offenses.first.message).to eq(
19
19
  'Ambiguous regexp literal. Parenthesize the method arguments ' \
20
- "if it's surely a regexp literal, or add a whitespace to the " +
20
+ "if it's surely a regexp literal, or add a whitespace to the " \
21
21
  'right of the / if it should be a division.'
22
22
  )
23
23
  expect(cop.highlights).to eq(['/'])
@@ -28,7 +28,7 @@ describe Rubocop::Cop::Lint::AmbiguousRegexpLiteral do
28
28
  let(:source) { 'p(/pattern/)' }
29
29
 
30
30
  it 'accepts' do
31
- expect(cop.offences).to be_empty
31
+ expect(cop.offenses).to be_empty
32
32
  end
33
33
  end
34
34
  end
@@ -6,60 +6,60 @@ describe Rubocop::Cop::Lint::AssignmentInCondition, :config do
6
6
  subject(:cop) { described_class.new(config) }
7
7
  let(:cop_config) { { 'AllowSafeAssignment' => true } }
8
8
 
9
- it 'registers an offence for lvar assignment in condition' do
9
+ it 'registers an offense for lvar assignment in condition' do
10
10
  inspect_source(cop,
11
11
  ['if test = 10',
12
12
  'end'
13
13
  ])
14
- expect(cop.offences.size).to eq(1)
14
+ expect(cop.offenses.size).to eq(1)
15
15
  end
16
16
 
17
- it 'registers an offence for lvar assignment in while condition' do
17
+ it 'registers an offense for lvar assignment in while condition' do
18
18
  inspect_source(cop,
19
19
  ['while test = 10',
20
20
  'end'
21
21
  ])
22
- expect(cop.offences.size).to eq(1)
22
+ expect(cop.offenses.size).to eq(1)
23
23
  end
24
24
 
25
- it 'registers an offence for lvar assignment in until condition' do
25
+ it 'registers an offense for lvar assignment in until condition' do
26
26
  inspect_source(cop,
27
27
  ['until test = 10',
28
28
  'end'
29
29
  ])
30
- expect(cop.offences.size).to eq(1)
30
+ expect(cop.offenses.size).to eq(1)
31
31
  end
32
32
 
33
- it 'registers an offence for ivar assignment in condition' do
33
+ it 'registers an offense for ivar assignment in condition' do
34
34
  inspect_source(cop,
35
35
  ['if @test = 10',
36
36
  'end'
37
37
  ])
38
- expect(cop.offences.size).to eq(1)
38
+ expect(cop.offenses.size).to eq(1)
39
39
  end
40
40
 
41
- it 'registers an offence for clvar assignment in condition' do
41
+ it 'registers an offense for clvar assignment in condition' do
42
42
  inspect_source(cop,
43
43
  ['if @@test = 10',
44
44
  'end'
45
45
  ])
46
- expect(cop.offences.size).to eq(1)
46
+ expect(cop.offenses.size).to eq(1)
47
47
  end
48
48
 
49
- it 'registers an offence for gvar assignment in condition' do
49
+ it 'registers an offense for gvar assignment in condition' do
50
50
  inspect_source(cop,
51
51
  ['if $test = 10',
52
52
  'end'
53
53
  ])
54
- expect(cop.offences.size).to eq(1)
54
+ expect(cop.offenses.size).to eq(1)
55
55
  end
56
56
 
57
- it 'registers an offence for constant assignment in condition' do
57
+ it 'registers an offense for constant assignment in condition' do
58
58
  inspect_source(cop,
59
59
  ['if TEST = 10',
60
60
  'end'
61
61
  ])
62
- expect(cop.offences.size).to eq(1)
62
+ expect(cop.offenses.size).to eq(1)
63
63
  end
64
64
 
65
65
  it 'accepts == in condition' do
@@ -67,19 +67,19 @@ describe Rubocop::Cop::Lint::AssignmentInCondition, :config do
67
67
  ['if test == 10',
68
68
  'end'
69
69
  ])
70
- expect(cop.offences).to be_empty
70
+ expect(cop.offenses).to be_empty
71
71
  end
72
72
 
73
73
  it 'accepts = in a block that is called in a condition' do
74
74
  inspect_source(cop,
75
75
  ['return 1 if any_errors? { o = inspect(file) }'])
76
- expect(cop.offences).to be_empty
76
+ expect(cop.offenses).to be_empty
77
77
  end
78
78
 
79
79
  it 'accepts ||= in condition' do
80
80
  inspect_source(cop,
81
81
  ['raise StandardError unless foo ||= bar'])
82
- expect(cop.offences).to be_empty
82
+ expect(cop.offenses).to be_empty
83
83
  end
84
84
 
85
85
  context 'safe assignment is allowed' do
@@ -88,7 +88,7 @@ describe Rubocop::Cop::Lint::AssignmentInCondition, :config do
88
88
  ['if (test = 10)',
89
89
  'end'
90
90
  ])
91
- expect(cop.offences).to be_empty
91
+ expect(cop.offenses).to be_empty
92
92
  end
93
93
 
94
94
  end
@@ -101,7 +101,7 @@ describe Rubocop::Cop::Lint::AssignmentInCondition, :config do
101
101
  ['if (test = 10)',
102
102
  'end'
103
103
  ])
104
- expect(cop.offences.size).to eq(1)
104
+ expect(cop.offenses.size).to eq(1)
105
105
  end
106
106
  end
107
107
  end
@@ -6,7 +6,7 @@ require 'spec_helper'
6
6
  describe Rubocop::Cop::Lint::BlockAlignment do
7
7
  subject(:cop) { described_class.new }
8
8
 
9
- it 'registers an offence for mismatched block end' do
9
+ it 'registers an offense for mismatched block end' do
10
10
  inspect_source(cop,
11
11
  ['test do |ala|',
12
12
  ' end'
@@ -24,7 +24,7 @@ describe Rubocop::Cop::Lint::BlockAlignment do
24
24
  'a || b do',
25
25
  'end'
26
26
  ])
27
- expect(cop.offences).to be_empty
27
+ expect(cop.offenses).to be_empty
28
28
  end
29
29
  end
30
30
 
@@ -33,11 +33,11 @@ describe Rubocop::Cop::Lint::BlockAlignment do
33
33
  ['variable = test do |ala|',
34
34
  'end'
35
35
  ])
36
- expect(cop.offences).to be_empty
36
+ expect(cop.offenses).to be_empty
37
37
  end
38
38
 
39
39
  context 'when there is an assignment chain' do
40
- it 'registers an offence for an end aligned with the 2nd variable' do
40
+ it 'registers an offense for an end aligned with the 2nd variable' do
41
41
  inspect_source(cop,
42
42
  ['a = b = c = test do |ala|',
43
43
  ' end'
@@ -51,7 +51,7 @@ describe Rubocop::Cop::Lint::BlockAlignment do
51
51
  ['a = b = c = test do |ala|',
52
52
  'end'
53
53
  ])
54
- expect(cop.offences).to be_empty
54
+ expect(cop.offenses).to be_empty
55
55
  end
56
56
  end
57
57
 
@@ -62,11 +62,11 @@ describe Rubocop::Cop::Lint::BlockAlignment do
62
62
  ' a + e.length + newline_length',
63
63
  'end + 1'
64
64
  ])
65
- expect(cop.offences).to be_empty
65
+ expect(cop.offenses).to be_empty
66
66
  end
67
67
  end
68
68
 
69
- it 'registers an offence for mismatched block end with a variable' do
69
+ it 'registers an offense for mismatched block end with a variable' do
70
70
  inspect_source(cop,
71
71
  ['variable = test do |ala|',
72
72
  ' end'
@@ -83,10 +83,10 @@ describe Rubocop::Cop::Lint::BlockAlignment do
83
83
  ' v.foo',
84
84
  ' end'
85
85
  ])
86
- expect(cop.offences).to be_empty
86
+ expect(cop.offenses).to be_empty
87
87
  end
88
88
 
89
- it 'registers an offences for mismatched end alignment' do
89
+ it 'registers an offenses for mismatched end alignment' do
90
90
  inspect_source(cop,
91
91
  ['variable =',
92
92
  ' a_long_method_that_dont_fit_on_the_line do |v|',
@@ -114,10 +114,10 @@ describe Rubocop::Cop::Lint::BlockAlignment do
114
114
  ' end',
115
115
  'end']
116
116
  inspect_source(cop, src)
117
- expect(cop.offences).to be_empty
117
+ expect(cop.offenses).to be_empty
118
118
  end
119
119
 
120
- it 'registers offences for misaligned ends' do
120
+ it 'registers offenses for misaligned ends' do
121
121
  src = ['def foo(bar)',
122
122
  ' bar.get_stuffs',
123
123
  ' .reject do |stuff|',
@@ -151,27 +151,27 @@ describe Rubocop::Cop::Lint::BlockAlignment do
151
151
  ' do_something',
152
152
  'end']
153
153
  inspect_source(cop, src)
154
- expect(cop.offences).to be_empty
154
+ expect(cop.offenses).to be_empty
155
155
  end
156
156
 
157
157
  # Example from issue 447 of bbatsov/rubocop on github:
158
158
  it 'accepts two kinds of end alignment' do
159
159
  src = [
160
- # Aligned with start of line where do is:
161
- 'params = default_options.merge(options)',
162
- ' .delete_if { |k, v| v.nil? }',
163
- ' .each_with_object({}) do |(k, v), new_hash|',
164
- ' new_hash[k.to_s] = v.to_s',
165
- ' end',
166
- # Aligned with start of the whole expression:
167
- 'params = default_options.merge(options)',
168
- ' .delete_if { |k, v| v.nil? }',
169
- ' .each_with_object({}) do |(k, v), new_hash|',
170
- ' new_hash[k.to_s] = v.to_s',
171
- 'end'
172
- ]
160
+ # Aligned with start of line where do is:
161
+ 'params = default_options.merge(options)',
162
+ ' .delete_if { |k, v| v.nil? }',
163
+ ' .each_with_object({}) do |(k, v), new_hash|',
164
+ ' new_hash[k.to_s] = v.to_s',
165
+ ' end',
166
+ # Aligned with start of the whole expression:
167
+ 'params = default_options.merge(options)',
168
+ ' .delete_if { |k, v| v.nil? }',
169
+ ' .each_with_object({}) do |(k, v), new_hash|',
170
+ ' new_hash[k.to_s] = v.to_s',
171
+ 'end'
172
+ ]
173
173
  inspect_source(cop, src)
174
- expect(cop.offences).to be_empty
174
+ expect(cop.offenses).to be_empty
175
175
  end
176
176
  end
177
177
 
@@ -182,10 +182,10 @@ describe Rubocop::Cop::Lint::BlockAlignment do
182
182
  ' i - 5',
183
183
  'end']
184
184
  inspect_source(cop, src)
185
- expect(cop.offences).to be_empty
185
+ expect(cop.offenses).to be_empty
186
186
  end
187
187
 
188
- it 'registers an offence for end aligned with the block' do
188
+ it 'registers an offense for end aligned with the block' do
189
189
  src = ['e,',
190
190
  'f = [5, 6].map do |i|',
191
191
  ' i - 5',
@@ -201,10 +201,10 @@ describe Rubocop::Cop::Lint::BlockAlignment do
201
201
  ['@variable = test do |ala|',
202
202
  'end'
203
203
  ])
204
- expect(cop.offences).to be_empty
204
+ expect(cop.offenses).to be_empty
205
205
  end
206
206
 
207
- it 'registers an offence for mismatched block end with an instance variable' do
207
+ it 'registers an offense for mismatched block end with an instance variable' do
208
208
  inspect_source(cop,
209
209
  ['@variable = test do |ala|',
210
210
  ' end'
@@ -218,10 +218,10 @@ describe Rubocop::Cop::Lint::BlockAlignment do
218
218
  ['@@variable = test do |ala|',
219
219
  'end'
220
220
  ])
221
- expect(cop.offences).to be_empty
221
+ expect(cop.offenses).to be_empty
222
222
  end
223
223
 
224
- it 'registers an offence for mismatched block end with a class variable' do
224
+ it 'registers an offense for mismatched block end with a class variable' do
225
225
  inspect_source(cop,
226
226
  ['@@variable = test do |ala|',
227
227
  ' end'
@@ -235,10 +235,10 @@ describe Rubocop::Cop::Lint::BlockAlignment do
235
235
  ['$variable = test do |ala|',
236
236
  'end'
237
237
  ])
238
- expect(cop.offences).to be_empty
238
+ expect(cop.offenses).to be_empty
239
239
  end
240
240
 
241
- it 'registers an offence for mismatched block end with a global variable' do
241
+ it 'registers an offense for mismatched block end with a global variable' do
242
242
  inspect_source(cop,
243
243
  ['$variable = test do |ala|',
244
244
  ' end'
@@ -252,10 +252,10 @@ describe Rubocop::Cop::Lint::BlockAlignment do
252
252
  ['CONSTANT = test do |ala|',
253
253
  'end'
254
254
  ])
255
- expect(cop.offences).to be_empty
255
+ expect(cop.offenses).to be_empty
256
256
  end
257
257
 
258
- it 'registers an offence for mismatched block end with a constant' do
258
+ it 'registers an offense for mismatched block end with a constant' do
259
259
  inspect_source(cop,
260
260
  ['Module::CONSTANT = test do |ala|',
261
261
  ' end'
@@ -270,10 +270,10 @@ describe Rubocop::Cop::Lint::BlockAlignment do
270
270
  ' token << 1',
271
271
  'end'
272
272
  ])
273
- expect(cop.offences).to be_empty
273
+ expect(cop.offenses).to be_empty
274
274
  end
275
275
 
276
- it 'registers an offence for mismatched block end with a method call' do
276
+ it 'registers an offense for mismatched block end with a method call' do
277
277
  inspect_source(cop,
278
278
  ['parser.childs << lambda do |token|',
279
279
  ' token << 1',
@@ -289,10 +289,10 @@ describe Rubocop::Cop::Lint::BlockAlignment do
289
289
  ' v = 1',
290
290
  'end'
291
291
  ])
292
- expect(cop.offences).to be_empty
292
+ expect(cop.offenses).to be_empty
293
293
  end
294
294
 
295
- it 'registers an offence for mismatched end with a method call with arguments' do
295
+ it 'registers an offense for mismatched end with a method call with arguments' do
296
296
  inspect_source(cop,
297
297
  ['@h[:f] = f.each_pair.map do |f, v|',
298
298
  ' v = 1',
@@ -306,7 +306,7 @@ describe Rubocop::Cop::Lint::BlockAlignment do
306
306
  inspect_source(cop,
307
307
  ['expect(arr.all? { |o| o.valid? })'
308
308
  ])
309
- expect(cop.offences).to be_empty
309
+ expect(cop.offenses).to be_empty
310
310
  end
311
311
 
312
312
  it 'accepts end aligned with the block when the block is a method argument' do
@@ -315,10 +315,10 @@ describe Rubocop::Cop::Lint::BlockAlignment do
315
315
  ' o.valid?',
316
316
  ' end)'
317
317
  ])
318
- expect(cop.offences).to be_empty
318
+ expect(cop.offenses).to be_empty
319
319
  end
320
320
 
321
- it 'registers an offence for mismatched end not aligned with the block that is an argument' do
321
+ it 'registers an offense for mismatched end not aligned with the block that is an argument' do
322
322
  inspect_source(cop,
323
323
  ['expect(arr.all? do |o|',
324
324
  ' o.valid?',
@@ -335,10 +335,10 @@ describe Rubocop::Cop::Lint::BlockAlignment do
335
335
  ' file << something',
336
336
  'end'
337
337
  ])
338
- expect(cop.offences).to be_empty
338
+ expect(cop.offenses).to be_empty
339
339
  end
340
340
 
341
- it 'registers an offence for mismatched block end with an op-asgn (+=, -=)' do
341
+ it 'registers an offense for mismatched block end with an op-asgn (+=, -=)' do
342
342
  inspect_source(cop,
343
343
  ['rb += files.select do |file|',
344
344
  ' file << something',
@@ -353,10 +353,10 @@ describe Rubocop::Cop::Lint::BlockAlignment do
353
353
  ['variable &&= test do |ala|',
354
354
  'end'
355
355
  ])
356
- expect(cop.offences).to be_empty
356
+ expect(cop.offenses).to be_empty
357
357
  end
358
358
 
359
- it 'registers an offence for mismatched block end with an and-asgn (&&=)' do
359
+ it 'registers an offense for mismatched block end with an and-asgn (&&=)' do
360
360
  inspect_source(cop,
361
361
  ['variable &&= test do |ala|',
362
362
  ' end'
@@ -370,10 +370,10 @@ describe Rubocop::Cop::Lint::BlockAlignment do
370
370
  ['variable ||= test do |ala|',
371
371
  'end'
372
372
  ])
373
- expect(cop.offences).to be_empty
373
+ expect(cop.offenses).to be_empty
374
374
  end
375
375
 
376
- it 'registers an offence for mismatched block end with an or-asgn (||=)' do
376
+ it 'registers an offense for mismatched block end with an or-asgn (||=)' do
377
377
  inspect_source(cop,
378
378
  ['variable ||= test do |ala|',
379
379
  ' end'
@@ -388,7 +388,7 @@ describe Rubocop::Cop::Lint::BlockAlignment do
388
388
  ' [1, 2]',
389
389
  'end'
390
390
  ])
391
- expect(cop.offences).to be_empty
391
+ expect(cop.offenses).to be_empty
392
392
  end
393
393
 
394
394
  it 'accepts end aligned with a call chain left hand side' do
@@ -396,10 +396,10 @@ describe Rubocop::Cop::Lint::BlockAlignment do
396
396
  ['parser.diagnostics.consumer = lambda do |diagnostic|',
397
397
  ' diagnostics << diagnostic',
398
398
  'end'])
399
- expect(cop.offences).to be_empty
399
+ expect(cop.offenses).to be_empty
400
400
  end
401
401
 
402
- it 'registers an offence for mismatched block end with a mass assignment' do
402
+ it 'registers an offense for mismatched block end with a mass assignment' do
403
403
  inspect_source(cop,
404
404
  ['var1, var2 = lambda do |test|',
405
405
  ' [1, 2]',