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,35 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- module Rubocop
6
- module Cop
7
- describe FavorJoin do
8
- let(:fj) { FavorJoin.new }
9
-
10
- it 'registers an offence for an array followed by string' do
11
- inspect_source(fj,
12
- ['%w(one two three) * ", "'])
13
- expect(fj.offences.size).to eq(1)
14
- expect(fj.offences.map(&:message))
15
- .to eq([FavorJoin::MSG])
16
- end
17
-
18
- it 'does not register an offence for numbers' do
19
- inspect_source(fj,
20
- ['%w(one two three) * 4'])
21
- expect(fj.offences).to be_empty
22
- end
23
-
24
- it 'does not register an offence for ambiguous cases' do
25
- inspect_source(fj,
26
- ['test * ", "'])
27
- expect(fj.offences).to be_empty
28
-
29
- inspect_source(fj,
30
- ['%w(one two three) * test'])
31
- expect(fj.offences).to be_empty
32
- end
33
- end
34
- end
35
- end
@@ -1,146 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- module Rubocop
6
- module Cop
7
- describe FavorModifier do
8
- let(:if_unless) { IfUnlessModifier.new }
9
- let(:while_until) { WhileUntilModifier.new }
10
- before { LineLength.config = { 'Max' => 79 } }
11
-
12
- it 'registers an offence for multiline if that fits on one line' do
13
- # This if statement fits exactly on one line if written as a modifier.
14
- inspect_source(if_unless,
15
- ['if a_condition_that_is_just_short_enough',
16
- ' some_long_metod_name(followed_by_args)',
17
- 'end'])
18
- expect(if_unless.offences.map(&:message)).to eq(
19
- ['Favor modifier if/unless usage when you have a single-line body.' +
20
- ' Another good alternative is the usage of control flow &&/||.'])
21
- end
22
-
23
- it "accepts multiline if that doesn't fit on one line" do
24
- check_too_long(if_unless, 'if')
25
- end
26
-
27
- it 'accepts multiline if whose body is more than one line' do
28
- check_short_multiline(if_unless, 'if')
29
- end
30
-
31
- it 'registers an offence for multiline unless that fits on one line' do
32
- inspect_source(if_unless, ['unless a',
33
- ' b',
34
- 'end'])
35
- expect(if_unless.offences.map(&:message)).to eq(
36
- ['Favor modifier if/unless usage when you have a single-line body.' +
37
- ' Another good alternative is the usage of control flow &&/||.'])
38
- end
39
-
40
- it 'accepts code with EOL comment since user might want to keep it' do
41
- pending
42
- inspect_source(if_unless, ['unless a',
43
- ' b # A comment',
44
- 'end'])
45
- expect(if_unless.offences.map(&:message)).to be_empty
46
- end
47
-
48
- it 'accepts if-else-end' do
49
- inspect_source(if_unless,
50
- ['if args.last.is_a? Hash then args.pop else ' +
51
- 'Hash.new end'])
52
- expect(if_unless.offences.map(&:message)).to be_empty
53
- end
54
-
55
- it "accepts multiline unless that doesn't fit on one line" do
56
- check_too_long(while_until, 'unless')
57
- end
58
-
59
- it 'accepts multiline unless whose body is more than one line' do
60
- check_short_multiline(while_until, 'unless')
61
- end
62
-
63
- it 'registers an offence for multiline while that fits on one line' do
64
- check_really_short(while_until, 'while')
65
- end
66
-
67
- it "accepts multiline while that doesn't fit on one line" do
68
- check_too_long(while_until, 'while')
69
- end
70
-
71
- it 'accepts multiline while whose body is more than one line' do
72
- check_short_multiline(while_until, 'while')
73
- end
74
-
75
- it 'registers an offence for multiline until that fits on one line' do
76
- check_really_short(while_until, 'until')
77
- end
78
-
79
- it "accepts multiline until that doesn't fit on one line" do
80
- check_too_long(while_until, 'until')
81
- end
82
-
83
- it 'accepts multiline until whose body is more than one line' do
84
- check_short_multiline(while_until, 'until')
85
- end
86
-
87
- it 'accepts an empty condition' do
88
- check_empty(if_unless, 'if')
89
- check_empty(if_unless, 'unless')
90
- check_empty(while_until, 'while')
91
- check_empty(while_until, 'until')
92
- end
93
-
94
- it 'accepts if/elsif' do
95
- inspect_source(if_unless, ['if test',
96
- ' something',
97
- 'elsif test2',
98
- ' something_else',
99
- 'end'])
100
- expect(if_unless.offences).to be_empty
101
- end
102
-
103
- it 'accepts modifier while' do
104
- inspect_source(while_until, ['ala while bala'])
105
- expect(while_until.offences).to be_empty
106
- end
107
-
108
- it 'accepts modifier until' do
109
- inspect_source(while_until, ['ala until bala'])
110
- expect(while_until.offences).to be_empty
111
- end
112
-
113
- def check_empty(cop, keyword)
114
- inspect_source(cop, ["#{keyword} cond",
115
- 'end'])
116
- expect(cop.offences).to be_empty
117
- end
118
-
119
- def check_really_short(cop, keyword)
120
- inspect_source(cop, ["#{keyword} a",
121
- ' b',
122
- 'end'])
123
- expect(cop.offences.map(&:message)).to eq(
124
- ['Favor modifier while/until usage when you have a single-line ' +
125
- 'body.'])
126
- end
127
-
128
- def check_too_long(cop, keyword)
129
- inspect_source(cop,
130
- [" #{keyword} a_lengthy_condition_that_goes_on_and_on",
131
- ' some_long_metod_name(followed_by_args)',
132
- ' end'])
133
- expect(cop.offences.map(&:message)).to be_empty
134
- end
135
-
136
- def check_short_multiline(cop, keyword)
137
- inspect_source(cop,
138
- ["#{keyword} ENV['COVERAGE']",
139
- " require 'simplecov'",
140
- ' SimpleCov.start',
141
- 'end'])
142
- expect(cop.offences.map(&:message)).to be_empty
143
- end
144
- end
145
- end
146
- end
@@ -1,29 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- module Rubocop
6
- module Cop
7
- describe FavorPercentR do
8
- let(:fpr) { FavorPercentR.new }
9
-
10
- it 'registers an offence for // with two slashes in regexp' do
11
- inspect_source(fpr, ['x =~ /home\/\//',
12
- 'y =~ /etc\/top\//'])
13
- expect(fpr.offences.map(&:message))
14
- .to eq([FavorPercentR::MSG] * 2)
15
- end
16
-
17
- it 'accepts // with only one slash in regexp' do
18
- inspect_source(fpr, ['x =~ /\/home/',
19
- 'y =~ /\//'])
20
- expect(fpr.offences.map(&:message)).to be_empty
21
- end
22
-
23
- it 'accepts %r delimiters for regexp with two or more slashes' do
24
- inspect_source(fpr, ['x =~ %r(/home/)'])
25
- expect(fpr.offences.map(&:message)).to be_empty
26
- end
27
- end
28
- end
29
- end
@@ -1,51 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- module Rubocop
6
- module Cop
7
- describe FavorSprintf do
8
- let(:fs) { FavorSprintf.new }
9
-
10
- it 'registers an offence for a string followed by something' do
11
- inspect_source(fs,
12
- ['puts "%d" % 10'])
13
- expect(fs.offences.size).to eq(1)
14
- expect(fs.offences.map(&:message))
15
- .to eq([FavorSprintf::MSG])
16
- end
17
-
18
- it 'registers an offence for something followed by an array' do
19
- inspect_source(fs,
20
- ['puts x % [10, 11]'])
21
- expect(fs.offences.size).to eq(1)
22
- expect(fs.offences.map(&:message))
23
- .to eq([FavorSprintf::MSG])
24
- end
25
-
26
- it 'does not register an offence for numbers' do
27
- inspect_source(fs,
28
- ['puts 10 % 4'])
29
- expect(fs.offences).to be_empty
30
- end
31
-
32
- it 'does not register an offence for ambiguous cases' do
33
- inspect_source(fs,
34
- ['puts x % 4'])
35
- expect(fs.offences).to be_empty
36
-
37
- inspect_source(fs,
38
- ['puts x % Y'])
39
- expect(fs.offences).to be_empty
40
- end
41
-
42
- it 'works if the first operand contains embedded expressions' do
43
- inspect_source(fs,
44
- ['puts "#{x * 5} %d #{@test}" % 10'])
45
- expect(fs.offences.size).to eq(1)
46
- expect(fs.offences.map(&:message))
47
- .to eq([FavorSprintf::MSG])
48
- end
49
- end
50
- end
51
- end
@@ -1,62 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- module Rubocop
6
- module Cop
7
- describe FavorUnlessOverNegatedIf do
8
- let(:fav_unless) { FavorUnlessOverNegatedIf.new }
9
-
10
- it 'registers an offence for if with exclamation point condition' do
11
- inspect_source(fav_unless,
12
- ['if !a_condition',
13
- ' some_method',
14
- 'end',
15
- 'some_method if !a_condition',
16
- ])
17
- expect(fav_unless.offences.map(&:message)).to eq(
18
- ['Favor unless (or control flow or) over if for negative ' +
19
- 'conditions.'] * 2)
20
- end
21
-
22
- it 'registers an offence for if with "not" condition' do
23
- inspect_source(fav_unless,
24
- ['if not a_condition',
25
- ' some_method',
26
- 'end',
27
- 'some_method if not a_condition'])
28
- expect(fav_unless.offences.map(&:message)).to eq(
29
- ['Favor unless (or control flow or) over if for negative ' +
30
- 'conditions.'] * 2)
31
- expect(fav_unless.offences.map(&:line_number)).to eq([1, 4])
32
- end
33
-
34
- it 'accepts an if/else with negative condition' do
35
- inspect_source(fav_unless,
36
- ['if !a_condition',
37
- ' some_method',
38
- 'else',
39
- ' something_else',
40
- 'end',
41
- 'if not a_condition',
42
- ' some_method',
43
- 'elsif other_condition',
44
- ' something_else',
45
- 'end'])
46
- expect(fav_unless.offences.map(&:message)).to be_empty
47
- end
48
-
49
- it 'accepts an if where only part of the contition is negated' do
50
- inspect_source(fav_unless,
51
- ['if !a_condition && another_condition',
52
- ' some_method',
53
- 'end',
54
- 'if not a_condition or another_condition',
55
- ' some_method',
56
- 'end',
57
- 'some_method if not a_condition or another_condition'])
58
- expect(fav_unless.offences.map(&:message)).to be_empty
59
- end
60
- end
61
- end
62
- end
@@ -1,45 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- module Rubocop
6
- module Cop
7
- describe FavorUntilOverNegatedWhile do
8
- let(:fav_until) { FavorUntilOverNegatedWhile.new }
9
-
10
- it 'registers an offence for while with exclamation point condition' do
11
- inspect_source(fav_until,
12
- ['while !a_condition',
13
- ' some_method',
14
- 'end',
15
- 'some_method while !a_condition',
16
- ])
17
- expect(fav_until.offences.map(&:message)).to eq(
18
- ['Favor until over while for negative conditions.'] * 2)
19
- end
20
-
21
- it 'registers an offence for while with "not" condition' do
22
- inspect_source(fav_until,
23
- ['while (not a_condition)',
24
- ' some_method',
25
- 'end',
26
- 'some_method while not a_condition'])
27
- expect(fav_until.offences.map(&:message)).to eq(
28
- ['Favor until over while for negative conditions.'] * 2)
29
- expect(fav_until.offences.map(&:line_number)).to eq([1, 4])
30
- end
31
-
32
- it 'accepts an while where only part of the contition is negated' do
33
- inspect_source(fav_until,
34
- ['while !a_condition && another_condition',
35
- ' some_method',
36
- 'end',
37
- 'while not a_condition or another_condition',
38
- ' some_method',
39
- 'end',
40
- 'some_method while not a_condition or other_cond'])
41
- expect(fav_until.offences.map(&:message)).to be_empty
42
- end
43
- end
44
- end
45
- end
@@ -1,34 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- module Rubocop
6
- module Cop
7
- describe HandleExceptions do
8
- let(:he) { HandleExceptions.new }
9
-
10
- it 'registers an offence for empty rescue block' do
11
- inspect_source(he,
12
- ['begin',
13
- ' something',
14
- 'rescue',
15
- ' #do nothing',
16
- 'end'])
17
- expect(he.offences.size).to eq(1)
18
- expect(he.offences.map(&:message))
19
- .to eq([HandleExceptions::MSG])
20
- end
21
-
22
- it 'does not register an offence for rescue with body' do
23
- inspect_source(he,
24
- ['begin',
25
- ' something',
26
- ' return',
27
- 'rescue',
28
- ' file.close',
29
- 'end'])
30
- expect(he.offences).to be_empty
31
- end
32
- end
33
- end
34
- end
@@ -1,49 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- module Rubocop
6
- module Cop
7
- describe HashSyntax do
8
- let(:hash_syntax) { HashSyntax.new }
9
-
10
- it 'registers an offence for hash rocket syntax when new is possible' do
11
- inspect_source(hash_syntax, ['x = { :a => 0 }'])
12
- expect(hash_syntax.offences.map(&:message)).to eq(
13
- ['Ruby 1.8 hash syntax detected'])
14
- end
15
-
16
- it 'registers an offence for mixed syntax when new is possible' do
17
- inspect_source(hash_syntax, ['x = { :a => 0, b: 1 }'])
18
- expect(hash_syntax.offences.map(&:message)).to eq(
19
- ['Ruby 1.8 hash syntax detected'])
20
- end
21
-
22
- it 'registers an offence for hash rockets in method calls' do
23
- inspect_source(hash_syntax, ['func(3, :a => 0)'])
24
- expect(hash_syntax.offences.map(&:message)).to eq(
25
- ['Ruby 1.8 hash syntax detected'])
26
- end
27
-
28
- it 'accepts hash rockets when keys have different types' do
29
- inspect_source(hash_syntax, ['x = { :a => 0, "b" => 1 }'])
30
- expect(hash_syntax.offences.map(&:message)).to be_empty
31
- end
32
-
33
- it 'accepts hash rockets when keys special symbols in them' do
34
- inspect_source(hash_syntax, ['x = { :"t o" => 0, :"\xab" => 1 }'])
35
- expect(hash_syntax.offences.map(&:message)).to be_empty
36
- end
37
-
38
- it 'accepts new syntax in a hash literal' do
39
- inspect_source(hash_syntax, ['x = { a: 0, b: 1 }'])
40
- expect(hash_syntax.offences.map(&:message)).to be_empty
41
- end
42
-
43
- it 'accepts new syntax in method calls' do
44
- inspect_source(hash_syntax, ['func(3, a: 0)'])
45
- expect(hash_syntax.offences.map(&:message)).to be_empty
46
- end
47
- end
48
- end
49
- end