rubocop 0.13.1 → 0.14.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 (222) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/CHANGELOG.md +42 -0
  4. data/README.md +59 -54
  5. data/config/default.yml +124 -95
  6. data/config/disabled.yml +4 -0
  7. data/config/enabled.yml +286 -264
  8. data/lib/rubocop.rb +10 -3
  9. data/lib/rubocop/cli.rb +10 -171
  10. data/lib/rubocop/cop/cop.rb +14 -11
  11. data/lib/rubocop/cop/lint/debugger.rb +35 -0
  12. data/lib/rubocop/cop/lint/syntax.rb +34 -0
  13. data/lib/rubocop/cop/offence.rb +15 -23
  14. data/lib/rubocop/cop/style/align_array.rb +1 -10
  15. data/lib/rubocop/cop/style/align_hash.rb +14 -2
  16. data/lib/rubocop/cop/style/align_parameters.rb +1 -11
  17. data/lib/rubocop/cop/style/and_or.rb +13 -11
  18. data/lib/rubocop/cop/style/attr.rb +1 -1
  19. data/lib/rubocop/cop/style/autocorrect_alignment.rb +31 -6
  20. data/lib/rubocop/cop/style/blocks.rb +14 -6
  21. data/lib/rubocop/cop/style/character_literal.rb +1 -1
  22. data/lib/rubocop/cop/style/class_length.rb +38 -0
  23. data/lib/rubocop/cop/style/collection_methods.rb +1 -1
  24. data/lib/rubocop/cop/style/colon_method_call.rb +1 -1
  25. data/lib/rubocop/cop/style/configurable_naming.rb +47 -0
  26. data/lib/rubocop/cop/style/def_parentheses.rb +2 -2
  27. data/lib/rubocop/cop/style/empty_literal.rb +1 -1
  28. data/lib/rubocop/cop/style/even_odd.rb +7 -3
  29. data/lib/rubocop/cop/style/hash_methods.rb +1 -1
  30. data/lib/rubocop/cop/style/hash_syntax.rb +36 -7
  31. data/lib/rubocop/cop/style/lambda_call.rb +36 -11
  32. data/lib/rubocop/cop/style/method_call_parentheses.rb +1 -1
  33. data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +41 -0
  34. data/lib/rubocop/cop/style/method_length.rb +2 -13
  35. data/lib/rubocop/cop/style/method_name.rb +42 -0
  36. data/lib/rubocop/cop/style/numeric_literals.rb +4 -0
  37. data/lib/rubocop/cop/style/perl_backrefs.rb +1 -1
  38. data/lib/rubocop/cop/style/raise_args.rb +60 -0
  39. data/lib/rubocop/cop/style/redundant_exception.rb +32 -0
  40. data/lib/rubocop/cop/style/redundant_return.rb +14 -5
  41. data/lib/rubocop/cop/style/redundant_self.rb +1 -1
  42. data/lib/rubocop/cop/style/semicolon.rb +13 -4
  43. data/lib/rubocop/cop/style/signal_exception.rb +63 -14
  44. data/lib/rubocop/cop/style/special_global_vars.rb +1 -1
  45. data/lib/rubocop/cop/style/string_help.rb +4 -1
  46. data/lib/rubocop/cop/style/string_literals.rb +34 -11
  47. data/lib/rubocop/cop/style/surrounding_space.rb +64 -17
  48. data/lib/rubocop/cop/style/tab.rb +1 -1
  49. data/lib/rubocop/cop/style/variable_name.rb +44 -0
  50. data/lib/rubocop/cop/style/when_then.rb +1 -1
  51. data/lib/rubocop/cop/style/while_until_do.rb +1 -1
  52. data/lib/rubocop/cop/team.rb +4 -7
  53. data/lib/rubocop/cop/util.rb +12 -0
  54. data/lib/rubocop/formatter/clang_style_formatter.rb +1 -1
  55. data/lib/rubocop/formatter/emacs_style_formatter.rb +5 -2
  56. data/lib/rubocop/formatter/json_formatter.rb +1 -0
  57. data/lib/rubocop/formatter/progress_formatter.rb +9 -13
  58. data/lib/rubocop/formatter/simple_text_formatter.rb +63 -15
  59. data/lib/rubocop/options.rb +184 -0
  60. data/lib/rubocop/processed_source.rb +4 -0
  61. data/lib/rubocop/version.rb +1 -1
  62. data/rubocop.gemspec +1 -1
  63. data/spec/rubocop/cli_spec.rb +870 -1001
  64. data/spec/rubocop/config_spec.rb +13 -13
  65. data/spec/rubocop/config_store_spec.rb +38 -37
  66. data/spec/rubocop/cop/commissioner_spec.rb +42 -46
  67. data/spec/rubocop/cop/cop_spec.rb +72 -77
  68. data/spec/rubocop/cop/corrector_spec.rb +51 -55
  69. data/spec/rubocop/cop/lint/assignment_in_condition_spec.rb +100 -106
  70. data/spec/rubocop/cop/lint/block_alignment_spec.rb +403 -409
  71. data/spec/rubocop/cop/lint/debugger_spec.rb +39 -0
  72. data/spec/rubocop/cop/lint/empty_ensure_spec.rb +19 -25
  73. data/spec/rubocop/cop/lint/end_alignment_spec.rb +50 -56
  74. data/spec/rubocop/cop/lint/end_in_method_spec.rb +20 -26
  75. data/spec/rubocop/cop/lint/ensure_return_spec.rb +30 -36
  76. data/spec/rubocop/cop/lint/eval_spec.rb +25 -31
  77. data/spec/rubocop/cop/lint/handle_exceptions_spec.rb +22 -28
  78. data/spec/rubocop/cop/lint/literal_in_condition_spec.rb +51 -57
  79. data/spec/rubocop/cop/lint/loop_spec.rb +17 -23
  80. data/spec/rubocop/cop/lint/parentheses_as_grouped_expression_spec.rb +51 -57
  81. data/spec/rubocop/cop/lint/rescue_exception_spec.rb +105 -111
  82. data/spec/rubocop/cop/lint/shadowing_outer_local_variable_spec.rb +230 -236
  83. data/spec/rubocop/cop/lint/syntax_spec.rb +33 -0
  84. data/spec/rubocop/cop/lint/unreachable_code_spec.rb +51 -57
  85. data/spec/rubocop/cop/lint/useless_assignment_spec.rb +1544 -1550
  86. data/spec/rubocop/cop/lint/useless_comparison_spec.rb +21 -27
  87. data/spec/rubocop/cop/lint/useless_setter_call_spec.rb +119 -125
  88. data/spec/rubocop/cop/lint/void_spec.rb +50 -56
  89. data/spec/rubocop/cop/offence_spec.rb +101 -131
  90. data/spec/rubocop/cop/rails/has_and_belongs_to_many_spec.rb +6 -12
  91. data/spec/rubocop/cop/rails/read_attribute_spec.rb +6 -12
  92. data/spec/rubocop/cop/rails/validation_spec.rb +13 -19
  93. data/spec/rubocop/cop/style/access_control_spec.rb +146 -152
  94. data/spec/rubocop/cop/style/alias_spec.rb +30 -36
  95. data/spec/rubocop/cop/style/align_array_spec.rb +57 -56
  96. data/spec/rubocop/cop/style/align_hash_spec.rb +256 -237
  97. data/spec/rubocop/cop/style/align_parameters_spec.rb +216 -202
  98. data/spec/rubocop/cop/style/and_or_spec.rb +51 -55
  99. data/spec/rubocop/cop/style/ascii_comments_spec.rb +14 -20
  100. data/spec/rubocop/cop/style/ascii_identifiers_spec.rb +26 -32
  101. data/spec/rubocop/cop/style/attr_spec.rb +11 -17
  102. data/spec/rubocop/cop/style/begin_block_spec.rb +6 -12
  103. data/spec/rubocop/cop/style/block_comments_spec.rb +13 -19
  104. data/spec/rubocop/cop/style/block_nesting_spec.rb +134 -140
  105. data/spec/rubocop/cop/style/blocks_spec.rb +81 -84
  106. data/spec/rubocop/cop/style/case_equality_spec.rb +5 -11
  107. data/spec/rubocop/cop/style/case_indentation_spec.rb +71 -77
  108. data/spec/rubocop/cop/style/character_literal_spec.rb +31 -37
  109. data/spec/rubocop/cop/style/class_and_module_camel_case_spec.rb +31 -37
  110. data/spec/rubocop/cop/style/class_length_spec.rb +65 -0
  111. data/spec/rubocop/cop/style/class_methods_spec.rb +35 -41
  112. data/spec/rubocop/cop/style/class_vars_spec.rb +11 -17
  113. data/spec/rubocop/cop/style/collection_methods_spec.rb +41 -47
  114. data/spec/rubocop/cop/style/colon_method_call_spec.rb +45 -51
  115. data/spec/rubocop/cop/style/comment_annotation_spec.rb +79 -85
  116. data/spec/rubocop/cop/style/constant_name_spec.rb +45 -51
  117. data/spec/rubocop/cop/style/def_with_parentheses_spec.rb +28 -34
  118. data/spec/rubocop/cop/style/def_without_parentheses_spec.rb +23 -29
  119. data/spec/rubocop/cop/style/documentation_spec.rb +60 -66
  120. data/spec/rubocop/cop/style/dot_position_spec.rb +50 -56
  121. data/spec/rubocop/cop/style/empty_line_between_defs_spec.rb +109 -110
  122. data/spec/rubocop/cop/style/empty_lines_spec.rb +28 -34
  123. data/spec/rubocop/cop/style/empty_literal_spec.rb +80 -86
  124. data/spec/rubocop/cop/style/encoding_spec.rb +50 -56
  125. data/spec/rubocop/cop/style/end_block_spec.rb +6 -12
  126. data/spec/rubocop/cop/style/end_of_line_spec.rb +13 -19
  127. data/spec/rubocop/cop/style/even_odd_spec.rb +69 -41
  128. data/spec/rubocop/cop/style/favor_join_spec.rb +21 -27
  129. data/spec/rubocop/cop/style/favor_modifier_spec.rb +180 -176
  130. data/spec/rubocop/cop/style/favor_sprintf_spec.rb +41 -47
  131. data/spec/rubocop/cop/style/favor_unless_over_negated_if_spec.rb +63 -69
  132. data/spec/rubocop/cop/style/favor_until_over_negated_while_spec.rb +32 -38
  133. data/spec/rubocop/cop/style/final_newline_spec.rb +16 -22
  134. data/spec/rubocop/cop/style/for_spec.rb +18 -24
  135. data/spec/rubocop/cop/style/global_vars_spec.rb +23 -29
  136. data/spec/rubocop/cop/style/hash_methods_spec.rb +39 -45
  137. data/spec/rubocop/cop/style/hash_syntax_spec.rb +93 -65
  138. data/spec/rubocop/cop/style/if_with_semicolon_spec.rb +11 -17
  139. data/spec/rubocop/cop/style/indentation_width_spec.rb +377 -383
  140. data/spec/rubocop/cop/style/lambda_call_spec.rb +40 -22
  141. data/spec/rubocop/cop/style/lambda_spec.rb +30 -34
  142. data/spec/rubocop/cop/style/leading_comment_space_spec.rb +44 -50
  143. data/spec/rubocop/cop/style/line_length_spec.rb +11 -17
  144. data/spec/rubocop/cop/style/method_call_parentheses_spec.rb +14 -20
  145. data/spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb +60 -0
  146. data/spec/rubocop/cop/style/method_length_spec.rb +127 -133
  147. data/spec/rubocop/cop/style/method_name_spec.rb +103 -0
  148. data/spec/rubocop/cop/style/module_function_spec.rb +16 -22
  149. data/spec/rubocop/cop/style/multiline_block_chain_spec.rb +64 -70
  150. data/spec/rubocop/cop/style/multiline_if_then_spec.rb +74 -80
  151. data/spec/rubocop/cop/style/nil_comparison_spec.rb +20 -26
  152. data/spec/rubocop/cop/style/not_spec.rb +13 -19
  153. data/spec/rubocop/cop/style/numeric_literals_spec.rb +36 -35
  154. data/spec/rubocop/cop/style/one_line_conditional_spec.rb +5 -11
  155. data/spec/rubocop/cop/style/op_method_spec.rb +61 -67
  156. data/spec/rubocop/cop/style/parameter_lists_spec.rb +31 -37
  157. data/spec/rubocop/cop/style/parentheses_around_condition_spec.rb +62 -68
  158. data/spec/rubocop/cop/style/perl_backrefs_spec.rb +9 -15
  159. data/spec/rubocop/cop/style/proc_spec.rb +13 -19
  160. data/spec/rubocop/cop/style/raise_args_spec.rb +55 -0
  161. data/spec/rubocop/cop/style/reduce_arguments_spec.rb +49 -55
  162. data/spec/rubocop/cop/style/redundant_begin_spec.rb +47 -53
  163. data/spec/rubocop/cop/style/redundant_exception_spec.rb +27 -0
  164. data/spec/rubocop/cop/style/redundant_return_spec.rb +164 -72
  165. data/spec/rubocop/cop/style/redundant_self_spec.rb +109 -115
  166. data/spec/rubocop/cop/style/regexp_literal_spec.rb +57 -63
  167. data/spec/rubocop/cop/style/rescue_modifier_spec.rb +99 -105
  168. data/spec/rubocop/cop/style/semicolon_spec.rb +95 -90
  169. data/spec/rubocop/cop/style/signal_exception_spec.rb +248 -95
  170. data/spec/rubocop/cop/style/single_line_methods_spec.rb +45 -51
  171. data/spec/rubocop/cop/style/space_after_colon_spec.rb +14 -20
  172. data/spec/rubocop/cop/style/space_after_comma_spec.rb +16 -22
  173. data/spec/rubocop/cop/style/space_after_control_keyword_spec.rb +48 -54
  174. data/spec/rubocop/cop/style/space_after_method_name_spec.rb +49 -55
  175. data/spec/rubocop/cop/style/space_after_semicolon_spec.rb +10 -16
  176. data/spec/rubocop/cop/style/space_around_block_braces_spec.rb +118 -50
  177. data/spec/rubocop/cop/style/space_around_equals_in_default_parameter_spec.rb +18 -24
  178. data/spec/rubocop/cop/style/space_around_operators_spec.rb +204 -210
  179. data/spec/rubocop/cop/style/space_before_modifier_keyword_spec.rb +36 -42
  180. data/spec/rubocop/cop/style/space_inside_brackets_spec.rb +39 -45
  181. data/spec/rubocop/cop/style/space_inside_hash_literal_braces_spec.rb +62 -68
  182. data/spec/rubocop/cop/style/space_inside_parens_spec.rb +18 -24
  183. data/spec/rubocop/cop/style/special_global_vars_spec.rb +40 -46
  184. data/spec/rubocop/cop/style/string_literals_spec.rb +148 -70
  185. data/spec/rubocop/cop/style/symbol_array_spec.rb +28 -34
  186. data/spec/rubocop/cop/style/symbol_name_spec.rb +132 -138
  187. data/spec/rubocop/cop/style/tab_spec.rb +9 -15
  188. data/spec/rubocop/cop/style/ternary_operator_spec.rb +25 -31
  189. data/spec/rubocop/cop/style/trailing_blank_lines_spec.rb +10 -16
  190. data/spec/rubocop/cop/style/trailing_whitespace_spec.rb +14 -20
  191. data/spec/rubocop/cop/style/trivial_accessors_spec.rb +374 -380
  192. data/spec/rubocop/cop/style/unless_else_spec.rb +17 -23
  193. data/spec/rubocop/cop/style/variable_interpolation_spec.rb +36 -42
  194. data/spec/rubocop/cop/style/variable_name_spec.rb +83 -0
  195. data/spec/rubocop/cop/style/when_then_spec.rb +31 -37
  196. data/spec/rubocop/cop/style/while_until_do_spec.rb +47 -53
  197. data/spec/rubocop/cop/style/word_array_spec.rb +49 -55
  198. data/spec/rubocop/cop/team_spec.rb +125 -127
  199. data/spec/rubocop/cop/variable_inspector/assignment_spec.rb +176 -180
  200. data/spec/rubocop/cop/variable_inspector/locatable_spec.rb +580 -586
  201. data/spec/rubocop/cop/variable_inspector/scope_spec.rb +140 -146
  202. data/spec/rubocop/cop/variable_inspector/variable_spec.rb +52 -58
  203. data/spec/rubocop/cop/variable_inspector/variable_table_spec.rb +217 -223
  204. data/spec/rubocop/cop/variable_inspector_spec.rb +15 -19
  205. data/spec/rubocop/formatter/clang_style_formatter_spec.rb +35 -36
  206. data/spec/rubocop/formatter/disabled_config_formatter_spec.rb +2 -2
  207. data/spec/rubocop/formatter/emacs_style_formatter_spec.rb +24 -1
  208. data/spec/rubocop/formatter/file_list_formatter_spec.rb +1 -1
  209. data/spec/rubocop/formatter/formatter_set_spec.rb +3 -3
  210. data/spec/rubocop/formatter/json_formatter_spec.rb +7 -2
  211. data/spec/rubocop/formatter/offence_count_formatter_spec.rb +1 -1
  212. data/spec/rubocop/formatter/progress_formatter_spec.rb +1 -1
  213. data/spec/rubocop/formatter/simple_text_formatter_spec.rb +55 -6
  214. data/spec/rubocop/options_spec.rb +233 -0
  215. data/spec/rubocop/processed_source_spec.rb +85 -42
  216. data/spec/rubocop/source_parser_spec.rb +108 -110
  217. data/spec/rubocop/target_finder_spec.rb +125 -127
  218. data/spec/rubocop/token_spec.rb +15 -17
  219. metadata +32 -8
  220. data/lib/rubocop/backports/bsearch.rb +0 -39
  221. data/lib/rubocop/cop/style/method_and_variable_snake_case.rb +0 -77
  222. data/spec/rubocop/cop/style/method_and_variable_snake_case_spec.rb +0 -102
@@ -0,0 +1,39 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Rubocop::Cop::Lint::Debugger do
6
+ subject(:cop) { described_class.new }
7
+
8
+ it 'reports an offence for a debugger call' do
9
+ src = ['debugger']
10
+ inspect_source(cop, src)
11
+ expect(cop.offences.size).to eq(1)
12
+ end
13
+
14
+ it 'reports an offence for pry bindings' do
15
+ src = ['binding.pry',
16
+ 'binding.remote_pry']
17
+ inspect_source(cop, src)
18
+ expect(cop.offences.size).to eq(2)
19
+ end
20
+
21
+ it 'does not report an offence for non-pry binding' do
22
+ src = ['binding.pirate']
23
+ inspect_source(cop, src)
24
+ expect(cop.offences).to be_empty
25
+ end
26
+
27
+ it 'does not report an offence for debugger in comments' do
28
+ src = ['# debugger']
29
+ inspect_source(cop, src)
30
+ expect(cop.offences).to be_empty
31
+ end
32
+
33
+ it 'does not report an offence for a debugger or pry method' do
34
+ src = ['code.debugger',
35
+ 'door.pry']
36
+ inspect_source(cop, src)
37
+ expect(cop.offences).to be_empty
38
+ end
39
+ end
@@ -2,32 +2,26 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Lint
8
- describe EmptyEnsure do
9
- subject(:cop) { EmptyEnsure.new }
5
+ describe Rubocop::Cop::Lint::EmptyEnsure do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'registers an offence for empty ensure' do
12
- inspect_source(cop,
13
- ['begin',
14
- ' something',
15
- 'ensure',
16
- 'end'])
17
- expect(cop.offences.size).to eq(1)
18
- end
8
+ it 'registers an offence for empty ensure' do
9
+ inspect_source(cop,
10
+ ['begin',
11
+ ' something',
12
+ 'ensure',
13
+ 'end'])
14
+ expect(cop.offences.size).to eq(1)
15
+ end
19
16
 
20
- it 'does not register an offence for non-empty ensure' do
21
- inspect_source(cop,
22
- ['begin',
23
- ' something',
24
- ' return',
25
- 'ensure',
26
- ' file.close',
27
- 'end'])
28
- expect(cop.offences).to be_empty
29
- end
30
- end
31
- end
17
+ it 'does not register an offence for non-empty ensure' do
18
+ inspect_source(cop,
19
+ ['begin',
20
+ ' something',
21
+ ' return',
22
+ 'ensure',
23
+ ' file.close',
24
+ 'end'])
25
+ expect(cop.offences).to be_empty
32
26
  end
33
27
  end
@@ -3,68 +3,62 @@
3
3
 
4
4
  require 'spec_helper'
5
5
 
6
- module Rubocop
7
- module Cop
8
- module Lint
9
- describe EndAlignment do
10
- subject(:cop) { EndAlignment.new }
6
+ describe Rubocop::Cop::Lint::EndAlignment do
7
+ subject(:cop) { described_class.new }
11
8
 
12
- it 'registers an offence for mismatched class end' do
13
- inspect_source(cop,
14
- ['class Test',
15
- ' end'
16
- ])
17
- expect(cop.offences.size).to eq(1)
18
- end
9
+ it 'registers an offence for mismatched class end' do
10
+ inspect_source(cop,
11
+ ['class Test',
12
+ ' end'
13
+ ])
14
+ expect(cop.offences.size).to eq(1)
15
+ end
19
16
 
20
- it 'registers an offence for mismatched module end' do
21
- inspect_source(cop,
22
- ['module Test',
23
- ' end'
24
- ])
25
- expect(cop.offences.size).to eq(1)
26
- end
17
+ it 'registers an offence for mismatched module end' do
18
+ inspect_source(cop,
19
+ ['module Test',
20
+ ' end'
21
+ ])
22
+ expect(cop.offences.size).to eq(1)
23
+ end
27
24
 
28
- it 'registers an offence for mismatched def end' do
29
- inspect_source(cop,
30
- ['def test',
31
- ' end'
32
- ])
33
- expect(cop.offences.size).to eq(1)
34
- end
25
+ it 'registers an offence for mismatched def end' do
26
+ inspect_source(cop,
27
+ ['def test',
28
+ ' end'
29
+ ])
30
+ expect(cop.offences.size).to eq(1)
31
+ end
35
32
 
36
- it 'registers an offence for mismatched defs end' do
37
- inspect_source(cop,
38
- ['def Test.test',
39
- ' end'
40
- ])
41
- expect(cop.offences.size).to eq(1)
42
- end
33
+ it 'registers an offence for mismatched defs end' do
34
+ inspect_source(cop,
35
+ ['def Test.test',
36
+ ' end'
37
+ ])
38
+ expect(cop.offences.size).to eq(1)
39
+ end
43
40
 
44
- it 'registers an offence for mismatched if end' do
45
- inspect_source(cop,
46
- ['if test',
47
- ' end'
48
- ])
49
- expect(cop.offences.size).to eq(1)
50
- end
41
+ it 'registers an offence for mismatched if end' do
42
+ inspect_source(cop,
43
+ ['if test',
44
+ ' end'
45
+ ])
46
+ expect(cop.offences.size).to eq(1)
47
+ end
51
48
 
52
- it 'registers an offence for mismatched while end' do
53
- inspect_source(cop,
54
- ['while test',
55
- ' end'
56
- ])
57
- expect(cop.offences.size).to eq(1)
58
- end
49
+ it 'registers an offence for mismatched while end' do
50
+ inspect_source(cop,
51
+ ['while test',
52
+ ' end'
53
+ ])
54
+ expect(cop.offences.size).to eq(1)
55
+ end
59
56
 
60
- it 'registers an offence for mismatched until end' do
61
- inspect_source(cop,
62
- ['until test',
63
- ' end'
64
- ])
65
- expect(cop.offences.size).to eq(1)
66
- end
67
- end
68
- end
57
+ it 'registers an offence for mismatched until end' do
58
+ inspect_source(cop,
59
+ ['until test',
60
+ ' end'
61
+ ])
62
+ expect(cop.offences.size).to eq(1)
69
63
  end
70
64
  end
@@ -2,34 +2,28 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Lint
8
- describe EndInMethod do
9
- subject(:cop) { EndInMethod.new }
5
+ describe Rubocop::Cop::Lint::EndInMethod do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'reports an offence for def with an END inside' do
12
- src = ['def test',
13
- ' END { something }',
14
- 'end']
15
- inspect_source(cop, src)
16
- expect(cop.offences.size).to eq(1)
17
- end
8
+ it 'reports an offence for def with an END inside' do
9
+ src = ['def test',
10
+ ' END { something }',
11
+ 'end']
12
+ inspect_source(cop, src)
13
+ expect(cop.offences.size).to eq(1)
14
+ end
18
15
 
19
- it 'reports an offence for defs with an END inside' do
20
- src = ['def self.test',
21
- ' END { something }',
22
- 'end']
23
- inspect_source(cop, src)
24
- expect(cop.offences.size).to eq(1)
25
- end
16
+ it 'reports an offence for defs with an END inside' do
17
+ src = ['def self.test',
18
+ ' END { something }',
19
+ 'end']
20
+ inspect_source(cop, src)
21
+ expect(cop.offences.size).to eq(1)
22
+ end
26
23
 
27
- it 'accepts END outside of def(s)' do
28
- src = ['END { something }']
29
- inspect_source(cop, src)
30
- expect(cop.offences).to be_empty
31
- end
32
- end
33
- end
24
+ it 'accepts END outside of def(s)' do
25
+ src = ['END { something }']
26
+ inspect_source(cop, src)
27
+ expect(cop.offences).to be_empty
34
28
  end
35
29
  end
@@ -2,44 +2,38 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Lint
8
- describe EnsureReturn do
9
- subject(:cop) { EnsureReturn.new }
5
+ describe Rubocop::Cop::Lint::EnsureReturn do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'registers an offence for return in ensure' do
12
- inspect_source(cop,
13
- ['begin',
14
- ' something',
15
- 'ensure',
16
- ' file.close',
17
- ' return',
18
- 'end'])
19
- expect(cop.offences.size).to eq(1)
20
- end
8
+ it 'registers an offence for return in ensure' do
9
+ inspect_source(cop,
10
+ ['begin',
11
+ ' something',
12
+ 'ensure',
13
+ ' file.close',
14
+ ' return',
15
+ 'end'])
16
+ expect(cop.offences.size).to eq(1)
17
+ end
21
18
 
22
- it 'does not register an offence for return outside ensure' do
23
- inspect_source(cop,
24
- ['begin',
25
- ' something',
26
- ' return',
27
- 'ensure',
28
- ' file.close',
29
- 'end'])
30
- expect(cop.offences).to be_empty
31
- end
19
+ it 'does not register an offence for return outside ensure' do
20
+ inspect_source(cop,
21
+ ['begin',
22
+ ' something',
23
+ ' return',
24
+ 'ensure',
25
+ ' file.close',
26
+ 'end'])
27
+ expect(cop.offences).to be_empty
28
+ end
32
29
 
33
- it 'does not check when ensure block has no body' do
34
- expect do
35
- inspect_source(cop,
36
- ['begin',
37
- ' something',
38
- 'ensure',
39
- 'end'])
40
- end.to_not raise_exception
41
- end
42
- end
43
- end
30
+ it 'does not check when ensure block has no body' do
31
+ expect do
32
+ inspect_source(cop,
33
+ ['begin',
34
+ ' something',
35
+ 'ensure',
36
+ 'end'])
37
+ end.to_not raise_exception
44
38
  end
45
39
  end
@@ -2,40 +2,34 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Lint
8
- describe Eval do
9
- subject(:a) { Eval.new }
5
+ describe Rubocop::Cop::Lint::Eval do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'registers an offence for eval as function' do
12
- inspect_source(a,
13
- ['eval(something)'])
14
- expect(a.offences.size).to eq(1)
15
- expect(a.messages)
16
- .to eq([Eval::MSG])
17
- end
8
+ it 'registers an offence for eval as function' do
9
+ inspect_source(cop,
10
+ ['eval(something)'])
11
+ expect(cop.offences.size).to eq(1)
12
+ expect(cop.messages)
13
+ .to eq(['The use of eval is a serious security risk.'])
14
+ end
18
15
 
19
- it 'registers an offence for eval as command' do
20
- inspect_source(a,
21
- ['eval something'])
22
- expect(a.offences.size).to eq(1)
23
- expect(a.messages)
24
- .to eq([Eval::MSG])
25
- end
16
+ it 'registers an offence for eval as command' do
17
+ inspect_source(cop,
18
+ ['eval something'])
19
+ expect(cop.offences.size).to eq(1)
20
+ expect(cop.messages)
21
+ .to eq(['The use of eval is a serious security risk.'])
22
+ end
26
23
 
27
- it 'does not register an offence for eval as variable' do
28
- inspect_source(a,
29
- ['eval = something'])
30
- expect(a.offences).to be_empty
31
- end
24
+ it 'does not register an offence for eval as variable' do
25
+ inspect_source(cop,
26
+ ['eval = something'])
27
+ expect(cop.offences).to be_empty
28
+ end
32
29
 
33
- it 'does not register an offence for eval as method' do
34
- inspect_source(a,
35
- ['something.eval'])
36
- expect(a.offences).to be_empty
37
- end
38
- end
39
- end
30
+ it 'does not register an offence for eval as method' do
31
+ inspect_source(cop,
32
+ ['something.eval'])
33
+ expect(cop.offences).to be_empty
40
34
  end
41
35
  end
@@ -2,35 +2,29 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Lint
8
- describe HandleExceptions do
9
- subject(:he) { HandleExceptions.new }
5
+ describe Rubocop::Cop::Lint::HandleExceptions do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'registers an offence for empty rescue block' do
12
- inspect_source(he,
13
- ['begin',
14
- ' something',
15
- 'rescue',
16
- ' #do nothing',
17
- 'end'])
18
- expect(he.offences.size).to eq(1)
19
- expect(he.messages)
20
- .to eq([HandleExceptions::MSG])
21
- end
8
+ it 'registers an offence for empty rescue block' do
9
+ inspect_source(cop,
10
+ ['begin',
11
+ ' something',
12
+ 'rescue',
13
+ ' #do nothing',
14
+ 'end'])
15
+ expect(cop.offences.size).to eq(1)
16
+ expect(cop.messages)
17
+ .to eq(['Do not suppress exceptions.'])
18
+ end
22
19
 
23
- it 'does not register an offence for rescue with body' do
24
- inspect_source(he,
25
- ['begin',
26
- ' something',
27
- ' return',
28
- 'rescue',
29
- ' file.close',
30
- 'end'])
31
- expect(he.offences).to be_empty
32
- end
33
- end
34
- end
20
+ it 'does not register an offence for rescue with body' do
21
+ inspect_source(cop,
22
+ ['begin',
23
+ ' something',
24
+ ' return',
25
+ 'rescue',
26
+ ' file.close',
27
+ 'end'])
28
+ expect(cop.offences).to be_empty
35
29
  end
36
30
  end