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
@@ -15,25 +15,25 @@ module Rubocop
15
15
  end
16
16
  o
17
17
  end
18
- let(:offences) do
19
- [Rubocop::Cop::Offence.new(:convention, location, 'message', 'Cop1'),
20
- Rubocop::Cop::Offence.new(:convention, location, 'message', 'Cop2')]
18
+ let(:offenses) do
19
+ [Rubocop::Cop::Offense.new(:convention, location, 'message', 'Cop1'),
20
+ Rubocop::Cop::Offense.new(:convention, location, 'message', 'Cop2')]
21
21
  end
22
22
  let(:location) { OpenStruct.new(line: 1, column: 5) }
23
23
  before { $stdout = StringIO.new }
24
24
 
25
25
  describe '#finished' do
26
- it 'displays YAML configuration disabling all cops with offences' do
27
- formatter.file_finished('test.rb', offences)
26
+ it 'displays YAML configuration disabling all cops with offenses' do
27
+ formatter.file_finished('test.rb', offenses)
28
28
  formatter.finished(['test.rb'])
29
29
  expect(output.string).to eq(described_class::HEADING +
30
30
  ['',
31
31
  '',
32
- '# Offence count: 1',
32
+ '# Offense count: 1',
33
33
  'Cop1:',
34
34
  ' Enabled: false',
35
35
  '',
36
- '# Offence count: 1',
36
+ '# Offense count: 1',
37
37
  'Cop2:',
38
38
  ' Enabled: false',
39
39
  ''].join("\n"))
@@ -15,23 +15,23 @@ module Rubocop
15
15
  source_buffer = Parser::Source::Buffer.new('test', 1)
16
16
  source_buffer.source = %w(a b cdefghi).join("\n")
17
17
 
18
- cop.add_offence(nil,
18
+ cop.add_offense(nil,
19
19
  Parser::Source::Range.new(source_buffer, 0, 1),
20
20
  'message 1')
21
- cop.add_offence(nil,
21
+ cop.add_offense(nil,
22
22
  Parser::Source::Range.new(source_buffer, 9, 10),
23
23
  'message 2')
24
24
 
25
- formatter.file_finished('test', cop.offences)
25
+ formatter.file_finished('test', cop.offenses)
26
26
  expect(output.string).to eq ['test:1:1: C: message 1',
27
27
  "test:3:6: C: message 2\n"].join("\n")
28
28
  end
29
29
 
30
- context 'when the offence is automatically corrected' do
30
+ context 'when the offense is automatically corrected' do
31
31
  let(:file) { '/path/to/file' }
32
32
 
33
- let(:offence) do
34
- Cop::Offence.new(:convention, location,
33
+ let(:offense) do
34
+ Cop::Offense.new(:convention, location,
35
35
  'This is a message.', 'CopName', corrected)
36
36
  end
37
37
 
@@ -44,7 +44,7 @@ module Rubocop
44
44
  let(:corrected) { true }
45
45
 
46
46
  it 'prints [Corrected] along with message' do
47
- formatter.file_finished(file, [offence])
47
+ formatter.file_finished(file, [offense])
48
48
  expect(output.string)
49
49
  .to include(': [Corrected] This is a message.')
50
50
  end
@@ -15,15 +15,15 @@ module Rubocop
15
15
  source_buffer = Parser::Source::Buffer.new('test', 1)
16
16
  source_buffer.source = %w(a b cdefghi).join("\n")
17
17
 
18
- cop.add_offence(nil,
18
+ cop.add_offense(nil,
19
19
  Parser::Source::Range.new(source_buffer, 0, 1),
20
20
  'message 1')
21
- cop.add_offence(nil,
21
+ cop.add_offense(nil,
22
22
  Parser::Source::Range.new(source_buffer, 9, 10),
23
23
  'message 2')
24
24
 
25
- formatter.file_finished('test', cop.offences)
26
- formatter.file_finished('test_2', cop.offences)
25
+ formatter.file_finished('test', cop.offenses)
26
+ formatter.file_finished('test_2', cop.offenses)
27
27
  expect(output.string).to eq ['test',
28
28
  "test_2\n"].join("\n")
29
29
  end
@@ -0,0 +1,129 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+ require 'stringio'
5
+
6
+ module Rubocop
7
+ describe Formatter::FuubarStyleFormatter do
8
+ subject(:formatter) { described_class.new(output) }
9
+ let(:output) { StringIO.new }
10
+
11
+ let(:files) do
12
+ %w(lib/rubocop.rb spec/spec_helper.rb).map do |path|
13
+ File.expand_path(path)
14
+ end
15
+ end
16
+
17
+ describe '#with_color' do
18
+ around do |example|
19
+ original_state = formatter.rainbow.enabled
20
+
21
+ begin
22
+ example.run
23
+ ensure
24
+ formatter.rainbow.enabled = original_state
25
+ end
26
+ end
27
+
28
+ context 'when color is enabled' do
29
+ before do
30
+ formatter.rainbow.enabled = true
31
+ end
32
+
33
+ it 'outputs coloring sequence code at the beginning and the end' do
34
+ formatter.with_color { formatter.output.write 'foo' }
35
+ expect(output.string).to eq("\e[32mfoo\e[0m")
36
+ end
37
+ end
38
+
39
+ context 'when color is enabled' do
40
+ before do
41
+ formatter.rainbow.enabled = false
42
+ end
43
+
44
+ it 'outputs nothing' do
45
+ formatter.with_color { formatter.output.write 'foo' }
46
+ expect(output.string).to eq('foo')
47
+ end
48
+ end
49
+ end
50
+
51
+ describe '#progressbar_color' do
52
+ before do
53
+ formatter.started(files)
54
+ end
55
+
56
+ def offense(severity, corrected = false)
57
+ source_range = double('source_range').as_null_object
58
+ Cop::Offense.new(severity, source_range, 'message', 'Cop', corrected)
59
+ end
60
+
61
+ context 'initially' do
62
+ it 'is green' do
63
+ expect(formatter.progressbar_color).to eq(:green)
64
+ end
65
+ end
66
+
67
+ context 'when no offenses are detected in a file' do
68
+ before do
69
+ formatter.file_finished(files[0], [])
70
+ end
71
+
72
+ it 'is still green' do
73
+ expect(formatter.progressbar_color).to eq(:green)
74
+ end
75
+ end
76
+
77
+ context 'when a convention offense is detected in a file' do
78
+ before do
79
+ formatter.file_finished(files[0], [offense(:convention)])
80
+ end
81
+
82
+ it 'is yellow' do
83
+ expect(formatter.progressbar_color).to eq(:yellow)
84
+ end
85
+ end
86
+
87
+ context 'when an error offense is detected in a file' do
88
+ before do
89
+ formatter.file_finished(files[0], [offense(:error)])
90
+ end
91
+
92
+ it 'is red' do
93
+ expect(formatter.progressbar_color).to eq(:red)
94
+ end
95
+
96
+ context 'and then a convention offense is detected in the next file' do
97
+ before do
98
+ formatter.file_finished(files[1], [offense(:convention)])
99
+ end
100
+
101
+ it 'is still red' do
102
+ expect(formatter.progressbar_color).to eq(:red)
103
+ end
104
+ end
105
+ end
106
+
107
+ context 'when convention and error offenses are detected in a file' do
108
+ before do
109
+ offenses = [offense(:convention), offense(:error)]
110
+ formatter.file_finished(files[0], offenses)
111
+ end
112
+
113
+ it 'is red' do
114
+ expect(formatter.progressbar_color).to eq(:red)
115
+ end
116
+ end
117
+
118
+ context 'when a offense is detected in a file and auto-corrected' do
119
+ before do
120
+ formatter.file_finished(files[0], [offense(:convention, true)])
121
+ end
122
+
123
+ it 'is green' do
124
+ expect(formatter.progressbar_color).to eq(:green)
125
+ end
126
+ end
127
+ end
128
+ end
129
+ end
@@ -13,8 +13,8 @@ module Rubocop
13
13
  source_buffer.source = %w(a b cdefghi).join("\n")
14
14
  Parser::Source::Range.new(source_buffer, 9, 10)
15
15
  end
16
- let(:offence) do
17
- Cop::Offence.new(:convention, location,
16
+ let(:offense) do
17
+ Cop::Offense.new(:convention, location,
18
18
  'This is message', 'CopName', true)
19
19
  end
20
20
 
@@ -38,15 +38,15 @@ module Rubocop
38
38
 
39
39
  let(:summary) { formatter.output_hash[:summary] }
40
40
 
41
- it 'adds detected offence count in summary' do
42
- expect(summary[:offence_count]).to eq(0)
41
+ it 'adds detected offense count in summary' do
42
+ expect(summary[:offense_count]).to eq(0)
43
43
 
44
44
  formatter.file_started(files[0], {})
45
- expect(summary[:offence_count]).to eq(0)
45
+ expect(summary[:offense_count]).to eq(0)
46
46
  formatter.file_finished(files[0], [
47
- double('offence1'), double('offence2')
47
+ double('offense1'), double('offense2')
48
48
  ])
49
- expect(summary[:offence_count]).to eq(2)
49
+ expect(summary[:offense_count]).to eq(2)
50
50
  end
51
51
 
52
52
  it 'adds value of #hash_for_file to #output_hash[:files]' do
@@ -82,9 +82,9 @@ module Rubocop
82
82
  end
83
83
 
84
84
  describe '#hash_for_file' do
85
- subject(:hash) { formatter.hash_for_file(file, offences) }
85
+ subject(:hash) { formatter.hash_for_file(file, offenses) }
86
86
  let(:file) { File.expand_path('spec/spec_helper.rb') }
87
- let(:offences) { [double('offence1'), double('offence2')] }
87
+ let(:offenses) { [double('offense1'), double('offense2')] }
88
88
 
89
89
  it 'sets relative file path for :path key' do
90
90
  expect(hash[:path]).to eq('spec/spec_helper.rb')
@@ -92,32 +92,32 @@ module Rubocop
92
92
 
93
93
  before do
94
94
  count = 0
95
- allow(formatter).to receive(:hash_for_offence) do
95
+ allow(formatter).to receive(:hash_for_offense) do
96
96
  count += 1
97
97
  end
98
98
  end
99
99
 
100
- it 'sets an array of #hash_for_offence values for :offences key' do
101
- expect(hash[:offences]).to eq([1, 2])
100
+ it 'sets an array of #hash_for_offense values for :offenses key' do
101
+ expect(hash[:offenses]).to eq([1, 2])
102
102
  end
103
103
  end
104
104
 
105
- describe '#hash_for_offence' do
106
- subject(:hash) { formatter.hash_for_offence(offence) }
105
+ describe '#hash_for_offense' do
106
+ subject(:hash) { formatter.hash_for_offense(offense) }
107
107
 
108
- it 'sets Offence#severity value for :severity key' do
108
+ it 'sets Offense#severity value for :severity key' do
109
109
  expect(hash[:severity]).to eq(:convention)
110
110
  end
111
111
 
112
- it 'sets Offence#message value for :message key' do
112
+ it 'sets Offense#message value for :message key' do
113
113
  expect(hash[:message]).to eq('This is message')
114
114
  end
115
115
 
116
- it 'sets Offence#cop_name value for :cop_name key' do
116
+ it 'sets Offense#cop_name value for :cop_name key' do
117
117
  expect(hash[:cop_name]).to eq('CopName')
118
118
  end
119
119
 
120
- it 'sets Offence#corrected? value for :corrected key' do
120
+ it 'sets Offense#corrected? value for :corrected key' do
121
121
  expect(hash[:corrected]).to be_true
122
122
  end
123
123
 
@@ -134,7 +134,7 @@ module Rubocop
134
134
  end
135
135
 
136
136
  describe '#hash_for_location' do
137
- subject(:hash) { formatter.hash_for_location(offence) }
137
+ subject(:hash) { formatter.hash_for_location(offense) }
138
138
 
139
139
  it 'sets line value for :line key' do
140
140
  expect(hash[:line]).to eq(3)
@@ -143,6 +143,10 @@ module Rubocop
143
143
  it 'sets column value for :column key' do
144
144
  expect(hash[:column]).to eq(6)
145
145
  end
146
+
147
+ it 'sets length value for :length key' do
148
+ expect(hash[:length]).to eq(1)
149
+ end
146
150
  end
147
151
  end
148
152
  end
@@ -0,0 +1,77 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+ require 'stringio'
5
+ require 'tempfile'
6
+
7
+ module Rubocop
8
+ module Formatter
9
+ describe OffenseCountFormatter do
10
+ subject(:formatter) { described_class.new(output) }
11
+ let(:output) { StringIO.new }
12
+
13
+ let(:files) do
14
+ %w(lib/rubocop.rb spec/spec_helper.rb bin/rubocop).map do |path|
15
+ File.expand_path(path)
16
+ end
17
+ end
18
+
19
+ let(:finish) { formatter.file_finished(files.first, offenses) }
20
+
21
+ describe '#file_finished' do
22
+ before { formatter.started(files) }
23
+
24
+ context 'when no offenses are detected' do
25
+ let(:offenses) { [] }
26
+ it 'shouldn\'t add to offense_counts' do
27
+ expect { finish }.to_not change { formatter.offense_counts }
28
+ end
29
+ end
30
+
31
+ context 'when any offenses are detected' do
32
+ let(:offenses) { [double('offense', cop_name: 'OffendedCop')] }
33
+ it 'should increment the count for the cop in offense_counts' do
34
+ expect { finish }.to change { formatter.offense_counts }
35
+ end
36
+ end
37
+ end
38
+
39
+ describe '#report_summary' do
40
+ context 'when an offense is detected' do
41
+ let(:cop_counts) { { 'OffendedCop' => 1 } }
42
+ it 'shows the cop and the offense count' do
43
+ formatter.report_summary(1, cop_counts)
44
+ expect(output.string).to include(
45
+ "\n1 OffendedCop\n--\n1 Total")
46
+ end
47
+ end
48
+ end
49
+
50
+ describe '#finished' do
51
+ context 'when there are many offenses' do
52
+ let(:offenses) do
53
+ %w(CopB CopA CopC CopC).map { |c| double('offense', cop_name: c) }
54
+ end
55
+
56
+ before do
57
+ formatter.started(files)
58
+ finish
59
+ end
60
+
61
+ it 'sorts by offense count first and then by cop name' do
62
+ formatter.finished(files)
63
+ expect(output.string).to eq(['',
64
+ '2 CopC',
65
+ '1 CopA',
66
+ '1 CopB',
67
+ '--',
68
+ '4 Total',
69
+ '',
70
+ ''].join("\n"))
71
+ end
72
+ end
73
+ end
74
+
75
+ end
76
+ end
77
+ end
@@ -23,64 +23,64 @@ module Rubocop
23
23
  shared_examples 'calls #report_file_as_mark' do
24
24
  it 'calls #report_as_with_mark' do
25
25
  expect(formatter).to receive(:report_file_as_mark)
26
- formatter.file_finished(files.first, offences)
26
+ formatter.file_finished(files.first, offenses)
27
27
  end
28
28
  end
29
29
 
30
- context 'when no offences are detected' do
31
- let(:offences) { [] }
30
+ context 'when no offenses are detected' do
31
+ let(:offenses) { [] }
32
32
  include_examples 'calls #report_file_as_mark'
33
33
  end
34
34
 
35
- context 'when any offences are detected' do
36
- let(:offences) { [double('offence').as_null_object] }
35
+ context 'when any offenses are detected' do
36
+ let(:offenses) { [double('offense').as_null_object] }
37
37
  include_examples 'calls #report_file_as_mark'
38
38
  end
39
39
  end
40
40
 
41
41
  describe '#report_file_as_mark' do
42
42
  before do
43
- formatter.report_file_as_mark(files.first, offences)
43
+ formatter.report_file_as_mark(files.first, offenses)
44
44
  end
45
45
 
46
- def offence_with_severity(severity)
46
+ def offense_with_severity(severity)
47
47
  source_buffer = Parser::Source::Buffer.new('test', 1)
48
48
  source_buffer.source = "a\n"
49
- Cop::Offence.new(severity,
49
+ Cop::Offense.new(severity,
50
50
  Parser::Source::Range.new(source_buffer, 0, 1),
51
51
  'message',
52
52
  'CopName')
53
53
  end
54
54
 
55
- context 'when no offences are detected' do
56
- let(:offences) { [] }
55
+ context 'when no offenses are detected' do
56
+ let(:offenses) { [] }
57
57
 
58
58
  it 'prints "."' do
59
59
  expect(output.string).to eq('.')
60
60
  end
61
61
  end
62
62
 
63
- context 'when a refactor severity offence is detected' do
64
- let(:offences) { [offence_with_severity(:refactor)] }
63
+ context 'when a refactor severity offense is detected' do
64
+ let(:offenses) { [offense_with_severity(:refactor)] }
65
65
 
66
66
  it 'prints "R"' do
67
67
  expect(output.string).to eq('R')
68
68
  end
69
69
  end
70
70
 
71
- context 'when a refactor convention offence is detected' do
72
- let(:offences) { [offence_with_severity(:convention)] }
71
+ context 'when a refactor convention offense is detected' do
72
+ let(:offenses) { [offense_with_severity(:convention)] }
73
73
 
74
74
  it 'prints "C"' do
75
75
  expect(output.string).to eq('C')
76
76
  end
77
77
  end
78
78
 
79
- context 'when different severity offences are detected' do
80
- let(:offences) do
79
+ context 'when different severity offenses are detected' do
80
+ let(:offenses) do
81
81
  [
82
- offence_with_severity(:refactor),
83
- offence_with_severity(:error)
82
+ offense_with_severity(:refactor),
83
+ offense_with_severity(:error)
84
84
  ]
85
85
  end
86
86
 
@@ -95,7 +95,7 @@ module Rubocop
95
95
  formatter.started(files)
96
96
  end
97
97
 
98
- context 'when any offences are detected' do
98
+ context 'when any offenses are detected' do
99
99
  before do
100
100
  source_buffer = Parser::Source::Buffer.new('test', 1)
101
101
  source = 9.times.map do |index|
@@ -106,7 +106,7 @@ module Rubocop
106
106
 
107
107
  formatter.file_started(files[0], {})
108
108
  formatter.file_finished(files[0], [
109
- Cop::Offence.new(
109
+ Cop::Offense.new(
110
110
  :convention,
111
111
  Parser::Source::Range.new(source_buffer,
112
112
  line_length + 2,
@@ -122,7 +122,7 @@ module Rubocop
122
122
 
123
123
  formatter.file_started(files[2], {})
124
124
  formatter.file_finished(files[2], [
125
- Cop::Offence.new(
125
+ Cop::Offense.new(
126
126
  :error,
127
127
  Parser::Source::Range.new(source_buffer,
128
128
  4 * line_length + 1,
@@ -130,7 +130,7 @@ module Rubocop
130
130
  'bar',
131
131
  'Cop'
132
132
  ),
133
- Cop::Offence.new(
133
+ Cop::Offense.new(
134
134
  :convention,
135
135
  Parser::Source::Range.new(source_buffer,
136
136
  5 * line_length,
@@ -141,10 +141,10 @@ module Rubocop
141
141
  ])
142
142
  end
143
143
 
144
- it 'reports all detected offences for all failed files' do
144
+ it 'reports all detected offenses for all failed files' do
145
145
  formatter.finished(files)
146
146
  expect(output.string).to include([
147
- 'Offences:',
147
+ 'Offenses:',
148
148
  '',
149
149
  'lib/rubocop.rb:2:3: C: foo',
150
150
  'This is line 2.',
@@ -159,7 +159,7 @@ module Rubocop
159
159
  end
160
160
  end
161
161
 
162
- context 'when no offences are detected' do
162
+ context 'when no offenses are detected' do
163
163
  before do
164
164
  files.each do |file|
165
165
  formatter.file_started(file, {})
@@ -167,9 +167,9 @@ module Rubocop
167
167
  end
168
168
  end
169
169
 
170
- it 'does not report offences' do
170
+ it 'does not report offenses' do
171
171
  formatter.finished(files)
172
- expect(output.string).not_to include('Offences:')
172
+ expect(output.string).not_to include('Offenses:')
173
173
  end
174
174
  end
175
175