rubocop 0.8.3 → 0.9.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 (381) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +0 -4
  3. data/.yardopts +2 -0
  4. data/CHANGELOG.md +70 -1
  5. data/README.md +101 -11
  6. data/config/default.yml +10 -2
  7. data/config/enabled.yml +85 -11
  8. data/lib/rubocop.rb +97 -73
  9. data/lib/rubocop/cli.rb +177 -92
  10. data/lib/rubocop/config.rb +56 -11
  11. data/lib/rubocop/config_store.rb +2 -0
  12. data/lib/rubocop/cop/cop.rb +52 -8
  13. data/lib/rubocop/cop/lint/assignment_in_condition.rb +54 -0
  14. data/lib/rubocop/cop/lint/end_alignment.rb +180 -0
  15. data/lib/rubocop/cop/lint/end_in_method.rb +30 -0
  16. data/lib/rubocop/cop/lint/ensure_return.rb +22 -0
  17. data/lib/rubocop/cop/lint/eval.rb +22 -0
  18. data/lib/rubocop/cop/lint/handle_exceptions.rb +20 -0
  19. data/lib/rubocop/cop/lint/literal_in_condition.rb +63 -0
  20. data/lib/rubocop/cop/lint/loop.rb +29 -0
  21. data/lib/rubocop/cop/lint/rescue_exception.rb +29 -0
  22. data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +33 -0
  23. data/lib/rubocop/cop/lint/unreachable_code.rb +35 -0
  24. data/lib/rubocop/cop/lint/unused_local_variable.rb +32 -0
  25. data/lib/rubocop/cop/lint/void.rb +58 -0
  26. data/lib/rubocop/cop/offence.rb +112 -12
  27. data/lib/rubocop/cop/rails/validation.rb +34 -0
  28. data/lib/rubocop/cop/style/access_control.rb +58 -0
  29. data/lib/rubocop/cop/style/alias.rb +28 -0
  30. data/lib/rubocop/cop/style/align_parameters.rb +39 -0
  31. data/lib/rubocop/cop/style/and_or.rb +45 -0
  32. data/lib/rubocop/cop/style/ascii_comments.rb +21 -0
  33. data/lib/rubocop/cop/style/ascii_identifiers.rb +22 -0
  34. data/lib/rubocop/cop/style/attr.rb +20 -0
  35. data/lib/rubocop/cop/style/avoid_class_vars.rb +20 -0
  36. data/lib/rubocop/cop/style/avoid_for.rb +18 -0
  37. data/lib/rubocop/cop/style/avoid_global_vars.rb +65 -0
  38. data/lib/rubocop/cop/style/avoid_perl_backrefs.rb +21 -0
  39. data/lib/rubocop/cop/style/avoid_perlisms.rb +50 -0
  40. data/lib/rubocop/cop/style/begin_block.rb +18 -0
  41. data/lib/rubocop/cop/style/block_comments.rb +20 -0
  42. data/lib/rubocop/cop/style/block_nesting.rb +47 -0
  43. data/lib/rubocop/cop/style/blocks.rb +27 -0
  44. data/lib/rubocop/cop/style/case_equality.rb +22 -0
  45. data/lib/rubocop/cop/style/case_indentation.rb +28 -0
  46. data/lib/rubocop/cop/style/character_literal.rb +37 -0
  47. data/lib/rubocop/cop/style/class_and_module_camel_case.rb +33 -0
  48. data/lib/rubocop/cop/style/class_methods.rb +22 -0
  49. data/lib/rubocop/cop/style/collection_methods.rb +37 -0
  50. data/lib/rubocop/cop/style/colon_method_call.rb +29 -0
  51. data/lib/rubocop/cop/style/constant_name.rb +31 -0
  52. data/lib/rubocop/cop/style/def_parentheses.rb +70 -0
  53. data/lib/rubocop/cop/style/documentation.rb +58 -0
  54. data/lib/rubocop/cop/style/dot_position.rb +25 -0
  55. data/lib/rubocop/cop/style/empty_line_between_defs.rb +26 -0
  56. data/lib/rubocop/cop/style/empty_lines.rb +40 -0
  57. data/lib/rubocop/cop/style/empty_literal.rb +53 -0
  58. data/lib/rubocop/cop/style/encoding.rb +29 -0
  59. data/lib/rubocop/cop/style/end_block.rb +18 -0
  60. data/lib/rubocop/cop/style/end_of_line.rb +23 -0
  61. data/lib/rubocop/cop/style/favor_join.rb +29 -0
  62. data/lib/rubocop/cop/style/favor_modifier.rb +118 -0
  63. data/lib/rubocop/cop/style/favor_sprintf.rb +28 -0
  64. data/lib/rubocop/cop/style/favor_unless_over_negated_if.rb +54 -0
  65. data/lib/rubocop/cop/style/hash_syntax.rb +47 -0
  66. data/lib/rubocop/cop/style/if_then_else.rb +80 -0
  67. data/lib/rubocop/cop/style/lambda.rb +47 -0
  68. data/lib/rubocop/cop/style/leading_comment_space.rb +25 -0
  69. data/lib/rubocop/cop/style/line_continuation.rb +26 -0
  70. data/lib/rubocop/cop/style/line_length.rb +30 -0
  71. data/lib/rubocop/cop/style/method_and_variable_snake_case.rb +61 -0
  72. data/lib/rubocop/cop/style/method_call_parentheses.rb +22 -0
  73. data/lib/rubocop/cop/style/method_length.rb +57 -0
  74. data/lib/rubocop/cop/style/not.rb +24 -0
  75. data/lib/rubocop/cop/style/numeric_literals.rb +25 -0
  76. data/lib/rubocop/cop/{op_method.rb → style/op_method.rb} +4 -3
  77. data/lib/rubocop/cop/style/parameter_lists.rb +42 -0
  78. data/lib/rubocop/cop/style/parentheses_around_condition.rb +42 -0
  79. data/lib/rubocop/cop/style/proc.rb +30 -0
  80. data/lib/rubocop/cop/style/reduce_arguments.rb +34 -0
  81. data/lib/rubocop/cop/style/regexp_literal.rb +39 -0
  82. data/lib/rubocop/cop/style/rescue_modifier.rb +55 -0
  83. data/lib/rubocop/cop/style/semicolon.rb +51 -0
  84. data/lib/rubocop/cop/style/single_line_methods.rb +48 -0
  85. data/lib/rubocop/cop/style/space_after_comma_etc.rb +69 -0
  86. data/lib/rubocop/cop/style/space_after_control_keyword.rb +32 -0
  87. data/lib/rubocop/cop/style/string_literals.rb +36 -0
  88. data/lib/rubocop/cop/style/surrounding_space.rb +314 -0
  89. data/lib/rubocop/cop/style/symbol_array.rb +31 -0
  90. data/lib/rubocop/cop/style/symbol_name.rb +27 -0
  91. data/lib/rubocop/cop/style/tab.rb +25 -0
  92. data/lib/rubocop/cop/style/ternary_operator.rb +49 -0
  93. data/lib/rubocop/cop/style/trailing_whitespace.rb +24 -0
  94. data/lib/rubocop/cop/style/trivial_accessors.rb +32 -0
  95. data/lib/rubocop/cop/style/unless_else.rb +26 -0
  96. data/lib/rubocop/cop/style/variable_interpolation.rb +32 -0
  97. data/lib/rubocop/cop/style/when_then.rb +25 -0
  98. data/lib/rubocop/cop/style/while_until_do.rb +45 -0
  99. data/lib/rubocop/cop/style/word_array.rb +44 -0
  100. data/lib/rubocop/cop/util.rb +1 -0
  101. data/lib/rubocop/cop/variable_inspector.rb +280 -0
  102. data/lib/rubocop/formatter/base_formatter.rb +119 -0
  103. data/lib/rubocop/formatter/clang_style_formatter.rb +21 -0
  104. data/lib/rubocop/formatter/emacs_style_formatter.rb +17 -0
  105. data/lib/rubocop/formatter/formatter_set.rb +77 -0
  106. data/lib/rubocop/formatter/json_formatter.rb +76 -0
  107. data/lib/rubocop/formatter/progress_formatter.rb +63 -0
  108. data/lib/rubocop/formatter/simple_text_formatter.rb +62 -0
  109. data/lib/rubocop/version.rb +15 -1
  110. data/rubocop.gemspec +1 -2
  111. data/spec/.rubocop.yml +5 -0
  112. data/spec/project_spec.rb +4 -7
  113. data/spec/rubocop/cli_spec.rb +383 -146
  114. data/spec/rubocop/config_spec.rb +61 -0
  115. data/spec/rubocop/config_store_spec.rb +2 -2
  116. data/spec/rubocop/cops/cop_spec.rb +14 -7
  117. data/spec/rubocop/cops/lint/assignment_in_condition_spec.rb +111 -0
  118. data/spec/rubocop/cops/lint/end_alignment_spec.rb +426 -0
  119. data/spec/rubocop/cops/lint/end_in_method_spec.rb +35 -0
  120. data/spec/rubocop/cops/lint/ensure_return_spec.rb +37 -0
  121. data/spec/rubocop/cops/lint/eval_spec.rb +41 -0
  122. data/spec/rubocop/cops/lint/handle_exceptions_spec.rb +36 -0
  123. data/spec/rubocop/cops/lint/literal_in_condition_spec.rb +35 -0
  124. data/spec/rubocop/cops/lint/loop_spec.rb +33 -0
  125. data/spec/rubocop/cops/lint/rescue_exception_spec.rb +127 -0
  126. data/spec/rubocop/cops/lint/shadowing_outer_local_variable_spec.rb +180 -0
  127. data/spec/rubocop/cops/lint/unreachable_code_spec.rb +69 -0
  128. data/spec/rubocop/cops/lint/unused_local_variable_spec.rb +484 -0
  129. data/spec/rubocop/cops/lint/void_spec.rb +63 -0
  130. data/spec/rubocop/cops/offence_spec.rb +107 -10
  131. data/spec/rubocop/cops/rails/validation_spec.rb +27 -0
  132. data/spec/rubocop/cops/style/access_control_spec.rb +142 -0
  133. data/spec/rubocop/cops/style/alias_spec.rb +47 -0
  134. data/spec/rubocop/cops/style/align_parameters_spec.rb +199 -0
  135. data/spec/rubocop/cops/style/and_or_spec.rb +39 -0
  136. data/spec/rubocop/cops/style/ascii_comments_spec.rb +28 -0
  137. data/spec/rubocop/cops/style/ascii_identifiers_spec.rb +28 -0
  138. data/spec/rubocop/cops/style/attr_spec.rb +20 -0
  139. data/spec/rubocop/cops/style/avoid_class_vars_spec.rb +27 -0
  140. data/spec/rubocop/cops/style/avoid_for_spec.rb +37 -0
  141. data/spec/rubocop/cops/style/avoid_global_vars_spec.rb +34 -0
  142. data/spec/rubocop/cops/style/avoid_perl_backrefs_spec.rb +20 -0
  143. data/spec/rubocop/cops/style/avoid_perlisms_spec.rb +47 -0
  144. data/spec/rubocop/cops/style/begin_block_spec.rb +19 -0
  145. data/spec/rubocop/cops/style/block_comments_spec.rb +27 -0
  146. data/spec/rubocop/cops/style/block_nesting_spec.rb +159 -0
  147. data/spec/rubocop/cops/style/blocks_spec.rb +35 -0
  148. data/spec/rubocop/cops/style/case_equality_spec.rb +18 -0
  149. data/spec/rubocop/cops/style/case_indentation_spec.rb +88 -0
  150. data/spec/rubocop/cops/style/character_literal_spec.rb +28 -0
  151. data/spec/rubocop/cops/style/class_and_module_camel_case_spec.rb +46 -0
  152. data/spec/rubocop/cops/style/class_methods_spec.rb +51 -0
  153. data/spec/rubocop/cops/style/collection_methods_spec.rb +46 -0
  154. data/spec/rubocop/cops/style/colon_method_call_spec.rb +55 -0
  155. data/spec/rubocop/cops/style/constant_name_spec.rb +56 -0
  156. data/spec/rubocop/cops/style/def_with_parentheses_spec.rb +40 -0
  157. data/spec/rubocop/cops/style/def_without_parentheses_spec.rb +34 -0
  158. data/spec/rubocop/cops/style/documentation_spec.rb +79 -0
  159. data/spec/rubocop/cops/style/dot_position_spec.rb +30 -0
  160. data/spec/rubocop/cops/style/empty_line_between_defs_spec.rb +85 -0
  161. data/spec/rubocop/cops/style/empty_lines_spec.rb +40 -0
  162. data/spec/rubocop/cops/style/empty_literal_spec.rb +91 -0
  163. data/spec/rubocop/cops/style/encoding_spec.rb +49 -0
  164. data/spec/rubocop/cops/style/end_block_spec.rb +19 -0
  165. data/spec/rubocop/cops/style/end_of_line_spec.rb +25 -0
  166. data/spec/rubocop/cops/style/favor_join_spec.rb +37 -0
  167. data/spec/rubocop/cops/style/favor_modifier_spec.rb +160 -0
  168. data/spec/rubocop/cops/style/favor_sprintf_spec.rb +53 -0
  169. data/spec/rubocop/cops/style/favor_unless_over_negated_if_spec.rb +64 -0
  170. data/spec/rubocop/cops/style/favor_until_over_negated_while_spec.rb +47 -0
  171. data/spec/rubocop/cops/style/hash_syntax_spec.rb +51 -0
  172. data/spec/rubocop/cops/style/if_with_semicolon_spec.rb +25 -0
  173. data/spec/rubocop/cops/style/lambda_spec.rb +45 -0
  174. data/spec/rubocop/cops/style/leading_comment_space_spec.rb +65 -0
  175. data/spec/rubocop/cops/style/line_continuation_spec.rb +26 -0
  176. data/spec/rubocop/cops/style/line_length_spec.rb +25 -0
  177. data/spec/rubocop/cops/style/method_and_variable_snake_case_spec.rb +95 -0
  178. data/spec/rubocop/cops/style/method_call_parentheses_spec.rb +25 -0
  179. data/spec/rubocop/cops/style/method_length_spec.rb +151 -0
  180. data/spec/rubocop/cops/style/multiline_if_then_spec.rb +81 -0
  181. data/spec/rubocop/cops/style/not_spec.rb +28 -0
  182. data/spec/rubocop/cops/style/numeric_literals_spec.rb +51 -0
  183. data/spec/rubocop/cops/style/one_line_conditional_spec.rb +18 -0
  184. data/spec/rubocop/cops/style/op_method_spec.rb +80 -0
  185. data/spec/rubocop/cops/style/parameter_lists_spec.rb +49 -0
  186. data/spec/rubocop/cops/style/parentheses_around_condition_spec.rb +59 -0
  187. data/spec/rubocop/cops/style/proc_spec.rb +28 -0
  188. data/spec/rubocop/cops/style/reduce_arguments_spec.rb +59 -0
  189. data/spec/rubocop/cops/style/regexp_literal_spec.rb +83 -0
  190. data/spec/rubocop/cops/style/rescue_modifier_spec.rb +122 -0
  191. data/spec/rubocop/cops/style/semicolon_spec.rb +95 -0
  192. data/spec/rubocop/cops/style/single_line_methods_spec.rb +54 -0
  193. data/spec/rubocop/cops/style/space_after_colon_spec.rb +29 -0
  194. data/spec/rubocop/cops/style/space_after_comma_spec.rb +31 -0
  195. data/spec/rubocop/cops/style/space_after_control_keyword_spec.rb +69 -0
  196. data/spec/rubocop/cops/style/space_after_semicolon_spec.rb +24 -0
  197. data/spec/rubocop/cops/style/space_around_braces_spec.rb +49 -0
  198. data/spec/rubocop/cops/style/space_around_equals_in_default_parameter_spec.rb +34 -0
  199. data/spec/rubocop/cops/style/space_around_operators_spec.rb +216 -0
  200. data/spec/rubocop/cops/style/space_inside_brackets_spec.rb +51 -0
  201. data/spec/rubocop/cops/style/space_inside_hash_literal_braces_spec.rb +99 -0
  202. data/spec/rubocop/cops/style/space_inside_parens_spec.rb +33 -0
  203. data/spec/rubocop/cops/style/string_literals_spec.rb +62 -0
  204. data/spec/rubocop/cops/style/symbol_array_spec.rb +45 -0
  205. data/spec/rubocop/cops/style/symbol_name_spec.rb +122 -0
  206. data/spec/rubocop/cops/style/tab_spec.rb +23 -0
  207. data/spec/rubocop/cops/style/ternary_operator_spec.rb +42 -0
  208. data/spec/rubocop/cops/style/trailing_whitespace_spec.rb +29 -0
  209. data/spec/rubocop/cops/style/trivial_accessors_spec.rb +338 -0
  210. data/spec/rubocop/cops/style/unless_else_spec.rb +31 -0
  211. data/spec/rubocop/cops/style/variable_interpolation_spec.rb +53 -0
  212. data/spec/rubocop/cops/style/when_then_spec.rb +40 -0
  213. data/spec/rubocop/cops/style/while_until_do_spec.rb +47 -0
  214. data/spec/rubocop/cops/style/word_array_spec.rb +61 -0
  215. data/spec/rubocop/cops/variable_inspector_spec.rb +374 -0
  216. data/spec/rubocop/formatter/base_formatter_spec.rb +190 -0
  217. data/spec/rubocop/formatter/clang_style_formatter_spec.rb +70 -0
  218. data/spec/rubocop/formatter/emacs_style_formatter_spec.rb +32 -0
  219. data/spec/rubocop/formatter/formatter_set_spec.rb +132 -0
  220. data/spec/rubocop/formatter/json_formatter_spec.rb +142 -0
  221. data/spec/rubocop/formatter/progress_formatter_spec.rb +196 -0
  222. data/spec/rubocop/formatter/simple_text_formatter_spec.rb +74 -0
  223. data/spec/spec_helper.rb +23 -8
  224. data/spec/support/mri_syntax_checker.rb +69 -0
  225. data/spec/support/shared_examples.rb +33 -0
  226. metadata +315 -243
  227. data/lib/rubocop/cop/access_control.rb +0 -41
  228. data/lib/rubocop/cop/alias.rb +0 -17
  229. data/lib/rubocop/cop/align_parameters.rb +0 -37
  230. data/lib/rubocop/cop/and_or.rb +0 -36
  231. data/lib/rubocop/cop/ascii_comments.rb +0 -17
  232. data/lib/rubocop/cop/ascii_identifiers.rb +0 -19
  233. data/lib/rubocop/cop/avoid_class_vars.rb +0 -15
  234. data/lib/rubocop/cop/avoid_for.rb +0 -17
  235. data/lib/rubocop/cop/avoid_global_vars.rb +0 -61
  236. data/lib/rubocop/cop/avoid_perl_backrefs.rb +0 -17
  237. data/lib/rubocop/cop/avoid_perlisms.rb +0 -47
  238. data/lib/rubocop/cop/block_comments.rb +0 -17
  239. data/lib/rubocop/cop/block_nesting.rb +0 -35
  240. data/lib/rubocop/cop/blocks.rb +0 -23
  241. data/lib/rubocop/cop/case_indentation.rb +0 -22
  242. data/lib/rubocop/cop/class_and_module_camel_case.rb +0 -29
  243. data/lib/rubocop/cop/class_methods.rb +0 -15
  244. data/lib/rubocop/cop/collection_methods.rb +0 -29
  245. data/lib/rubocop/cop/colon_method_call.rb +0 -20
  246. data/lib/rubocop/cop/constant_name.rb +0 -24
  247. data/lib/rubocop/cop/def_parentheses.rb +0 -62
  248. data/lib/rubocop/cop/empty_line_between_defs.rb +0 -22
  249. data/lib/rubocop/cop/empty_lines.rb +0 -34
  250. data/lib/rubocop/cop/empty_literal.rb +0 -49
  251. data/lib/rubocop/cop/encoding.rb +0 -19
  252. data/lib/rubocop/cop/end_of_line.rb +0 -15
  253. data/lib/rubocop/cop/ensure_return.rb +0 -19
  254. data/lib/rubocop/cop/eval.rb +0 -19
  255. data/lib/rubocop/cop/favor_join.rb +0 -22
  256. data/lib/rubocop/cop/favor_modifier.rb +0 -92
  257. data/lib/rubocop/cop/favor_percent_r.rb +0 -19
  258. data/lib/rubocop/cop/favor_sprintf.rb +0 -21
  259. data/lib/rubocop/cop/favor_unless_over_negated_if.rb +0 -49
  260. data/lib/rubocop/cop/handle_exceptions.rb +0 -17
  261. data/lib/rubocop/cop/hash_syntax.rb +0 -41
  262. data/lib/rubocop/cop/if_then_else.rb +0 -75
  263. data/lib/rubocop/cop/lambda.rb +0 -42
  264. data/lib/rubocop/cop/leading_comment_space.rb +0 -19
  265. data/lib/rubocop/cop/line_continuation.rb +0 -15
  266. data/lib/rubocop/cop/line_length.rb +0 -23
  267. data/lib/rubocop/cop/loop.rb +0 -33
  268. data/lib/rubocop/cop/method_and_variable_snake_case.rb +0 -55
  269. data/lib/rubocop/cop/method_length.rb +0 -52
  270. data/lib/rubocop/cop/not.rb +0 -21
  271. data/lib/rubocop/cop/numeric_literals.rb +0 -21
  272. data/lib/rubocop/cop/parameter_lists.rb +0 -23
  273. data/lib/rubocop/cop/parentheses_around_condition.rb +0 -40
  274. data/lib/rubocop/cop/percent_r.rb +0 -19
  275. data/lib/rubocop/cop/proc.rb +0 -26
  276. data/lib/rubocop/cop/reduce_arguments.rb +0 -29
  277. data/lib/rubocop/cop/rescue_exception.rb +0 -26
  278. data/lib/rubocop/cop/rescue_modifier.rb +0 -15
  279. data/lib/rubocop/cop/semicolon.rb +0 -31
  280. data/lib/rubocop/cop/single_line_methods.rb +0 -44
  281. data/lib/rubocop/cop/space_after_comma_etc.rb +0 -62
  282. data/lib/rubocop/cop/space_after_control_keyword.rb +0 -29
  283. data/lib/rubocop/cop/string_literals.rb +0 -25
  284. data/lib/rubocop/cop/surrounding_space.rb +0 -285
  285. data/lib/rubocop/cop/symbol_array.rb +0 -31
  286. data/lib/rubocop/cop/symbol_name.rb +0 -23
  287. data/lib/rubocop/cop/syntax.rb +0 -49
  288. data/lib/rubocop/cop/tab.rb +0 -15
  289. data/lib/rubocop/cop/ternary_operator.rb +0 -43
  290. data/lib/rubocop/cop/trailing_whitespace.rb +0 -15
  291. data/lib/rubocop/cop/trivial_accessors.rb +0 -26
  292. data/lib/rubocop/cop/unless_else.rb +0 -23
  293. data/lib/rubocop/cop/variable_interpolation.rb +0 -29
  294. data/lib/rubocop/cop/when_then.rb +0 -17
  295. data/lib/rubocop/cop/word_array.rb +0 -37
  296. data/lib/rubocop/report/emacs_style.rb +0 -17
  297. data/lib/rubocop/report/plain_text.rb +0 -18
  298. data/lib/rubocop/report/report.rb +0 -44
  299. data/spec/rubocop/cops/access_control_spec.rb +0 -129
  300. data/spec/rubocop/cops/alias_spec.rb +0 -39
  301. data/spec/rubocop/cops/align_parameters_spec.rb +0 -197
  302. data/spec/rubocop/cops/and_or_spec.rb +0 -37
  303. data/spec/rubocop/cops/ascii_comments_spec.rb +0 -26
  304. data/spec/rubocop/cops/ascii_identifiers_spec.rb +0 -26
  305. data/spec/rubocop/cops/avoid_class_vars_spec.rb +0 -25
  306. data/spec/rubocop/cops/avoid_for_spec.rb +0 -35
  307. data/spec/rubocop/cops/avoid_global_vars_spec.rb +0 -32
  308. data/spec/rubocop/cops/avoid_perl_backrefs_spec.rb +0 -18
  309. data/spec/rubocop/cops/avoid_perlisms_spec.rb +0 -44
  310. data/spec/rubocop/cops/block_comments_spec.rb +0 -25
  311. data/spec/rubocop/cops/block_nesting_spec.rb +0 -148
  312. data/spec/rubocop/cops/blocks_spec.rb +0 -33
  313. data/spec/rubocop/cops/case_indentation_spec.rb +0 -86
  314. data/spec/rubocop/cops/class_and_module_camel_case_spec.rb +0 -44
  315. data/spec/rubocop/cops/class_methods_spec.rb +0 -49
  316. data/spec/rubocop/cops/collection_methods_spec.rb +0 -44
  317. data/spec/rubocop/cops/colon_method_call_spec.rb +0 -53
  318. data/spec/rubocop/cops/constant_name_spec.rb +0 -42
  319. data/spec/rubocop/cops/def_with_parentheses_spec.rb +0 -38
  320. data/spec/rubocop/cops/def_without_parentheses_spec.rb +0 -32
  321. data/spec/rubocop/cops/empty_line_between_defs_spec.rb +0 -83
  322. data/spec/rubocop/cops/empty_lines_spec.rb +0 -38
  323. data/spec/rubocop/cops/empty_literal_spec.rb +0 -90
  324. data/spec/rubocop/cops/encoding_spec.rb +0 -47
  325. data/spec/rubocop/cops/end_of_line_spec.rb +0 -23
  326. data/spec/rubocop/cops/ensure_return_spec.rb +0 -35
  327. data/spec/rubocop/cops/eval_spec.rb +0 -39
  328. data/spec/rubocop/cops/favor_join_spec.rb +0 -35
  329. data/spec/rubocop/cops/favor_modifier_spec.rb +0 -146
  330. data/spec/rubocop/cops/favor_percent_r_spec.rb +0 -29
  331. data/spec/rubocop/cops/favor_sprintf_spec.rb +0 -51
  332. data/spec/rubocop/cops/favor_unless_over_negated_if_spec.rb +0 -62
  333. data/spec/rubocop/cops/favor_until_over_negated_while_spec.rb +0 -45
  334. data/spec/rubocop/cops/handle_exceptions_spec.rb +0 -34
  335. data/spec/rubocop/cops/hash_syntax_spec.rb +0 -49
  336. data/spec/rubocop/cops/if_with_semicolon_spec.rb +0 -23
  337. data/spec/rubocop/cops/lambda_spec.rb +0 -43
  338. data/spec/rubocop/cops/leading_comment_space_spec.rb +0 -54
  339. data/spec/rubocop/cops/line_continuation_spec.rb +0 -24
  340. data/spec/rubocop/cops/line_length_spec.rb +0 -23
  341. data/spec/rubocop/cops/loop_spec.rb +0 -31
  342. data/spec/rubocop/cops/method_and_variable_snake_case_spec.rb +0 -93
  343. data/spec/rubocop/cops/method_length_spec.rb +0 -147
  344. data/spec/rubocop/cops/multiline_if_then_spec.rb +0 -79
  345. data/spec/rubocop/cops/not_spec.rb +0 -26
  346. data/spec/rubocop/cops/numeric_literals_spec.rb +0 -49
  347. data/spec/rubocop/cops/one_line_conditional_spec.rb +0 -16
  348. data/spec/rubocop/cops/op_method_spec.rb +0 -78
  349. data/spec/rubocop/cops/parameter_lists_spec.rb +0 -24
  350. data/spec/rubocop/cops/parentheses_around_condition_spec.rb +0 -61
  351. data/spec/rubocop/cops/percent_r_spec.rb +0 -29
  352. data/spec/rubocop/cops/proc_spec.rb +0 -26
  353. data/spec/rubocop/cops/reduce_arguments_spec.rb +0 -57
  354. data/spec/rubocop/cops/rescue_exception_spec.rb +0 -125
  355. data/spec/rubocop/cops/rescue_modifier_spec.rb +0 -37
  356. data/spec/rubocop/cops/semicolon_spec.rb +0 -88
  357. data/spec/rubocop/cops/single_line_methods_spec.rb +0 -50
  358. data/spec/rubocop/cops/space_after_colon_spec.rb +0 -27
  359. data/spec/rubocop/cops/space_after_comma_spec.rb +0 -29
  360. data/spec/rubocop/cops/space_after_control_keyword_spec.rb +0 -67
  361. data/spec/rubocop/cops/space_after_semicolon_spec.rb +0 -22
  362. data/spec/rubocop/cops/space_around_braces_spec.rb +0 -47
  363. data/spec/rubocop/cops/space_around_equals_in_default_parameter_spec.rb +0 -32
  364. data/spec/rubocop/cops/space_around_operators_spec.rb +0 -209
  365. data/spec/rubocop/cops/space_inside_brackets_spec.rb +0 -49
  366. data/spec/rubocop/cops/space_inside_hash_literal_braces_spec.rb +0 -86
  367. data/spec/rubocop/cops/space_inside_parens_spec.rb +0 -31
  368. data/spec/rubocop/cops/string_literals_spec.rb +0 -58
  369. data/spec/rubocop/cops/symbol_array_spec.rb +0 -41
  370. data/spec/rubocop/cops/symbol_name_spec.rb +0 -119
  371. data/spec/rubocop/cops/syntax_spec.rb +0 -41
  372. data/spec/rubocop/cops/tab_spec.rb +0 -21
  373. data/spec/rubocop/cops/ternary_operator_spec.rb +0 -40
  374. data/spec/rubocop/cops/trailing_whitespace_spec.rb +0 -27
  375. data/spec/rubocop/cops/trivial_accessors_spec.rb +0 -337
  376. data/spec/rubocop/cops/unless_else_spec.rb +0 -29
  377. data/spec/rubocop/cops/variable_interpolation_spec.rb +0 -49
  378. data/spec/rubocop/cops/when_then_spec.rb +0 -38
  379. data/spec/rubocop/cops/word_array_spec.rb +0 -47
  380. data/spec/rubocop/reports/emacs_style_spec.rb +0 -25
  381. data/spec/rubocop/reports/report_spec.rb +0 -29
@@ -1,47 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- module Rubocop
6
- module Cop
7
- describe SpaceAroundBraces do
8
- let(:space) { SpaceAroundBraces.new }
9
-
10
- it 'registers an offence for left brace without spaces' do
11
- inspect_source(space, ['each{ puts }'])
12
- expect(space.offences.map(&:message)).to eq(
13
- ["Surrounding space missing for '{'."])
14
- end
15
-
16
- it 'registers an offence for right brace without inner space' do
17
- inspect_source(space, ['each { puts}'])
18
- expect(space.offences.map(&:message)).to eq(
19
- ["Space missing to the left of '}'."])
20
- end
21
-
22
- it 'accepts an empty hash literal with no space inside' do
23
- inspect_source(space,
24
- ['view_hash.each do |view_key|',
25
- 'end',
26
- '@views = {}',
27
- ''])
28
- expect(space.offences.map(&:message)).to be_empty
29
- end
30
-
31
- it 'accepts string interpolation braces with no space inside' do
32
- inspect_source(space,
33
- ['"A=#{a}"',
34
- ':"#{b}"',
35
- '/#{c}/',
36
- '`#{d}`',
37
- 'sprintf("#{message.gsub(/%/, \'%%\')}", line)'])
38
- expect(space.offences.map(&:message)).to be_empty
39
- end
40
-
41
- it 'accepts braces around a hash literal argument' do
42
- inspect_source(space, ["new({'user' => user_params})"])
43
- expect(space.offences.map(&:message)).to be_empty
44
- end
45
- end
46
- end
47
- end
@@ -1,32 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- module Rubocop
6
- module Cop
7
- describe SpaceAroundEqualsInParameterDefault do
8
- let(:space) { SpaceAroundEqualsInParameterDefault.new }
9
-
10
- it 'registers an offence for default value assignment without space' do
11
- inspect_source(space, ['def f(x, y=0, z=1)', 'end'])
12
- expect(space.offences.map(&:message)).to eq(
13
- ['Surrounding space missing in default value assignment.'] * 2)
14
- end
15
-
16
- it 'registers an offence for assignment of empty string without space' do
17
- inspect_source(space, ['def f(x, y="", z=1)', 'end'])
18
- expect(space.offences.size).to eq(2)
19
- end
20
-
21
- it 'registers an offence for assignment of empty list without space' do
22
- inspect_source(space, ['def f(x, y=[])', 'end'])
23
- expect(space.offences.size).to eq(1)
24
- end
25
-
26
- it 'accepts default value assignment with space' do
27
- inspect_source(space, ['def f(x, y = 0, z = {})', 'end'])
28
- expect(space.offences.map(&:message)).to be_empty
29
- end
30
- end
31
- end
32
- end
@@ -1,209 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- module Rubocop
6
- module Cop
7
- describe SpaceAroundOperators do
8
- let(:space) { SpaceAroundOperators.new }
9
-
10
- it 'registers an offence for assignment without space on both sides' do
11
- inspect_source(space, ['x=0', 'y= 0', 'z =0'])
12
- expect(space.offences.map(&:message)).to eq(
13
- ["Surrounding space missing for operator '='."] * 3)
14
- end
15
-
16
- it 'registers an offence for ternary operator without space' do
17
- inspect_source(space, ['x == 0?1:2'])
18
- expect(space.offences.map(&:message)).to eq(
19
- ["Surrounding space missing for operator '?'.",
20
- "Surrounding space missing for operator ':'."])
21
- end
22
-
23
- it 'registers an offence in presence of modifier if statement' do
24
- check_modifier('if')
25
- end
26
-
27
- it 'registers an offence in presence of modifier unless statement' do
28
- check_modifier('unless')
29
- end
30
-
31
- it 'registers an offence in presence of modifier while statement' do
32
- check_modifier('unless')
33
- end
34
-
35
- it 'registers an offence in presence of modifier until statement' do
36
- check_modifier('unless')
37
- end
38
-
39
- def check_modifier(keyword)
40
- src = ["a=1 #{keyword} condition",
41
- 'c=2']
42
- inspect_source(space, src)
43
- expect(space.offences.map(&:line_number)).to eq([1, 2])
44
- expect(space.offences.map(&:message)).to eq(
45
- ["Surrounding space missing for operator '='."] * 2)
46
- end
47
-
48
- it 'registers an offence for binary operators that could be unary' do
49
- inspect_source(space, ['a-3', 'x&0xff', 'z+0'])
50
- expect(space.offences.map(&:message)).to eq(
51
- ["Surrounding space missing for operator '-'.",
52
- "Surrounding space missing for operator '&'.",
53
- "Surrounding space missing for operator '+'."])
54
- end
55
-
56
- it 'registers an offence for arguments to a method' do
57
- inspect_source(space, ['puts 1+2'])
58
- expect(space.offences.map(&:message)).to eq(
59
- ["Surrounding space missing for operator '+'."])
60
- end
61
-
62
- it 'accepts operator symbols' do
63
- inspect_source(space, ['func(:-)'])
64
- expect(space.offences.map(&:message)).to be_empty
65
- end
66
-
67
- it 'accepts ranges' do
68
- inspect_source(space, ['a, b = (1..2), (1...3)'])
69
- expect(space.offences.map(&:message)).to be_empty
70
- end
71
-
72
- it 'accepts scope operator' do
73
- source = ['@io.class == Zlib::GzipWriter']
74
- inspect_source(space, source)
75
- expect(space.offences.map(&:message)).to be_empty
76
- end
77
-
78
- it 'accepts ::Kernel::raise' do
79
- source = ['::Kernel::raise IllegalBlockError.new']
80
- inspect_source(space, source)
81
- expect(space.offences.map(&:message)).to be_empty
82
- end
83
-
84
- it 'accepts exclamation point negation' do
85
- inspect_source(space, ['x = !a&&!b'])
86
- expect(space.offences.map(&:message)).to eq(
87
- ["Surrounding space missing for operator '&&'."])
88
- end
89
-
90
- it 'accepts exclamation point definition' do
91
- inspect_source(space, [' def !',
92
- ' !__getobj__',
93
- ' end'])
94
- expect(space.offences).to be_empty
95
- expect(space.offences.map(&:message)).to be_empty
96
- end
97
-
98
- it 'accepts a unary' do
99
- inspect_source(space,
100
- [' def bm(label_width = 0, *labels, &blk)',
101
- ' benchmark(CAPTION, label_width, FORMAT,',
102
- ' *labels, &blk)',
103
- ' end',
104
- '',
105
- ' def each &block',
106
- ' end',
107
- '',
108
- ' def each *args',
109
- ' end',
110
- ''])
111
- expect(space.offences.map(&:message)).to be_empty
112
- end
113
-
114
- it 'accepts splat operator' do
115
- inspect_source(space, ['return *list if options'])
116
- expect(space.offences.map(&:message)).to be_empty
117
- end
118
-
119
- it 'accepts def of operator' do
120
- inspect_source(space, ['def +(other); end',
121
- 'def self.===(other); end'])
122
- expect(space.offences.map(&:message)).to be_empty
123
- end
124
-
125
- it 'accepts an operator at the end of a line' do
126
- inspect_source(space,
127
- ["['Favor unless over if for negative ' +",
128
- " 'conditions.'] * 2"])
129
- expect(space.offences.map(&:message)).to eq([])
130
- end
131
-
132
- it 'accepts an assignment with spaces' do
133
- inspect_source(space, ['x = 0'])
134
- expect(space.offences).to be_empty
135
- end
136
-
137
- it 'registers an offence for operators without spaces' do
138
- inspect_source(space,
139
- ['x+= a+b-c*d/e%f^g|h&i||j',
140
- 'y -=k&&l'])
141
- expect(space.offences.map(&:message))
142
- .to eq(["Surrounding space missing for operator '+='.",
143
- "Surrounding space missing for operator '+'.",
144
- "Surrounding space missing for operator '-'.",
145
- "Surrounding space missing for operator '*'.",
146
- "Surrounding space missing for operator '/'.",
147
- "Surrounding space missing for operator '%'.",
148
- "Surrounding space missing for operator '^'.",
149
- "Surrounding space missing for operator '|'.",
150
- "Surrounding space missing for operator '&'.",
151
- "Surrounding space missing for operator '||'.",
152
- "Surrounding space missing for operator '-='.",
153
- "Surrounding space missing for operator '&&'."])
154
- end
155
-
156
- it 'accepts operators with spaces' do
157
- inspect_source(space,
158
- ['x += a + b - c * d / e % f ^ g | h & i || j',
159
- 'y -= k && l'])
160
- expect(space.offences.map(&:message)).to eq([])
161
- end
162
-
163
- it "accepts some operators that are exceptions and don't need spaces" do
164
- inspect_source(space, ['(1..3)',
165
- 'ActionController::Base',
166
- 'each { |s, t| }'])
167
- expect(space.offences.map(&:message)).to eq([])
168
- end
169
-
170
- it 'accepts an assignment followed by newline' do
171
- inspect_source(space, ['x =', '0'])
172
- expect(space.offences).to be_empty
173
- end
174
-
175
- it 'registers an offences for exponent operator with spaces' do
176
- inspect_source(space, ['x = a * b ** 2'])
177
- expect(space.offences.map(&:message)).to eq(
178
- ['Space around operator ** detected.'])
179
- end
180
-
181
- it 'accepts exponent operator without spaces' do
182
- inspect_source(space, ['x = a * b**2'])
183
- expect(space.offences).to be_empty
184
- end
185
-
186
- it 'accepts unary operators without space' do
187
- inspect_source(space, ['[].map(&:size)',
188
- '-3',
189
- 'x = +2'])
190
- expect(space.offences.map(&:message)).to eq([])
191
- end
192
-
193
- it 'accepts argument default values without space' do
194
- # These are handled by SpaceAroundEqualsInParameterDefault,
195
- # so SpaceAroundOperators leaves them alone.
196
- inspect_source(space,
197
- ['def init(name=nil)',
198
- 'end'])
199
- expect(space.offences.map(&:message)).to be_empty
200
- end
201
-
202
- it 'accepts the construct class <<self with no space after <<' do
203
- inspect_source(space, ['class <<self',
204
- 'end'])
205
- expect(space.offences.map(&:message)).to be_empty
206
- end
207
- end
208
- end
209
- end
@@ -1,49 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- module Rubocop
6
- module Cop
7
- describe SpaceInsideBrackets do
8
- let(:space) { SpaceInsideBrackets.new }
9
-
10
- it 'registers an offence for an array literal with spaces inside' do
11
- inspect_source(space, ['a = [1, 2 ]',
12
- 'b = [ 1, 2]'])
13
- expect(space.offences.map(&:message)).to eq(
14
- ['Space inside square brackets detected.',
15
- 'Space inside square brackets detected.'])
16
- end
17
-
18
- it 'accepts space inside strings within square brackets' do
19
- inspect_source(space, ["['Encoding:',",
20
- " ' Enabled: false']"])
21
- expect(space.offences.map(&:message)).to be_empty
22
- end
23
-
24
- it 'accepts space inside square brackets if on its own row' do
25
- inspect_source(space, ['a = [',
26
- ' 1, 2',
27
- ' ]'])
28
- expect(space.offences.map(&:message)).to be_empty
29
- end
30
-
31
- it 'accepts square brackets as method name' do
32
- inspect_source(space, ['def Vector.[](*array)',
33
- 'end'])
34
- expect(space.offences.map(&:message)).to be_empty
35
- end
36
-
37
- it 'accepts square brackets called with method call syntax' do
38
- inspect_source(space, ['subject.[](0)'])
39
- expect(space.offences.map(&:message)).to be_empty
40
- end
41
-
42
- it 'only reports a single space once' do
43
- inspect_source(space, ['[ ]'])
44
- expect(space.offences.map(&:message)).to eq(
45
- ['Space inside square brackets detected.'])
46
- end
47
- end
48
- end
49
- end
@@ -1,86 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- module Rubocop
6
- module Cop
7
- describe SpaceInsideHashLiteralBraces do
8
- let(:sihlb) { SpaceInsideHashLiteralBraces.new }
9
- before do
10
- SpaceInsideHashLiteralBraces.config = {
11
- 'EnforcedStyleIsWithSpaces' => true
12
- }
13
- end
14
-
15
- it 'registers an offence for hashes with no spaces by default' do
16
- inspect_source(sihlb,
17
- ['h = {a: 1, b: :two}',
18
- 'h = {a => 1 }'])
19
- expect(sihlb.offences.map(&:message)).to eq(
20
- ['Space inside hash literal braces missing.'] * 3)
21
- end
22
-
23
- it 'registers an offence for hashes with no spaces if so configured' do
24
- inspect_source(sihlb,
25
- ['h = {a: 1, b: 2}',
26
- 'h = {a => 1 }'])
27
- expect(sihlb.offences.map(&:message)).to eq(
28
- ['Space inside hash literal braces missing.'] * 3)
29
- end
30
-
31
- it 'registers an offence for hashes with spaces if so configured' do
32
- SpaceInsideHashLiteralBraces.config['EnforcedStyleIsWithSpaces'] =
33
- false
34
- inspect_source(sihlb,
35
- ['h = { a: 1, b: 2 }'])
36
- expect(sihlb.offences.map(&:message)).to eq(
37
- ['Space inside hash literal braces detected.'] * 2)
38
- end
39
-
40
- it 'accepts hashes with spaces by default' do
41
- inspect_source(sihlb,
42
- ['h = { a: 1, b: 2 }',
43
- 'h = { a => 1 }'])
44
- expect(sihlb.offences.map(&:message)).to be_empty
45
- end
46
-
47
- it 'accepts hashes with no spaces if so configured' do
48
- SpaceInsideHashLiteralBraces.config['EnforcedStyleIsWithSpaces'] =
49
- false
50
- inspect_source(sihlb,
51
- ['h = {a: 1, b: 2}',
52
- 'h = {a => 1}'])
53
- expect(sihlb.offences.map(&:message)).to be_empty
54
- end
55
-
56
- it 'accepts empty hashes without spaces by default' do
57
- inspect_source(sihlb, ['h = {}'])
58
- expect(sihlb.offences).to be_empty
59
- end
60
-
61
- it 'accepts empty hashes without spaces if configured false' do
62
- SpaceInsideHashLiteralBraces.config['EnforcedStyleIsWithSpaces'] =
63
- false
64
- inspect_source(sihlb, ['h = {}'])
65
- expect(sihlb.offences).to be_empty
66
- end
67
-
68
- it 'accepts empty hashes without spaces even if configured true' do
69
- inspect_source(sihlb, ['h = {}'])
70
- expect(sihlb.offences).to be_empty
71
- end
72
-
73
- it 'accepts hash literals with no braces' do
74
- inspect_source(sihlb, ['x(a: b.c)'])
75
- expect(sihlb.offences).to be_empty
76
- end
77
-
78
- it 'can handle interpolation in a braceless hash literal' do
79
- # A tricky special case where the closing brace of the
80
- # interpolation risks getting confused for a hash literal brace.
81
- inspect_source(sihlb, ['f(get: "#{x}")'])
82
- expect(sihlb.offences).to be_empty
83
- end
84
- end
85
- end
86
- end
@@ -1,31 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- module Rubocop
6
- module Cop
7
- describe SpaceInsideParens do
8
- let(:space) { SpaceInsideParens.new }
9
-
10
- it 'registers an offence for spaces inside parens' do
11
- inspect_source(space, ['f( 3)',
12
- 'g(3 )'])
13
- expect(space.offences.map(&:message)).to eq(
14
- ['Space inside parentheses detected.',
15
- 'Space inside parentheses detected.'])
16
- end
17
-
18
- it 'accepts parentheses in block parameter list' do
19
- inspect_source(space,
20
- ['list.inject(Tms.new) { |sum, (label, item)|',
21
- '}'])
22
- expect(space.offences.map(&:message)).to be_empty
23
- end
24
-
25
- it 'accepts parentheses with no spaces' do
26
- inspect_source(space, ['split("\n")'])
27
- expect(space.offences.map(&:message)).to be_empty
28
- end
29
- end
30
- end
31
- end