rubocop 0.29.1 → 0.30.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 (341) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +73 -1
  3. data/README.md +11 -2
  4. data/config/default.yml +194 -6
  5. data/config/disabled.yml +25 -1
  6. data/config/enabled.yml +74 -12
  7. data/lib/rubocop.rb +19 -2
  8. data/lib/rubocop/config.rb +23 -3
  9. data/lib/rubocop/config_loader.rb +9 -1
  10. data/lib/rubocop/cop/autocorrect_logic.rb +26 -0
  11. data/lib/rubocop/cop/cop.rb +33 -17
  12. data/lib/rubocop/cop/lint/assignment_in_condition.rb +16 -4
  13. data/lib/rubocop/cop/lint/block_alignment.rb +5 -14
  14. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +1 -1
  15. data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +61 -0
  16. data/lib/rubocop/cop/lint/void.rb +11 -3
  17. data/lib/rubocop/cop/mixin/on_normal_if_unless.rb +17 -0
  18. data/lib/rubocop/cop/performance/detect.rb +72 -0
  19. data/lib/rubocop/cop/performance/flat_map.rb +64 -0
  20. data/lib/rubocop/cop/performance/reverse_each.rb +43 -0
  21. data/lib/rubocop/cop/performance/sample.rb +58 -0
  22. data/lib/rubocop/cop/performance/size.rb +64 -0
  23. data/lib/rubocop/cop/rails/date.rb +121 -0
  24. data/lib/rubocop/cop/rails/find_by.rb +52 -0
  25. data/lib/rubocop/cop/rails/find_each.rb +41 -0
  26. data/lib/rubocop/cop/rails/time_zone.rb +93 -0
  27. data/lib/rubocop/cop/style/auto_resource_cleanup.rb +45 -0
  28. data/lib/rubocop/cop/style/block_delimiters.rb +186 -0
  29. data/lib/rubocop/cop/style/closing_parenthesis_indentation.rb +76 -0
  30. data/lib/rubocop/cop/style/command_literal.rb +120 -0
  31. data/lib/rubocop/cop/style/copyright.rb +87 -0
  32. data/lib/rubocop/cop/style/documentation.rb +32 -0
  33. data/lib/rubocop/cop/style/empty_else.rb +85 -16
  34. data/lib/rubocop/cop/style/encoding.rb +14 -2
  35. data/lib/rubocop/cop/style/end_of_line.rb +5 -0
  36. data/lib/rubocop/cop/style/hash_syntax.rb +86 -23
  37. data/lib/rubocop/cop/style/if_unless_modifier.rb +15 -0
  38. data/lib/rubocop/cop/style/indentation_consistency.rb +13 -6
  39. data/lib/rubocop/cop/style/indentation_width.rb +34 -10
  40. data/lib/rubocop/cop/style/lambda.rb +32 -17
  41. data/lib/rubocop/cop/style/line_end_concatenation.rb +4 -0
  42. data/lib/rubocop/cop/style/missing_else.rb +72 -0
  43. data/lib/rubocop/cop/style/regexp_literal.rb +89 -58
  44. data/lib/rubocop/cop/style/space_around_operators.rb +13 -2
  45. data/lib/rubocop/cop/style/space_before_block_braces.rb +3 -3
  46. data/lib/rubocop/cop/style/space_inside_block_braces.rb +9 -5
  47. data/lib/rubocop/cop/style/symbol_literal.rb +36 -0
  48. data/lib/rubocop/cop/style/trailing_blank_lines.rb +7 -0
  49. data/lib/rubocop/cop/style/trailing_comma.rb +21 -7
  50. data/lib/rubocop/cop/style/trivial_accessors.rb +17 -3
  51. data/lib/rubocop/cop/style/unneeded_capital_w.rb +4 -6
  52. data/lib/rubocop/cop/style/while_until_modifier.rb +10 -0
  53. data/lib/rubocop/cop/util.rb +24 -19
  54. data/lib/rubocop/cop/variable_force.rb +14 -0
  55. data/lib/rubocop/cop/variable_force/reference.rb +10 -4
  56. data/lib/rubocop/formatter/html_formatter.rb +10 -4
  57. data/lib/rubocop/formatter/text_util.rb +5 -7
  58. data/lib/rubocop/options.rb +47 -45
  59. data/lib/rubocop/path_util.rb +12 -8
  60. data/lib/rubocop/processed_source.rb +12 -1
  61. data/lib/rubocop/rake_task.rb +2 -2
  62. data/lib/rubocop/version.rb +1 -1
  63. data/relnotes/v0.30.0.md +145 -0
  64. data/rubocop.gemspec +15 -3
  65. metadata +22 -545
  66. data/.gitignore +0 -54
  67. data/.rspec +0 -1
  68. data/.rubocop.yml +0 -11
  69. data/.rubocop_todo.yml +0 -28
  70. data/.travis.yml +0 -22
  71. data/Gemfile +0 -15
  72. data/Rakefile +0 -41
  73. data/lib/rubocop/cop/style/blocks.rb +0 -80
  74. data/lib/rubocop/cop/style/unneeded_percent_x.rb +0 -25
  75. data/logo/rubocop-final-logo.eps +0 -0
  76. data/spec/.rubocop.yml +0 -5
  77. data/spec/fixtures/html_formatter/expected.html +0 -495
  78. data/spec/fixtures/html_formatter/project/app/controllers/application_controller.rb +0 -5
  79. data/spec/fixtures/html_formatter/project/app/controllers/books_controller.rb +0 -74
  80. data/spec/fixtures/html_formatter/project/app/models/book.rb +0 -5
  81. data/spec/isolated_environment_spec.rb +0 -24
  82. data/spec/project_spec.rb +0 -119
  83. data/spec/rubocop/cli_spec.rb +0 -2740
  84. data/spec/rubocop/comment_config_spec.rb +0 -105
  85. data/spec/rubocop/config_loader_spec.rb +0 -377
  86. data/spec/rubocop/config_spec.rb +0 -235
  87. data/spec/rubocop/config_store_spec.rb +0 -53
  88. data/spec/rubocop/cop/commissioner_spec.rb +0 -85
  89. data/spec/rubocop/cop/cop_spec.rb +0 -135
  90. data/spec/rubocop/cop/corrector_spec.rb +0 -59
  91. data/spec/rubocop/cop/force_spec.rb +0 -29
  92. data/spec/rubocop/cop/lint/ambiguous_operator_spec.rb +0 -113
  93. data/spec/rubocop/cop/lint/ambiguous_regexp_literal_spec.rb +0 -35
  94. data/spec/rubocop/cop/lint/assignment_in_condition_spec.rb +0 -130
  95. data/spec/rubocop/cop/lint/block_alignment_spec.rb +0 -533
  96. data/spec/rubocop/cop/lint/condition_position_spec.rb +0 -51
  97. data/spec/rubocop/cop/lint/debugger_spec.rb +0 -73
  98. data/spec/rubocop/cop/lint/def_end_alignment_spec.rb +0 -108
  99. data/spec/rubocop/cop/lint/deprecated_class_methods_spec.rb +0 -38
  100. data/spec/rubocop/cop/lint/duplicate_methods_spec.rb +0 -189
  101. data/spec/rubocop/cop/lint/else_layout_spec.rb +0 -65
  102. data/spec/rubocop/cop/lint/empty_ensure_spec.rb +0 -27
  103. data/spec/rubocop/cop/lint/empty_interpolation_spec.rb +0 -18
  104. data/spec/rubocop/cop/lint/end_alignment_spec.rb +0 -91
  105. data/spec/rubocop/cop/lint/end_in_method_spec.rb +0 -29
  106. data/spec/rubocop/cop/lint/ensure_return_spec.rb +0 -39
  107. data/spec/rubocop/cop/lint/eval_spec.rb +0 -33
  108. data/spec/rubocop/cop/lint/handle_exceptions_spec.rb +0 -30
  109. data/spec/rubocop/cop/lint/invalid_character_literal_spec.rb +0 -33
  110. data/spec/rubocop/cop/lint/literal_in_condition_spec.rb +0 -172
  111. data/spec/rubocop/cop/lint/literal_in_interpolation_spec.rb +0 -31
  112. data/spec/rubocop/cop/lint/loop_spec.rb +0 -27
  113. data/spec/rubocop/cop/lint/parentheses_as_grouped_expression_spec.rb +0 -57
  114. data/spec/rubocop/cop/lint/require_parentheses_spec.rb +0 -82
  115. data/spec/rubocop/cop/lint/rescue_exception_spec.rb +0 -123
  116. data/spec/rubocop/cop/lint/shadowing_outer_local_variable_spec.rb +0 -237
  117. data/spec/rubocop/cop/lint/space_before_first_arg_spec.rb +0 -66
  118. data/spec/rubocop/cop/lint/string_conversion_in_interpolation_spec.rb +0 -51
  119. data/spec/rubocop/cop/lint/syntax_spec.rb +0 -34
  120. data/spec/rubocop/cop/lint/underscore_prefixed_variable_name_spec.rb +0 -179
  121. data/spec/rubocop/cop/lint/unreachable_code_spec.rb +0 -63
  122. data/spec/rubocop/cop/lint/unused_block_argument_spec.rb +0 -231
  123. data/spec/rubocop/cop/lint/unused_method_argument_spec.rb +0 -278
  124. data/spec/rubocop/cop/lint/useless_access_modifier_spec.rb +0 -192
  125. data/spec/rubocop/cop/lint/useless_assignment_spec.rb +0 -1778
  126. data/spec/rubocop/cop/lint/useless_comparison_spec.rb +0 -30
  127. data/spec/rubocop/cop/lint/useless_else_without_rescue_spec.rb +0 -48
  128. data/spec/rubocop/cop/lint/useless_setter_call_spec.rb +0 -211
  129. data/spec/rubocop/cop/lint/void_spec.rb +0 -64
  130. data/spec/rubocop/cop/metrics/abc_size_spec.rb +0 -109
  131. data/spec/rubocop/cop/metrics/block_nesting_spec.rb +0 -156
  132. data/spec/rubocop/cop/metrics/class_length_spec.rb +0 -131
  133. data/spec/rubocop/cop/metrics/cyclomatic_complexity_spec.rb +0 -204
  134. data/spec/rubocop/cop/metrics/line_length_spec.rb +0 -136
  135. data/spec/rubocop/cop/metrics/method_length_spec.rb +0 -147
  136. data/spec/rubocop/cop/metrics/parameter_lists_spec.rb +0 -44
  137. data/spec/rubocop/cop/metrics/perceived_complexity_spec.rb +0 -222
  138. data/spec/rubocop/cop/offense_spec.rb +0 -133
  139. data/spec/rubocop/cop/rails/action_filter_spec.rb +0 -64
  140. data/spec/rubocop/cop/rails/default_scope_spec.rb +0 -37
  141. data/spec/rubocop/cop/rails/delegate_spec.rb +0 -177
  142. data/spec/rubocop/cop/rails/has_and_belongs_to_many_spec.rb +0 -13
  143. data/spec/rubocop/cop/rails/output_spec.rb +0 -37
  144. data/spec/rubocop/cop/rails/read_write_attribute_spec.rb +0 -130
  145. data/spec/rubocop/cop/rails/scope_args_spec.rb +0 -25
  146. data/spec/rubocop/cop/rails/validation_spec.rb +0 -28
  147. data/spec/rubocop/cop/severity_spec.rb +0 -113
  148. data/spec/rubocop/cop/style/access_modifier_indentation_spec.rb +0 -421
  149. data/spec/rubocop/cop/style/accessor_method_name_spec.rb +0 -81
  150. data/spec/rubocop/cop/style/alias_spec.rb +0 -59
  151. data/spec/rubocop/cop/style/align_array_spec.rb +0 -123
  152. data/spec/rubocop/cop/style/align_hash_spec.rb +0 -411
  153. data/spec/rubocop/cop/style/align_parameters_spec.rb +0 -431
  154. data/spec/rubocop/cop/style/and_or_spec.rb +0 -235
  155. data/spec/rubocop/cop/style/array_join_spec.rb +0 -29
  156. data/spec/rubocop/cop/style/ascii_comments_spec.rb +0 -21
  157. data/spec/rubocop/cop/style/ascii_identifiers_spec.rb +0 -36
  158. data/spec/rubocop/cop/style/attr_spec.rb +0 -29
  159. data/spec/rubocop/cop/style/bare_percent_literals_spec.rb +0 -132
  160. data/spec/rubocop/cop/style/begin_block_spec.rb +0 -13
  161. data/spec/rubocop/cop/style/block_comments_spec.rb +0 -45
  162. data/spec/rubocop/cop/style/block_end_newline_spec.rb +0 -61
  163. data/spec/rubocop/cop/style/blocks_spec.rb +0 -121
  164. data/spec/rubocop/cop/style/braces_around_hash_parameters_spec.rb +0 -288
  165. data/spec/rubocop/cop/style/case_equality_spec.rb +0 -13
  166. data/spec/rubocop/cop/style/case_indentation_spec.rb +0 -293
  167. data/spec/rubocop/cop/style/character_literal_spec.rb +0 -37
  168. data/spec/rubocop/cop/style/class_and_module_camel_case_spec.rb +0 -40
  169. data/spec/rubocop/cop/style/class_and_module_children_spec.rb +0 -133
  170. data/spec/rubocop/cop/style/class_check_spec.rb +0 -41
  171. data/spec/rubocop/cop/style/class_methods_spec.rb +0 -80
  172. data/spec/rubocop/cop/style/class_vars_spec.rb +0 -19
  173. data/spec/rubocop/cop/style/collection_methods_spec.rb +0 -48
  174. data/spec/rubocop/cop/style/colon_method_call_spec.rb +0 -65
  175. data/spec/rubocop/cop/style/comment_annotation_spec.rb +0 -86
  176. data/spec/rubocop/cop/style/comment_indentation_spec.rb +0 -179
  177. data/spec/rubocop/cop/style/constant_name_spec.rb +0 -65
  178. data/spec/rubocop/cop/style/def_with_parentheses_spec.rb +0 -43
  179. data/spec/rubocop/cop/style/deprecated_hash_methods_spec.rb +0 -45
  180. data/spec/rubocop/cop/style/documentation_spec.rb +0 -146
  181. data/spec/rubocop/cop/style/dot_position_spec.rb +0 -132
  182. data/spec/rubocop/cop/style/double_negation_spec.rb +0 -22
  183. data/spec/rubocop/cop/style/each_with_object_spec.rb +0 -73
  184. data/spec/rubocop/cop/style/else_alignment_spec.rb +0 -506
  185. data/spec/rubocop/cop/style/empty_else_spec.rb +0 -100
  186. data/spec/rubocop/cop/style/empty_line_between_defs_spec.rb +0 -135
  187. data/spec/rubocop/cop/style/empty_lines_around_access_modifier_spec.rb +0 -178
  188. data/spec/rubocop/cop/style/empty_lines_around_block_body_spec.rb +0 -103
  189. data/spec/rubocop/cop/style/empty_lines_around_class_body_spec.rb +0 -135
  190. data/spec/rubocop/cop/style/empty_lines_around_method_body_spec.rb +0 -90
  191. data/spec/rubocop/cop/style/empty_lines_around_module_body_spec.rb +0 -79
  192. data/spec/rubocop/cop/style/empty_lines_spec.rb +0 -51
  193. data/spec/rubocop/cop/style/empty_literal_spec.rb +0 -117
  194. data/spec/rubocop/cop/style/encoding_spec.rb +0 -139
  195. data/spec/rubocop/cop/style/end_block_spec.rb +0 -13
  196. data/spec/rubocop/cop/style/end_of_line_spec.rb +0 -65
  197. data/spec/rubocop/cop/style/even_odd_spec.rb +0 -164
  198. data/spec/rubocop/cop/style/extra_spacing_spec.rb +0 -68
  199. data/spec/rubocop/cop/style/file_name_spec.rb +0 -84
  200. data/spec/rubocop/cop/style/first_parameter_indentation_spec.rb +0 -304
  201. data/spec/rubocop/cop/style/flip_flop_spec.rb +0 -23
  202. data/spec/rubocop/cop/style/for_spec.rb +0 -105
  203. data/spec/rubocop/cop/style/format_string_spec.rb +0 -184
  204. data/spec/rubocop/cop/style/global_vars_spec.rb +0 -34
  205. data/spec/rubocop/cop/style/guard_clause_spec.rb +0 -172
  206. data/spec/rubocop/cop/style/hash_syntax_spec.rb +0 -137
  207. data/spec/rubocop/cop/style/if_unless_modifier_spec.rb +0 -146
  208. data/spec/rubocop/cop/style/if_with_semicolon_spec.rb +0 -24
  209. data/spec/rubocop/cop/style/indent_array_spec.rb +0 -173
  210. data/spec/rubocop/cop/style/indent_hash_spec.rb +0 -367
  211. data/spec/rubocop/cop/style/indentation_consistency_spec.rb +0 -509
  212. data/spec/rubocop/cop/style/indentation_width_spec.rb +0 -885
  213. data/spec/rubocop/cop/style/infinite_loop_spec.rb +0 -48
  214. data/spec/rubocop/cop/style/inline_comment_spec.rb +0 -13
  215. data/spec/rubocop/cop/style/lambda_call_spec.rb +0 -65
  216. data/spec/rubocop/cop/style/lambda_spec.rb +0 -76
  217. data/spec/rubocop/cop/style/leading_comment_space_spec.rb +0 -64
  218. data/spec/rubocop/cop/style/line_end_concatenation_spec.rb +0 -184
  219. data/spec/rubocop/cop/style/method_call_parentheses_spec.rb +0 -59
  220. data/spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb +0 -60
  221. data/spec/rubocop/cop/style/method_def_parentheses_spec.rb +0 -108
  222. data/spec/rubocop/cop/style/method_name_spec.rb +0 -125
  223. data/spec/rubocop/cop/style/module_function_spec.rb +0 -24
  224. data/spec/rubocop/cop/style/multiline_block_chain_spec.rb +0 -78
  225. data/spec/rubocop/cop/style/multiline_block_layout_spec.rb +0 -199
  226. data/spec/rubocop/cop/style/multiline_if_then_spec.rb +0 -134
  227. data/spec/rubocop/cop/style/multiline_operation_indentation_spec.rb +0 -464
  228. data/spec/rubocop/cop/style/multiline_ternary_operator_spec.rb +0 -18
  229. data/spec/rubocop/cop/style/negated_if_spec.rb +0 -102
  230. data/spec/rubocop/cop/style/negated_while_spec.rb +0 -64
  231. data/spec/rubocop/cop/style/nested_ternary_operator_spec.rb +0 -21
  232. data/spec/rubocop/cop/style/next_spec.rb +0 -301
  233. data/spec/rubocop/cop/style/nil_comparison_spec.rb +0 -29
  234. data/spec/rubocop/cop/style/non_nil_check_spec.rb +0 -132
  235. data/spec/rubocop/cop/style/not_spec.rb +0 -28
  236. data/spec/rubocop/cop/style/numeric_literals_spec.rb +0 -80
  237. data/spec/rubocop/cop/style/one_line_conditional_spec.rb +0 -13
  238. data/spec/rubocop/cop/style/op_method_spec.rb +0 -85
  239. data/spec/rubocop/cop/style/parentheses_around_condition_spec.rb +0 -161
  240. data/spec/rubocop/cop/style/percent_literal_delimiters_spec.rb +0 -316
  241. data/spec/rubocop/cop/style/percent_q_literals_spec.rb +0 -122
  242. data/spec/rubocop/cop/style/perl_backrefs_spec.rb +0 -22
  243. data/spec/rubocop/cop/style/predicate_name_spec.rb +0 -57
  244. data/spec/rubocop/cop/style/proc_spec.rb +0 -27
  245. data/spec/rubocop/cop/style/raise_args_spec.rb +0 -87
  246. data/spec/rubocop/cop/style/redundant_begin_spec.rb +0 -121
  247. data/spec/rubocop/cop/style/redundant_exception_spec.rb +0 -59
  248. data/spec/rubocop/cop/style/redundant_return_spec.rb +0 -171
  249. data/spec/rubocop/cop/style/redundant_self_spec.rb +0 -186
  250. data/spec/rubocop/cop/style/regexp_literal_spec.rb +0 -188
  251. data/spec/rubocop/cop/style/rescue_modifier_spec.rb +0 -116
  252. data/spec/rubocop/cop/style/self_assignment_spec.rb +0 -49
  253. data/spec/rubocop/cop/style/semicolon_spec.rb +0 -114
  254. data/spec/rubocop/cop/style/signal_exception_spec.rb +0 -289
  255. data/spec/rubocop/cop/style/single_line_block_params_spec.rb +0 -82
  256. data/spec/rubocop/cop/style/single_line_methods_spec.rb +0 -94
  257. data/spec/rubocop/cop/style/single_space_before_first_arg_spec.rb +0 -63
  258. data/spec/rubocop/cop/style/space_after_colon_spec.rb +0 -55
  259. data/spec/rubocop/cop/style/space_after_comma_spec.rb +0 -30
  260. data/spec/rubocop/cop/style/space_after_control_keyword_spec.rb +0 -84
  261. data/spec/rubocop/cop/style/space_after_method_name_spec.rb +0 -70
  262. data/spec/rubocop/cop/style/space_after_not_spec.rb +0 -22
  263. data/spec/rubocop/cop/style/space_after_semicolon_spec.rb +0 -23
  264. data/spec/rubocop/cop/style/space_around_block_parameters_spec.rb +0 -155
  265. data/spec/rubocop/cop/style/space_around_equals_in_parameter_default_spec.rb +0 -95
  266. data/spec/rubocop/cop/style/space_around_operators_spec.rb +0 -330
  267. data/spec/rubocop/cop/style/space_before_block_braces_spec.rb +0 -73
  268. data/spec/rubocop/cop/style/space_before_comma_spec.rb +0 -42
  269. data/spec/rubocop/cop/style/space_before_comment_spec.rb +0 -34
  270. data/spec/rubocop/cop/style/space_before_modifier_keyword_spec.rb +0 -70
  271. data/spec/rubocop/cop/style/space_before_semicolon_spec.rb +0 -28
  272. data/spec/rubocop/cop/style/space_inside_block_braces_spec.rb +0 -317
  273. data/spec/rubocop/cop/style/space_inside_brackets_spec.rb +0 -83
  274. data/spec/rubocop/cop/style/space_inside_hash_literal_braces_spec.rb +0 -147
  275. data/spec/rubocop/cop/style/space_inside_parens_spec.rb +0 -44
  276. data/spec/rubocop/cop/style/space_inside_range_literal_spec.rb +0 -64
  277. data/spec/rubocop/cop/style/special_global_vars_spec.rb +0 -62
  278. data/spec/rubocop/cop/style/string_literals_in_interpolation_spec.rb +0 -99
  279. data/spec/rubocop/cop/style/string_literals_spec.rb +0 -228
  280. data/spec/rubocop/cop/style/struct_inheritance_spec.rb +0 -44
  281. data/spec/rubocop/cop/style/symbol_array_spec.rb +0 -37
  282. data/spec/rubocop/cop/style/symbol_proc_spec.rb +0 -100
  283. data/spec/rubocop/cop/style/tab_spec.rb +0 -47
  284. data/spec/rubocop/cop/style/trailing_blank_lines_spec.rb +0 -83
  285. data/spec/rubocop/cop/style/trailing_comma_spec.rb +0 -390
  286. data/spec/rubocop/cop/style/trailing_whitespace_spec.rb +0 -31
  287. data/spec/rubocop/cop/style/trivial_accessors_spec.rb +0 -558
  288. data/spec/rubocop/cop/style/unless_else_spec.rb +0 -23
  289. data/spec/rubocop/cop/style/unneeded_capital_w_spec.rb +0 -90
  290. data/spec/rubocop/cop/style/unneeded_percent_q_spec.rb +0 -127
  291. data/spec/rubocop/cop/style/unneeded_percent_x_spec.rb +0 -34
  292. data/spec/rubocop/cop/style/variable_interpolation_spec.rb +0 -76
  293. data/spec/rubocop/cop/style/variable_name_spec.rb +0 -107
  294. data/spec/rubocop/cop/style/when_then_spec.rb +0 -42
  295. data/spec/rubocop/cop/style/while_until_do_spec.rb +0 -55
  296. data/spec/rubocop/cop/style/while_until_modifier_spec.rb +0 -93
  297. data/spec/rubocop/cop/style/word_array_spec.rb +0 -117
  298. data/spec/rubocop/cop/team_spec.rb +0 -190
  299. data/spec/rubocop/cop/util_spec.rb +0 -102
  300. data/spec/rubocop/cop/variable_force/assignment_spec.rb +0 -200
  301. data/spec/rubocop/cop/variable_force/locatable_spec.rb +0 -699
  302. data/spec/rubocop/cop/variable_force/reference_spec.rb +0 -19
  303. data/spec/rubocop/cop/variable_force/scope_spec.rb +0 -319
  304. data/spec/rubocop/cop/variable_force/variable_spec.rb +0 -59
  305. data/spec/rubocop/cop/variable_force/variable_table_spec.rb +0 -276
  306. data/spec/rubocop/cop/variable_force_spec.rb +0 -26
  307. data/spec/rubocop/formatter/base_formatter_spec.rb +0 -191
  308. data/spec/rubocop/formatter/clang_style_formatter_spec.rb +0 -114
  309. data/spec/rubocop/formatter/colorizable_spec.rb +0 -107
  310. data/spec/rubocop/formatter/disabled_config_formatter_spec.rb +0 -50
  311. data/spec/rubocop/formatter/disabled_lines_formatter_spec.rb +0 -67
  312. data/spec/rubocop/formatter/emacs_style_formatter_spec.rb +0 -63
  313. data/spec/rubocop/formatter/file_list_formatter_spec.rb +0 -33
  314. data/spec/rubocop/formatter/formatter_set_spec.rb +0 -141
  315. data/spec/rubocop/formatter/fuubar_style_formatter_spec.rb +0 -129
  316. data/spec/rubocop/formatter/html_formatter_spec.rb +0 -48
  317. data/spec/rubocop/formatter/json_formatter_spec.rb +0 -152
  318. data/spec/rubocop/formatter/offense_count_formatter_spec.rb +0 -75
  319. data/spec/rubocop/formatter/progress_formatter_spec.rb +0 -182
  320. data/spec/rubocop/formatter/simple_text_formatter_spec.rb +0 -135
  321. data/spec/rubocop/formatter/text_util_spec.rb +0 -55
  322. data/spec/rubocop/options_spec.rb +0 -181
  323. data/spec/rubocop/path_util_spec.rb +0 -77
  324. data/spec/rubocop/processed_source_spec.rb +0 -184
  325. data/spec/rubocop/rake_task_spec.rb +0 -122
  326. data/spec/rubocop/runner_spec.rb +0 -99
  327. data/spec/rubocop/string_util_spec.rb +0 -46
  328. data/spec/rubocop/target_finder_spec.rb +0 -245
  329. data/spec/rubocop/token_spec.rb +0 -29
  330. data/spec/spec_helper.rb +0 -39
  331. data/spec/support/cop_helper.rb +0 -75
  332. data/spec/support/cops/class_must_be_a_module_cop.rb +0 -19
  333. data/spec/support/cops/module_must_be_a_class_cop.rb +0 -19
  334. data/spec/support/coverage.rb +0 -15
  335. data/spec/support/custom_matchers.rb +0 -58
  336. data/spec/support/file_helper.rb +0 -23
  337. data/spec/support/jruby_workaround.rb +0 -15
  338. data/spec/support/mri_syntax_checker.rb +0 -73
  339. data/spec/support/shared_contexts.rb +0 -53
  340. data/spec/support/shared_examples.rb +0 -55
  341. data/spec/support/statement_modifier_helper.rb +0 -41
@@ -1,81 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- describe RuboCop::Cop::Style::AccessorMethodName do
6
- subject(:cop) { described_class.new }
7
-
8
- it 'registers an offense for method get_... with no args' do
9
- inspect_source(cop, ['def get_attr',
10
- ' # ...',
11
- 'end'])
12
- expect(cop.offenses.size).to eq(1)
13
- expect(cop.highlights).to eq(['get_attr'])
14
- end
15
-
16
- it 'registers an offense for singleton method get_... with no args' do
17
- inspect_source(cop, ['def self.get_attr',
18
- ' # ...',
19
- 'end'])
20
- expect(cop.offenses.size).to eq(1)
21
- expect(cop.highlights).to eq(['get_attr'])
22
- end
23
-
24
- it 'accepts method get_something with args' do
25
- inspect_source(cop, ['def get_something(arg)',
26
- ' # ...',
27
- 'end'])
28
- expect(cop.offenses).to be_empty
29
- end
30
-
31
- it 'accepts singleton method get_something with args' do
32
- inspect_source(cop, ['def self.get_something(arg)',
33
- ' # ...',
34
- 'end'])
35
- expect(cop.offenses).to be_empty
36
- end
37
-
38
- it 'registers an offense for method set_something with one arg' do
39
- inspect_source(cop, ['def set_attr(arg)',
40
- ' # ...',
41
- 'end'])
42
- expect(cop.offenses.size).to eq(1)
43
- expect(cop.highlights).to eq(['set_attr'])
44
- end
45
-
46
- it 'registers an offense for singleton method set_... with one args' do
47
- inspect_source(cop, ['def self.set_attr(arg)',
48
- ' # ...',
49
- 'end'])
50
- expect(cop.offenses.size).to eq(1)
51
- expect(cop.highlights).to eq(['set_attr'])
52
- end
53
-
54
- it 'accepts method set_something with no args' do
55
- inspect_source(cop, ['def set_something',
56
- ' # ...',
57
- 'end'])
58
- expect(cop.offenses).to be_empty
59
- end
60
-
61
- it 'accepts singleton method set_something with no args' do
62
- inspect_source(cop, ['def self.set_something',
63
- ' # ...',
64
- 'end'])
65
- expect(cop.offenses).to be_empty
66
- end
67
-
68
- it 'accepts method set_something with two args' do
69
- inspect_source(cop, ['def set_something(arg1, arg2)',
70
- ' # ...',
71
- 'end'])
72
- expect(cop.offenses).to be_empty
73
- end
74
-
75
- it 'accepts singleton method set_something with two args' do
76
- inspect_source(cop, ['def self.get_something(arg1, arg2)',
77
- ' # ...',
78
- 'end'])
79
- expect(cop.offenses).to be_empty
80
- end
81
- end
@@ -1,59 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- describe RuboCop::Cop::Style::Alias do
6
- subject(:cop) { described_class.new }
7
-
8
- it 'registers an offense for alias with symbol args' do
9
- inspect_source(cop,
10
- 'alias :ala :bala')
11
- expect(cop.offenses.size).to eq(1)
12
- expect(cop.messages)
13
- .to eq(['Use `alias_method` instead of `alias`.'])
14
- end
15
-
16
- it 'autocorrects alias with symbol args' do
17
- corrected = autocorrect_source(cop, ['alias :ala :bala'])
18
- expect(corrected).to eq 'alias_method :ala, :bala'
19
- end
20
-
21
- it 'registers an offense for alias with bareword args' do
22
- inspect_source(cop,
23
- 'alias ala bala')
24
- expect(cop.offenses.size).to eq(1)
25
- expect(cop.messages)
26
- .to eq(['Use `alias_method` instead of `alias`.'])
27
- end
28
-
29
- it 'autocorrects alias with bareword args' do
30
- corrected = autocorrect_source(cop, ['alias ala bala'])
31
- expect(corrected).to eq 'alias_method :ala, :bala'
32
- end
33
-
34
- it 'does not register an offense for alias_method' do
35
- inspect_source(cop,
36
- 'alias_method :ala, :bala')
37
- expect(cop.offenses).to be_empty
38
- end
39
-
40
- it 'does not register an offense for :alias' do
41
- inspect_source(cop,
42
- '[:alias, :ala, :bala]')
43
- expect(cop.offenses).to be_empty
44
- end
45
-
46
- it 'does not register an offense for alias with gvars' do
47
- inspect_source(cop,
48
- 'alias $ala $bala')
49
- expect(cop.offenses).to be_empty
50
- end
51
-
52
- it 'accepts alias in an instance_exec block' do
53
- inspect_source(cop,
54
- ['cli.instance_exec do',
55
- ' alias :old_trap_interrupt :trap_interrupt',
56
- 'end'])
57
- expect(cop.offenses).to be_empty
58
- end
59
- end
@@ -1,123 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- describe RuboCop::Cop::Style::AlignArray do
6
- subject(:cop) { described_class.new }
7
-
8
- it 'registers an offense for misaligned array elements' do
9
- inspect_source(cop, ['array = [',
10
- ' a,',
11
- ' b,',
12
- ' c,',
13
- ' d',
14
- ']'])
15
- expect(cop.messages).to eq(['Align the elements of an array ' \
16
- 'literal if they span more than ' \
17
- 'one line.'] * 2)
18
- expect(cop.highlights).to eq(%w(b d))
19
- end
20
-
21
- it 'accepts aligned array keys' do
22
- inspect_source(cop, ['array = [',
23
- ' a,',
24
- ' b,',
25
- ' c,',
26
- ' d',
27
- ']'])
28
- expect(cop.offenses).to be_empty
29
- end
30
-
31
- it 'accepts single line array' do
32
- inspect_source(cop, 'array = [ a, b ]')
33
- expect(cop.offenses).to be_empty
34
- end
35
-
36
- it 'accepts several elements per line' do
37
- inspect_source(cop, ['array = [ a, b,',
38
- ' c, d ]'])
39
- expect(cop.offenses).to be_empty
40
- end
41
-
42
- it 'auto-corrects alignment' do
43
- new_source = autocorrect_source(cop, ['array = [',
44
- ' a,',
45
- ' b,',
46
- ' c,',
47
- ' d',
48
- ']'])
49
- expect(new_source).to eq(['array = [',
50
- ' a,',
51
- ' b,',
52
- ' c,',
53
- ' d',
54
- ']'].join("\n"))
55
- end
56
-
57
- it 'auto-corrects array within array with too much indentation' do
58
- original_source = ['[:l1,',
59
- ' [:l2,',
60
- '',
61
- ' [:l3,',
62
- ' [:l4]]]]']
63
- new_source = autocorrect_source(cop, original_source)
64
- expect(new_source).to eq(['[:l1,',
65
- ' [:l2,',
66
- '',
67
- ' [:l3,',
68
- ' [:l4]]]]'].join("\n"))
69
- end
70
-
71
- it 'auto-corrects array within array with too little indentation' do
72
- original_source = ['[:l1,',
73
- '[:l2,',
74
- '',
75
- ' [:l3,',
76
- ' [:l4]]]]']
77
- new_source = autocorrect_source(cop, original_source)
78
- expect(new_source).to eq(['[:l1,',
79
- ' [:l2,',
80
- '',
81
- ' [:l3,',
82
- ' [:l4]]]]'].join("\n"))
83
- end
84
-
85
- it 'auto-corrects only elements that begin a line' do
86
- original_source = ['array = [:bar, {',
87
- ' whiz: 2, bang: 3 }, option: 3]']
88
- new_source = autocorrect_source(cop, original_source)
89
- expect(new_source).to eq(original_source.join("\n"))
90
- end
91
-
92
- it 'does not indent heredoc strings in autocorrect' do
93
- original_source = ['var = [',
94
- " { :type => 'something',",
95
- ' :sql => <<EOF',
96
- 'Select something',
97
- 'from atable',
98
- 'EOF',
99
- ' },',
100
- " { :type => 'something',",
101
- ' :sql => <<EOF',
102
- 'Select something',
103
- 'from atable',
104
- 'EOF',
105
- ' }',
106
- ']']
107
- new_source = autocorrect_source(cop, original_source)
108
- expect(new_source).to eq(['var = [',
109
- " { :type => 'something',",
110
- ' :sql => <<EOF',
111
- 'Select something',
112
- 'from atable',
113
- 'EOF',
114
- ' },',
115
- " { :type => 'something',",
116
- ' :sql => <<EOF',
117
- 'Select something',
118
- 'from atable',
119
- 'EOF',
120
- ' }',
121
- ']'].join("\n"))
122
- end
123
- end
@@ -1,411 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- describe RuboCop::Cop::Style::AlignHash, :config do
6
- subject(:cop) { described_class.new(config) }
7
-
8
- shared_examples 'not on separate lines' do
9
- it 'accepts single line hash' do
10
- inspect_source(cop, 'func(a: 0, bb: 1)')
11
- expect(cop.offenses).to be_empty
12
- end
13
-
14
- it 'accepts several pairs per line' do
15
- inspect_source(cop, ['func(a: 1, bb: 2,',
16
- ' ccc: 3, dddd: 4)'])
17
- expect(cop.offenses).to be_empty
18
- end
19
-
20
- it "does not auto-correct pairs that don't start a line" do
21
- source = ['render :json => {:a => messages,',
22
- ' :b => :json}, :status => 404']
23
- new_source = autocorrect_source(cop, source)
24
- expect(new_source).to eq(source.join("\n"))
25
- end
26
- end
27
-
28
- context 'always inspect last argument hash' do
29
- let(:cop_config) do
30
- {
31
- 'EnforcedLastArgumentHashStyle' => 'always_inspect'
32
- }
33
- end
34
-
35
- it 'registers offense for misaligned keys in implicit hash' do
36
- inspect_source(cop, ['func(a: 0,',
37
- ' b: 1)'])
38
- expect(cop.offenses.size).to eq(1)
39
- end
40
-
41
- it 'registers offense for misaligned keys in explicit hash' do
42
- inspect_source(cop, ['func({a: 0,',
43
- ' b: 1})'])
44
- expect(cop.offenses.size).to eq(1)
45
- end
46
- end
47
-
48
- context 'always ignore last argument hash' do
49
- let(:cop_config) do
50
- {
51
- 'EnforcedLastArgumentHashStyle' => 'always_ignore'
52
- }
53
- end
54
-
55
- it 'accepts misaligned keys in implicit hash' do
56
- inspect_source(cop, ['func(a: 0,',
57
- ' b: 1)'])
58
- expect(cop.offenses).to be_empty
59
- end
60
-
61
- it 'accepts misaligned keys in explicit hash' do
62
- inspect_source(cop, ['func({a: 0,',
63
- ' b: 1})'])
64
- expect(cop.offenses).to be_empty
65
- end
66
- end
67
-
68
- context 'ignore implicit last argument hash' do
69
- let(:cop_config) do
70
- {
71
- 'EnforcedLastArgumentHashStyle' => 'ignore_implicit'
72
- }
73
- end
74
-
75
- it 'accepts misaligned keys in implicit hash' do
76
- inspect_source(cop, ['func(a: 0,',
77
- ' b: 1)'])
78
- expect(cop.offenses).to be_empty
79
- end
80
-
81
- it 'registers offense for misaligned keys in explicit hash' do
82
- inspect_source(cop, ['func({a: 0,',
83
- ' b: 1})'])
84
- expect(cop.offenses.size).to eq(1)
85
- end
86
- end
87
-
88
- context 'ignore explicit last argument hash' do
89
- let(:cop_config) do
90
- {
91
- 'EnforcedLastArgumentHashStyle' => 'ignore_explicit'
92
- }
93
- end
94
-
95
- it 'registers offense for misaligned keys in implicit hash' do
96
- inspect_source(cop, ['func(a: 0,',
97
- ' b: 1)'])
98
- expect(cop.offenses.size).to eq(1)
99
- end
100
-
101
- it 'accepts misaligned keys in explicit hash' do
102
- inspect_source(cop, ['func({a: 0,',
103
- ' b: 1})'])
104
- expect(cop.offenses).to be_empty
105
- end
106
- end
107
-
108
- let(:cop_config) do
109
- {
110
- 'EnforcedHashRocketStyle' => 'key',
111
- 'EnforcedColonStyle' => 'key'
112
- }
113
- end
114
-
115
- context 'with default configuration' do
116
- it 'registers an offense for misaligned hash keys' do
117
- inspect_source(cop, ['hash1 = {',
118
- ' a: 0,',
119
- ' bb: 1',
120
- '}',
121
- 'hash2 = {',
122
- " 'ccc' => 2,",
123
- " 'dddd' => 2",
124
- '}'])
125
- expect(cop.messages).to eq(['Align the elements of a hash ' \
126
- 'literal if they span more than ' \
127
- 'one line.'] * 2)
128
- expect(cop.highlights).to eq(['bb: 1',
129
- "'dddd' => 2"])
130
- end
131
-
132
- it 'registers an offense for misaligned mixed multiline hash keys' do
133
- inspect_source(cop, ['hash = { a: 1, b: 2,',
134
- ' c: 3 }'])
135
- expect(cop.offenses.size).to eq(1)
136
- end
137
-
138
- it 'accepts aligned hash keys' do
139
- inspect_source(cop, ['hash1 = {',
140
- ' a: 0,',
141
- ' bb: 1,',
142
- '}',
143
- 'hash2 = {',
144
- " 'ccc' => 2,",
145
- " 'dddd' => 2",
146
- '}'])
147
- expect(cop.offenses).to be_empty
148
- end
149
-
150
- it 'registers an offense for separator alignment' do
151
- inspect_source(cop, ['hash = {',
152
- " 'a' => 0,",
153
- " 'bbb' => 1",
154
- '}'])
155
- expect(cop.offenses.size).to eq(1)
156
- expect(cop.highlights).to eq(["'bbb' => 1"])
157
- end
158
-
159
- context 'with implicit hash as last argument' do
160
- it 'registers an offense for misaligned hash keys' do
161
- inspect_source(cop, ['func(a: 0,',
162
- ' b: 1)'])
163
- expect(cop.offenses.size).to eq(1)
164
- end
165
-
166
- it 'registers an offense for right alignment of keys' do
167
- inspect_source(cop, ['func(a: 0,',
168
- ' bbb: 1)'])
169
- expect(cop.offenses.size).to eq(1)
170
- end
171
-
172
- it 'accepts aligned hash keys' do
173
- inspect_source(cop, ['func(a: 0,',
174
- ' b: 1)'])
175
- expect(cop.offenses).to be_empty
176
- end
177
-
178
- it 'accepts an empty hash' do
179
- inspect_source(cop, 'h = {}')
180
- expect(cop.offenses).to be_empty
181
- end
182
- end
183
-
184
- it 'auto-corrects alignment' do
185
- new_source = autocorrect_source(cop, ['hash1 = { a: 0,',
186
- ' bb: 1,',
187
- ' ccc: 2 }',
188
- 'hash2 = { :a => 0,',
189
- ' :bb => 1,',
190
- ' :ccc =>2 }'
191
- ])
192
- expect(new_source).to eq(['hash1 = { a: 0,',
193
- ' bb: 1,',
194
- ' ccc: 2 }',
195
- 'hash2 = { :a => 0,',
196
- ' :bb => 1,',
197
- # Separator and value are not corrected
198
- # in 'key' mode.
199
- ' :ccc =>2 }'].join("\n"))
200
- end
201
-
202
- it 'auto-corrects alignment for mixed multiline hash keys' do
203
- new_sources = autocorrect_source(cop, ['hash = { a: 1, b: 2,',
204
- ' c: 3 }'])
205
- expect(new_sources).to eq(['hash = { a: 1, b: 2,',
206
- ' c: 3 }'].join("\n"))
207
- end
208
- end
209
-
210
- include_examples 'not on separate lines'
211
-
212
- context 'with table alignment configuration' do
213
- let(:cop_config) do
214
- {
215
- 'EnforcedHashRocketStyle' => 'table',
216
- 'EnforcedColonStyle' => 'table'
217
- }
218
- end
219
-
220
- include_examples 'not on separate lines'
221
-
222
- it 'accepts aligned hash keys' do
223
- inspect_source(cop, ['hash1 = {',
224
- " 'a' => 0,",
225
- " 'bbb' => 1",
226
- '}',
227
- 'hash2 = {',
228
- ' a: 0,',
229
- ' bbb: 1',
230
- '}'
231
- ])
232
- expect(cop.offenses).to be_empty
233
- end
234
-
235
- it 'accepts an empty hash' do
236
- inspect_source(cop, 'h = {}')
237
- expect(cop.offenses).to be_empty
238
- end
239
-
240
- it 'accepts a multiline array of single line hashes' do
241
- inspect_source(cop, ['def self.scenarios_order',
242
- ' [',
243
- ' { before: %w( l k ) },',
244
- ' { ending: %w( m l ) },',
245
- ' { starting: %w( m n ) },',
246
- ' { after: %w( n o ) }',
247
- ' ]',
248
- ' end'])
249
- expect(cop.offenses).to be_empty
250
- end
251
-
252
- it 'registers an offense for misaligned hash values' do
253
- inspect_source(cop, ['hash1 = {',
254
- " 'a' => 0,",
255
- " 'bbb' => 1",
256
- '}',
257
- 'hash2 = {',
258
- ' a: 0,',
259
- ' bbb:1',
260
- '}'
261
- ])
262
- expect(cop.highlights).to eq(["'a' => 0",
263
- 'bbb:1'])
264
- end
265
-
266
- it 'registers an offense for misaligned hash rockets' do
267
- inspect_source(cop, ['hash = {',
268
- " 'a' => 0,",
269
- " 'bbb' => 1",
270
- '}'])
271
- expect(cop.offenses.size).to eq(1)
272
- end
273
-
274
- it 'auto-corrects alignment' do
275
- new_source = autocorrect_source(cop, ['hash1 = { a: 0,',
276
- ' bb: 1,',
277
- ' ccc: 2 }',
278
- "hash2 = { 'a' => 0,",
279
- " 'bb' => 1,",
280
- " 'ccc' =>2 }"])
281
- expect(new_source).to eq(['hash1 = { a: 0,',
282
- ' bb: 1,',
283
- ' ccc: 2 }',
284
- "hash2 = { 'a' => 0,",
285
- " 'bb' => 1,",
286
- " 'ccc' => 2 }"].join("\n"))
287
- end
288
- end
289
-
290
- context 'with table+separator alignment configuration' do
291
- let(:cop_config) do
292
- {
293
- 'EnforcedHashRocketStyle' => 'table',
294
- 'EnforcedColonStyle' => 'separator'
295
- }
296
- end
297
-
298
- it 'accepts a single method argument entry with colon' do
299
- inspect_source(cop, 'merge(parent: nil)')
300
- expect(cop.offenses).to be_empty
301
- end
302
- end
303
-
304
- context 'with invalid configuration' do
305
- let(:cop_config) do
306
- {
307
- 'EnforcedHashRocketStyle' => 'junk',
308
- 'EnforcedColonStyle' => 'junk'
309
- }
310
- end
311
- it 'fails' do
312
- src = ['hash = {',
313
- ' a: 0,',
314
- ' bb: 1',
315
- '}']
316
- expect { inspect_source(cop, src) }.to raise_error(RuntimeError)
317
- end
318
- end
319
-
320
- context 'with separator alignment configuration' do
321
- let(:cop_config) do
322
- {
323
- 'EnforcedHashRocketStyle' => 'separator',
324
- 'EnforcedColonStyle' => 'separator'
325
- }
326
- end
327
-
328
- it 'accepts aligned hash keys' do
329
- inspect_source(cop, ['hash1 = {',
330
- ' a: 0,',
331
- ' bbb: 1',
332
- '}',
333
- 'hash2 = {',
334
- " 'a' => 0,",
335
- " 'bbb' => 1",
336
- '}'])
337
- expect(cop.offenses).to be_empty
338
- end
339
-
340
- it 'accepts an empty hash' do
341
- inspect_source(cop, 'h = {}')
342
- expect(cop.offenses).to be_empty
343
- end
344
-
345
- it 'registers an offense for misaligned hash values' do
346
- inspect_source(cop, ['hash = {',
347
- " 'a' => 0,",
348
- " 'bbb' => 1",
349
- '}'])
350
- expect(cop.offenses.size).to eq(1)
351
- end
352
-
353
- it 'registers an offense for misaligned hash rockets' do
354
- inspect_source(cop, ['hash = {',
355
- " 'a' => 0,",
356
- " 'bbb' => 1",
357
- '}'])
358
- expect(cop.offenses.size).to eq(1)
359
- end
360
-
361
- include_examples 'not on separate lines'
362
-
363
- it 'auto-corrects alignment' do
364
- new_source = autocorrect_source(cop, ['hash1 = { a: 0,',
365
- ' bb: 1,',
366
- ' ccc: 2 }',
367
- 'hash2 = { a => 0,',
368
- ' bb => 1,',
369
- ' ccc =>2 }'])
370
- expect(new_source).to eq(['hash1 = { a: 0,',
371
- ' bb: 1,',
372
- ' ccc: 2 }',
373
- 'hash2 = { a => 0,',
374
- ' bb => 1,',
375
- ' ccc => 2 }'].join("\n"))
376
- end
377
- end
378
-
379
- context 'with different settings for => and :' do
380
- let(:cop_config) do
381
- {
382
- 'EnforcedHashRocketStyle' => 'key',
383
- 'EnforcedColonStyle' => 'separator'
384
- }
385
- end
386
-
387
- it 'registers offenses for misaligned entries' do
388
- inspect_source(cop, ['hash1 = {',
389
- ' a: 0,',
390
- ' bbb: 1',
391
- '}',
392
- 'hash2 = {',
393
- " 'a' => 0,",
394
- " 'bbb' => 1",
395
- '}'])
396
- expect(cop.highlights).to eq(['bbb: 1', "'bbb' => 1"])
397
- end
398
-
399
- it 'accepts aligned entries' do
400
- inspect_source(cop, ['hash1 = {',
401
- ' a: 0,',
402
- ' bbb: 1',
403
- '}',
404
- 'hash2 = {',
405
- " 'a' => 0,",
406
- " 'bbb' => 1",
407
- '}'])
408
- expect(cop.offenses).to be_empty
409
- end
410
- end
411
- end