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
@@ -5,24 +5,24 @@ require 'spec_helper'
5
5
  describe Rubocop::Cop::Style::CharacterLiteral do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
- it 'registers an offence for character literals' do
8
+ it 'registers an offense for character literals' do
9
9
  inspect_source(cop, ['x = ?x'])
10
- expect(cop.offences.size).to eq(1)
10
+ expect(cop.offenses.size).to eq(1)
11
11
  end
12
12
 
13
- it 'registers an offence for literals like \n' do
13
+ it 'registers an offense for literals like \n' do
14
14
  inspect_source(cop, ['x = ?\n'])
15
- expect(cop.offences.size).to eq(1)
15
+ expect(cop.offenses.size).to eq(1)
16
16
  end
17
17
 
18
18
  it 'accepts literals like ?\C-\M-d' do
19
19
  inspect_source(cop, ['x = ?\C-\M-d'])
20
- expect(cop.offences).to be_empty
20
+ expect(cop.offenses).to be_empty
21
21
  end
22
22
 
23
23
  it 'accepts ? in a %w literal' do
24
24
  inspect_source(cop, ['%w{? A}'])
25
- expect(cop.offences).to be_empty
25
+ expect(cop.offenses).to be_empty
26
26
  end
27
27
 
28
28
  it "auto-corrects ?x to 'x'" do
@@ -5,7 +5,7 @@ require 'spec_helper'
5
5
  describe Rubocop::Cop::Style::ClassAndModuleCamelCase do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
- it 'registers an offence for underscore in class and module name' do
8
+ it 'registers an offense for underscore in class and module name' do
9
9
  inspect_source(cop,
10
10
  ['class My_Class',
11
11
  'end',
@@ -13,7 +13,7 @@ describe Rubocop::Cop::Style::ClassAndModuleCamelCase do
13
13
  'module My_Module',
14
14
  'end'
15
15
  ])
16
- expect(cop.offences.size).to eq(2)
16
+ expect(cop.offenses.size).to eq(2)
17
17
  end
18
18
 
19
19
  it 'is not fooled by qualified names' do
@@ -24,7 +24,7 @@ describe Rubocop::Cop::Style::ClassAndModuleCamelCase do
24
24
  'module My_Module::Ala',
25
25
  'end'
26
26
  ])
27
- expect(cop.offences.size).to eq(2)
27
+ expect(cop.offenses.size).to eq(2)
28
28
  end
29
29
 
30
30
  it 'accepts CamelCase names' do
@@ -35,6 +35,6 @@ describe Rubocop::Cop::Style::ClassAndModuleCamelCase do
35
35
  'module Mine',
36
36
  'end'
37
37
  ])
38
- expect(cop.offences).to be_empty
38
+ expect(cop.offenses).to be_empty
39
39
  end
40
40
  end
@@ -0,0 +1,129 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Rubocop::Cop::Style::ClassAndModuleChildren, :config do
6
+ subject(:cop) { described_class.new(config) }
7
+
8
+ context 'nested style' do
9
+ let(:cop_config) do
10
+ {
11
+ 'EnforcedStyle' => 'nested'
12
+ }
13
+ end
14
+
15
+ it 'registers an offense for not nested classes' do
16
+ inspect_source(cop, ['class FooClass::BarClass', 'end'])
17
+
18
+ expect(cop.offenses.size).to eq 1
19
+ expect(cop.messages).to eq [
20
+ 'Use nested module/class definitions instead of compact style.'
21
+ ]
22
+ expect(cop.highlights).to eq ['FooClass::BarClass']
23
+ end
24
+
25
+ it 'registers an offense for not nested modules' do
26
+ inspect_source(cop, ['module FooModule::BarModule', 'end'])
27
+
28
+ expect(cop.offenses.size).to eq 1
29
+ expect(cop.messages).to eq [
30
+ 'Use nested module/class definitions instead of compact style.'
31
+ ]
32
+ expect(cop.highlights).to eq ['FooModule::BarModule']
33
+ end
34
+
35
+ it 'accepts nested children' do
36
+ inspect_source(cop,
37
+ ['class FooClass',
38
+ ' class BarClass',
39
+ ' end',
40
+ 'end',
41
+ '',
42
+ 'module FooModule',
43
+ ' module BarModule',
44
+ ' end',
45
+ 'end'
46
+ ])
47
+ expect(cop.offenses).to be_empty
48
+ end
49
+
50
+ it 'accepts :: in parent class on inheritance' do
51
+ inspect_source(cop,
52
+ ['class FooClass',
53
+ ' class BarClass',
54
+ ' end',
55
+ 'end',
56
+ '',
57
+ 'class BazClass < FooClass::BarClass',
58
+ 'end'
59
+ ])
60
+ expect(cop.offenses).to be_empty
61
+ end
62
+ end
63
+
64
+ context 'compact style' do
65
+ let(:cop_config) do
66
+ {
67
+ 'EnforcedStyle' => 'compact'
68
+ }
69
+ end
70
+
71
+ it 'registers a offense for classes with nested children' do
72
+ inspect_source(cop,
73
+ ['class FooClass',
74
+ ' class BarClass',
75
+ ' end',
76
+ 'end'
77
+ ])
78
+ expect(cop.offenses.size).to eq 1
79
+ expect(cop.messages).to eq [
80
+ 'Use compact module/class definition instead of nested style.'
81
+ ]
82
+ expect(cop.highlights).to eq ['FooClass']
83
+ end
84
+
85
+ it 'registers a offense for modules with nested children' do
86
+ inspect_source(cop,
87
+ ['module FooModule',
88
+ ' module BarModule',
89
+ ' end',
90
+ 'end'
91
+ ])
92
+ expect(cop.offenses.size).to eq 1
93
+ expect(cop.messages).to eq [
94
+ 'Use compact module/class definition instead of nested style.'
95
+ ]
96
+ expect(cop.highlights).to eq ['FooModule']
97
+ end
98
+
99
+ it 'accepts compact style for classes / modules' do
100
+ inspect_source(cop,
101
+ ['class FooClass::BarClass',
102
+ 'end',
103
+ '',
104
+ 'module FooClass::BarModule',
105
+ 'end'
106
+ ])
107
+ expect(cop.offenses).to be_empty
108
+ end
109
+
110
+ it 'accepts nesting for classes / modules with more than one child' do
111
+ inspect_source(cop,
112
+ ['class FooClass',
113
+ ' class BarClass',
114
+ ' end',
115
+ ' class BazClass',
116
+ ' end',
117
+ 'end',
118
+ '',
119
+ 'module FooModule',
120
+ ' module BarModule',
121
+ ' end',
122
+ ' class BazModule',
123
+ ' end',
124
+ 'end'
125
+ ])
126
+ expect(cop.offenses).to be_empty
127
+ end
128
+ end
129
+ end
@@ -15,9 +15,9 @@ describe Rubocop::Cop::Style::ClassLength, :config do
15
15
  ' a = 5',
16
16
  ' a = 6',
17
17
  'end'])
18
- expect(cop.offences.size).to eq(1)
18
+ expect(cop.offenses.size).to eq(1)
19
19
  expect(cop.messages).to eq(['Class definition is too long. [6/5]'])
20
- expect(cop.config_to_allow_offences).to eq('Max' => 6)
20
+ expect(cop.config_to_allow_offenses).to eq('Max' => 6)
21
21
  end
22
22
 
23
23
  it 'accepts a class with 5 lines' do
@@ -28,7 +28,7 @@ describe Rubocop::Cop::Style::ClassLength, :config do
28
28
  ' a = 4',
29
29
  ' a = 5',
30
30
  'end'])
31
- expect(cop.offences).to be_empty
31
+ expect(cop.offenses).to be_empty
32
32
  end
33
33
 
34
34
  it 'accepts a class with less than 5 lines' do
@@ -38,7 +38,7 @@ describe Rubocop::Cop::Style::ClassLength, :config do
38
38
  ' a = 3',
39
39
  ' a = 4',
40
40
  'end'])
41
- expect(cop.offences).to be_empty
41
+ expect(cop.offenses).to be_empty
42
42
  end
43
43
 
44
44
  it 'does not count blank lines' do
@@ -51,13 +51,13 @@ describe Rubocop::Cop::Style::ClassLength, :config do
51
51
  '',
52
52
  ' a = 7',
53
53
  'end'])
54
- expect(cop.offences).to be_empty
54
+ expect(cop.offenses).to be_empty
55
55
  end
56
56
 
57
57
  it 'accepts empty classes' do
58
58
  inspect_source(cop, ['class Test',
59
59
  'end'])
60
- expect(cop.offences).to be_empty
60
+ expect(cop.offenses).to be_empty
61
61
  end
62
62
 
63
63
  context 'when a class has inner classes' do
@@ -83,7 +83,7 @@ describe Rubocop::Cop::Style::ClassLength, :config do
83
83
  ' a = 4',
84
84
  ' a = 5',
85
85
  'end'])
86
- expect(cop.offences).to be_empty
86
+ expect(cop.offenses).to be_empty
87
87
  end
88
88
 
89
89
  it 'rejects a class with 6 lines that belong to the class directly' do
@@ -109,7 +109,7 @@ describe Rubocop::Cop::Style::ClassLength, :config do
109
109
  ' a = 5',
110
110
  ' a = 6',
111
111
  'end'])
112
- expect(cop.offences.size).to eq(1)
112
+ expect(cop.offenses.size).to eq(1)
113
113
  end
114
114
  end
115
115
 
@@ -125,7 +125,7 @@ describe Rubocop::Cop::Style::ClassLength, :config do
125
125
  ' a = 5',
126
126
  ' a = 6',
127
127
  'end'])
128
- expect(cop.offences.size).to eq(1)
128
+ expect(cop.offenses.size).to eq(1)
129
129
  end
130
130
  end
131
131
  end
@@ -5,41 +5,41 @@ require 'spec_helper'
5
5
  describe Rubocop::Cop::Style::ClassMethods do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
- it 'registers an offence for methods using a class name' do
8
+ it 'registers an offense for methods using a class name' do
9
9
  inspect_source(cop,
10
10
  ['class Test',
11
11
  ' def Test.some_method',
12
12
  ' do_something',
13
13
  ' end',
14
14
  'end'])
15
- expect(cop.offences.size).to eq(1)
15
+ expect(cop.offenses.size).to eq(1)
16
16
  end
17
17
 
18
- it 'registers an offence for methods using a module name' do
18
+ it 'registers an offense for methods using a module name' do
19
19
  inspect_source(cop,
20
20
  ['module Test',
21
21
  ' def Test.some_method',
22
22
  ' do_something',
23
23
  ' end',
24
24
  'end'])
25
- expect(cop.offences.size).to eq(1)
25
+ expect(cop.offenses.size).to eq(1)
26
26
  end
27
27
 
28
- it 'does not register an offence for methods using self' do
28
+ it 'does not register an offense for methods using self' do
29
29
  inspect_source(cop,
30
30
  ['module Test',
31
31
  ' def self.some_method',
32
32
  ' do_something',
33
33
  ' end',
34
34
  'end'])
35
- expect(cop.offences).to be_empty
35
+ expect(cop.offenses).to be_empty
36
36
  end
37
37
 
38
- it 'does not register an offence outside class/module bodies' do
38
+ it 'does not register an offense outside class/module bodies' do
39
39
  inspect_source(cop,
40
40
  ['def self.some_method',
41
41
  ' do_something',
42
42
  'end'])
43
- expect(cop.offences).to be_empty
43
+ expect(cop.offenses).to be_empty
44
44
  end
45
45
  end
@@ -5,15 +5,15 @@ require 'spec_helper'
5
5
  describe Rubocop::Cop::Style::ClassVars do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
- it 'registers an offence for class variable declaration' do
8
+ it 'registers an offense for class variable declaration' do
9
9
  inspect_source(cop, ['class TestClass; @@test = 10; end'])
10
- expect(cop.offences.size).to eq(1)
10
+ expect(cop.offenses.size).to eq(1)
11
11
  expect(cop.messages)
12
12
  .to eq(['Replace class var @@test with a class instance var.'])
13
13
  end
14
14
 
15
- it 'does not register an offence for class variable usage' do
15
+ it 'does not register an offense for class variable usage' do
16
16
  inspect_source(cop, ['@@test.test(20)'])
17
- expect(cop.offences).to be_empty
17
+ expect(cop.offenses).to be_empty
18
18
  end
19
19
  end
@@ -16,28 +16,28 @@ describe Rubocop::Cop::Style::CollectionMethods, :config do
16
16
  let(:cop_config) { cop_config }
17
17
 
18
18
  cop_config['PreferredMethods'].each do |method, preferred_method|
19
- it "registers an offence for #{method} with block" do
19
+ it "registers an offense for #{method} with block" do
20
20
  inspect_source(cop, ["[1, 2, 3].#{method} { |e| e + 1 }"])
21
- expect(cop.offences.size).to eq(1)
21
+ expect(cop.offenses.size).to eq(1)
22
22
  expect(cop.messages)
23
23
  .to eq(["Prefer #{preferred_method} over #{method}."])
24
24
  end
25
25
 
26
- it "registers an offence for #{method} with proc param" do
26
+ it "registers an offense for #{method} with proc param" do
27
27
  inspect_source(cop, ["[1, 2, 3].#{method}(&:test)"])
28
- expect(cop.offences.size).to eq(1)
28
+ expect(cop.offenses.size).to eq(1)
29
29
  expect(cop.messages)
30
30
  .to eq(["Prefer #{preferred_method} over #{method}."])
31
31
  end
32
32
 
33
33
  it "accepts #{method} with more than 1 param" do
34
34
  inspect_source(cop, ["[1, 2, 3].#{method}(other, &:test)"])
35
- expect(cop.offences).to be_empty
35
+ expect(cop.offenses).to be_empty
36
36
  end
37
37
 
38
38
  it "accepts #{method} without a block" do
39
39
  inspect_source(cop, ["[1, 2, 3].#{method}"])
40
- expect(cop.offences).to be_empty
40
+ expect(cop.offenses).to be_empty
41
41
  end
42
42
 
43
43
  it 'auto-corrects to preferred method' do
@@ -5,52 +5,52 @@ require 'spec_helper'
5
5
  describe Rubocop::Cop::Style::ColonMethodCall do
6
6
  subject(:cop) { described_class.new }
7
7
 
8
- it 'registers an offence for instance method call' do
8
+ it 'registers an offense for instance method call' do
9
9
  inspect_source(cop,
10
10
  ['test::method_name'])
11
- expect(cop.offences.size).to eq(1)
11
+ expect(cop.offenses.size).to eq(1)
12
12
  end
13
13
 
14
- it 'registers an offence for instance method call with arg' do
14
+ it 'registers an offense for instance method call with arg' do
15
15
  inspect_source(cop,
16
16
  ['test::method_name(arg)'])
17
- expect(cop.offences.size).to eq(1)
17
+ expect(cop.offenses.size).to eq(1)
18
18
  end
19
19
 
20
- it 'registers an offence for class method call' do
20
+ it 'registers an offense for class method call' do
21
21
  inspect_source(cop,
22
22
  ['Class::method_name'])
23
- expect(cop.offences.size).to eq(1)
23
+ expect(cop.offenses.size).to eq(1)
24
24
  end
25
25
 
26
- it 'registers an offence for class method call with arg' do
26
+ it 'registers an offense for class method call with arg' do
27
27
  inspect_source(cop,
28
28
  ['Class::method_name(arg, arg2)'])
29
- expect(cop.offences.size).to eq(1)
29
+ expect(cop.offenses.size).to eq(1)
30
30
  end
31
31
 
32
- it 'does not register an offence for constant access' do
32
+ it 'does not register an offense for constant access' do
33
33
  inspect_source(cop,
34
34
  ['Tip::Top::SOME_CONST'])
35
- expect(cop.offences).to be_empty
35
+ expect(cop.offenses).to be_empty
36
36
  end
37
37
 
38
- it 'does not register an offence for nested class' do
38
+ it 'does not register an offense for nested class' do
39
39
  inspect_source(cop,
40
40
  ['Tip::Top.some_method'])
41
- expect(cop.offences).to be_empty
41
+ expect(cop.offenses).to be_empty
42
42
  end
43
43
 
44
- it 'does not register an offence for op methods' do
44
+ it 'does not register an offense for op methods' do
45
45
  inspect_source(cop,
46
46
  ['Tip::Top.some_method[3]'])
47
- expect(cop.offences).to be_empty
47
+ expect(cop.offenses).to be_empty
48
48
  end
49
49
 
50
- it 'does not register an offence when for constructor methods' do
50
+ it 'does not register an offense when for constructor methods' do
51
51
  inspect_source(cop,
52
52
  ['Tip::Top(some_arg)'])
53
- expect(cop.offences).to be_empty
53
+ expect(cop.offenses).to be_empty
54
54
  end
55
55
 
56
56
  it 'auto-corrects "::" with "."' do
@@ -8,17 +8,17 @@ describe Rubocop::Cop::Style::CommentAnnotation, :config do
8
8
  { 'Keywords' => %w(TODO FIXME OPTIMIZE HACK REVIEW) }
9
9
  end
10
10
 
11
- it 'registers an offence for a missing colon' do
11
+ it 'registers an offense for a missing colon' do
12
12
  inspect_source(cop, ['# TODO make better'])
13
- expect(cop.offences.size).to eq(1)
13
+ expect(cop.offenses.size).to eq(1)
14
14
  end
15
15
 
16
16
  context 'with configured keyword' do
17
17
  let(:cop_config) { { 'Keywords' => %w(ISSUE) } }
18
18
 
19
- it 'registers an offence for a missing colon after the word' do
19
+ it 'registers an offense for a missing colon after the word' do
20
20
  inspect_source(cop, ['# ISSUE wrong order'])
21
- expect(cop.offences.size).to eq(1)
21
+ expect(cop.offenses.size).to eq(1)
22
22
  end
23
23
  end
24
24
 
@@ -28,7 +28,7 @@ describe Rubocop::Cop::Style::CommentAnnotation, :config do
28
28
 
29
29
  it 'marks the annotation keyword' do
30
30
  inspect_source(cop, ['# TODO:make better'])
31
- formatter.report_file('t', cop.offences)
31
+ formatter.report_file('t', cop.offenses)
32
32
  expect(output.string).to eq(["t:1:3: C: #{described_class::MSG}",
33
33
  '# TODO:make better',
34
34
  ' ^^^^^',
@@ -36,41 +36,41 @@ describe Rubocop::Cop::Style::CommentAnnotation, :config do
36
36
  end
37
37
  end
38
38
 
39
- it 'registers an offence for lower case' do
39
+ it 'registers an offense for lower case' do
40
40
  inspect_source(cop, ['# fixme: does not work'])
41
- expect(cop.offences.size).to eq(1)
41
+ expect(cop.offenses.size).to eq(1)
42
42
  end
43
43
 
44
- it 'registers an offence for capitalized annotation keyword' do
44
+ it 'registers an offense for capitalized annotation keyword' do
45
45
  inspect_source(cop, ['# Optimize: does not work'])
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 upper case with colon but no note' do
49
+ it 'registers an offense for upper case with colon but no note' do
50
50
  inspect_source(cop, ['# HACK:'])
51
- expect(cop.offences.size).to eq(1)
51
+ expect(cop.offenses.size).to eq(1)
52
52
  end
53
53
 
54
54
  it 'accepts upper case keyword with colon, space and note' do
55
55
  inspect_source(cop, ['# REVIEW: not sure about this'])
56
- expect(cop.offences).to be_empty
56
+ expect(cop.offenses).to be_empty
57
57
  end
58
58
 
59
59
  it 'accepts upper case keyword alone' do
60
60
  inspect_source(cop, ['# OPTIMIZE'])
61
- expect(cop.offences).to be_empty
61
+ expect(cop.offenses).to be_empty
62
62
  end
63
63
 
64
64
  it 'accepts a comment that is obviously a code example' do
65
65
  inspect_source(cop, ['# Todo.destroy(1)'])
66
- expect(cop.offences).to be_empty
66
+ expect(cop.offenses).to be_empty
67
67
  end
68
68
 
69
69
  it 'accepts a keyword that is just the beginning of a sentence' do
70
70
  inspect_source(cop,
71
71
  ["# Optimize if you want. I wouldn't recommend it.",
72
72
  '# Hack is a fun game.'])
73
- expect(cop.offences).to be_empty
73
+ expect(cop.offenses).to be_empty
74
74
  end
75
75
 
76
76
  context 'when a keyword is not in the configuration' do
@@ -80,7 +80,7 @@ describe Rubocop::Cop::Style::CommentAnnotation, :config do
80
80
 
81
81
  it 'accepts the word without colon' do
82
82
  inspect_source(cop, ['# TODO make better'])
83
- expect(cop.offences).to be_empty
83
+ expect(cop.offenses).to be_empty
84
84
  end
85
85
  end
86
86
  end