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
@@ -2,52 +2,46 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe FavorSprintf do
9
- subject(:fs) { FavorSprintf.new }
10
-
11
- it 'registers an offence for a string followed by something' do
12
- inspect_source(fs,
13
- ['puts "%d" % 10'])
14
- expect(fs.offences.size).to eq(1)
15
- expect(fs.messages)
16
- .to eq([FavorSprintf::MSG])
17
- end
18
-
19
- it 'registers an offence for something followed by an array' do
20
- inspect_source(fs,
21
- ['puts x % [10, 11]'])
22
- expect(fs.offences.size).to eq(1)
23
- expect(fs.messages)
24
- .to eq([FavorSprintf::MSG])
25
- end
26
-
27
- it 'does not register an offence for numbers' do
28
- inspect_source(fs,
29
- ['puts 10 % 4'])
30
- expect(fs.offences).to be_empty
31
- end
32
-
33
- it 'does not register an offence for ambiguous cases' do
34
- inspect_source(fs,
35
- ['puts x % 4'])
36
- expect(fs.offences).to be_empty
37
-
38
- inspect_source(fs,
39
- ['puts x % Y'])
40
- expect(fs.offences).to be_empty
41
- end
42
-
43
- it 'works if the first operand contains embedded expressions' do
44
- inspect_source(fs,
45
- ['puts "#{x * 5} %d #{@test}" % 10'])
46
- expect(fs.offences.size).to eq(1)
47
- expect(fs.messages)
48
- .to eq([FavorSprintf::MSG])
49
- end
50
- end
51
- end
5
+ describe Rubocop::Cop::Style::FavorSprintf do
6
+ subject(:cop) { described_class.new }
7
+
8
+ it 'registers an offence for a string followed by something' do
9
+ inspect_source(cop,
10
+ ['puts "%d" % 10'])
11
+ expect(cop.offences.size).to eq(1)
12
+ expect(cop.messages)
13
+ .to eq(['Favor sprintf over String#%.'])
14
+ end
15
+
16
+ it 'registers an offence for something followed by an array' do
17
+ inspect_source(cop,
18
+ ['puts x % [10, 11]'])
19
+ expect(cop.offences.size).to eq(1)
20
+ expect(cop.messages)
21
+ .to eq(['Favor sprintf over String#%.'])
22
+ end
23
+
24
+ it 'does not register an offence for numbers' do
25
+ inspect_source(cop,
26
+ ['puts 10 % 4'])
27
+ expect(cop.offences).to be_empty
28
+ end
29
+
30
+ it 'does not register an offence for ambiguous cases' do
31
+ inspect_source(cop,
32
+ ['puts x % 4'])
33
+ expect(cop.offences).to be_empty
34
+
35
+ inspect_source(cop,
36
+ ['puts x % Y'])
37
+ expect(cop.offences).to be_empty
38
+ end
39
+
40
+ it 'works if the first operand contains embedded expressions' do
41
+ inspect_source(cop,
42
+ ['puts "#{x * 5} %d #{@test}" % 10'])
43
+ expect(cop.offences.size).to eq(1)
44
+ expect(cop.messages)
45
+ .to eq(['Favor sprintf over String#%.'])
52
46
  end
53
47
  end
@@ -2,81 +2,75 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe FavorUnlessOverNegatedIf do
9
- subject(:cop) { described_class.new }
5
+ describe Rubocop::Cop::Style::FavorUnlessOverNegatedIf do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'registers an offence for if with exclamation point condition' do
12
- inspect_source(cop,
13
- ['if !a_condition',
14
- ' some_method',
15
- 'end',
16
- 'some_method if !a_condition',
17
- ])
18
- expect(cop.messages).to eq(
19
- ['Favor unless (or control flow or) over if for negative ' +
20
- 'conditions.'] * 2)
21
- end
8
+ it 'registers an offence for if with exclamation point condition' do
9
+ inspect_source(cop,
10
+ ['if !a_condition',
11
+ ' some_method',
12
+ 'end',
13
+ 'some_method if !a_condition',
14
+ ])
15
+ expect(cop.messages).to eq(
16
+ ['Favor unless (or control flow or) over if for negative ' +
17
+ 'conditions.'] * 2)
18
+ end
22
19
 
23
- it 'registers an offence for if with "not" condition' do
24
- inspect_source(cop,
25
- ['if not a_condition',
26
- ' some_method',
27
- 'end',
28
- 'some_method if not a_condition'])
29
- expect(cop.messages).to eq(
30
- ['Favor unless (or control flow or) over if for negative ' +
31
- 'conditions.'] * 2)
32
- expect(cop.offences.map(&:line)).to eq([1, 4])
33
- end
20
+ it 'registers an offence for if with "not" condition' do
21
+ inspect_source(cop,
22
+ ['if not a_condition',
23
+ ' some_method',
24
+ 'end',
25
+ 'some_method if not a_condition'])
26
+ expect(cop.messages).to eq(
27
+ ['Favor unless (or control flow or) over if for negative ' +
28
+ 'conditions.'] * 2)
29
+ expect(cop.offences.map(&:line)).to eq([1, 4])
30
+ end
34
31
 
35
- it 'accepts an if/else with negative condition' do
36
- inspect_source(cop,
37
- ['if !a_condition',
38
- ' some_method',
39
- 'else',
40
- ' something_else',
41
- 'end',
42
- 'if not a_condition',
43
- ' some_method',
44
- 'elsif other_condition',
45
- ' something_else',
46
- 'end'])
47
- expect(cop.offences).to be_empty
48
- end
32
+ it 'accepts an if/else with negative condition' do
33
+ inspect_source(cop,
34
+ ['if !a_condition',
35
+ ' some_method',
36
+ 'else',
37
+ ' something_else',
38
+ 'end',
39
+ 'if not a_condition',
40
+ ' some_method',
41
+ 'elsif other_condition',
42
+ ' something_else',
43
+ 'end'])
44
+ expect(cop.offences).to be_empty
45
+ end
49
46
 
50
- it 'accepts an if where only part of the contition is negated' do
51
- inspect_source(cop,
52
- ['if !condition && another_condition',
53
- ' some_method',
54
- 'end',
55
- 'if not condition or another_condition',
56
- ' some_method',
57
- 'end',
58
- 'some_method if not condition or another_condition'])
59
- expect(cop.offences).to be_empty
60
- end
47
+ it 'accepts an if where only part of the contition is negated' do
48
+ inspect_source(cop,
49
+ ['if !condition && another_condition',
50
+ ' some_method',
51
+ 'end',
52
+ 'if not condition or another_condition',
53
+ ' some_method',
54
+ 'end',
55
+ 'some_method if not condition or another_condition'])
56
+ expect(cop.offences).to be_empty
57
+ end
61
58
 
62
- it 'is not confused by negated elsif' do
63
- inspect_source(cop,
64
- ['if test.is_a?(String)',
65
- ' 3',
66
- 'elsif test.is_a?(Array)',
67
- ' 2',
68
- 'elsif !test.nil?',
69
- ' 1',
70
- 'end'])
59
+ it 'is not confused by negated elsif' do
60
+ inspect_source(cop,
61
+ ['if test.is_a?(String)',
62
+ ' 3',
63
+ 'elsif test.is_a?(Array)',
64
+ ' 2',
65
+ 'elsif !test.nil?',
66
+ ' 1',
67
+ 'end'])
71
68
 
72
- expect(cop.offences).to be_empty
73
- end
69
+ expect(cop.offences).to be_empty
70
+ end
74
71
 
75
- it 'does not blow up for ternary ops' do
76
- inspect_source(cop, 'a ? b : c')
77
- expect(cop.offences).to be_empty
78
- end
79
- end
80
- end
72
+ it 'does not blow up for ternary ops' do
73
+ inspect_source(cop, 'a ? b : c')
74
+ expect(cop.offences).to be_empty
81
75
  end
82
76
  end
@@ -2,46 +2,40 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe FavorUntilOverNegatedWhile do
9
- subject(:fav_until) { FavorUntilOverNegatedWhile.new }
5
+ describe Rubocop::Cop::Style::FavorUntilOverNegatedWhile do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'registers an offence for while with exclamation point condition' do
12
- inspect_source(fav_until,
13
- ['while !a_condition',
14
- ' some_method',
15
- 'end',
16
- 'some_method while !a_condition',
17
- ])
18
- expect(fav_until.messages).to eq(
19
- ['Favor until over while for negative conditions.'] * 2)
20
- end
8
+ it 'registers an offence for while with exclamation point condition' do
9
+ inspect_source(cop,
10
+ ['while !a_condition',
11
+ ' some_method',
12
+ 'end',
13
+ 'some_method while !a_condition',
14
+ ])
15
+ expect(cop.messages).to eq(
16
+ ['Favor until over while for negative conditions.'] * 2)
17
+ end
21
18
 
22
- it 'registers an offence for while with "not" condition' do
23
- inspect_source(fav_until,
24
- ['while (not a_condition)',
25
- ' some_method',
26
- 'end',
27
- 'some_method while not a_condition'])
28
- expect(fav_until.messages).to eq(
29
- ['Favor until over while for negative conditions.'] * 2)
30
- expect(fav_until.offences.map(&:line)).to eq([1, 4])
31
- end
19
+ it 'registers an offence for while with "not" condition' do
20
+ inspect_source(cop,
21
+ ['while (not a_condition)',
22
+ ' some_method',
23
+ 'end',
24
+ 'some_method while not a_condition'])
25
+ expect(cop.messages).to eq(
26
+ ['Favor until over while for negative conditions.'] * 2)
27
+ expect(cop.offences.map(&:line)).to eq([1, 4])
28
+ end
32
29
 
33
- it 'accepts an while where only part of the contition is negated' do
34
- inspect_source(fav_until,
35
- ['while !a_condition && another_condition',
36
- ' some_method',
37
- 'end',
38
- 'while not a_condition or another_condition',
39
- ' some_method',
40
- 'end',
41
- 'some_method while not a_condition or other_cond'])
42
- expect(fav_until.messages).to be_empty
43
- end
44
- end
45
- end
30
+ it 'accepts an while where only part of the contition is negated' do
31
+ inspect_source(cop,
32
+ ['while !a_condition && another_condition',
33
+ ' some_method',
34
+ 'end',
35
+ 'while not a_condition or another_condition',
36
+ ' some_method',
37
+ 'end',
38
+ 'some_method while not a_condition or other_cond'])
39
+ expect(cop.messages).to be_empty
46
40
  end
47
41
  end
@@ -2,30 +2,24 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe FinalNewline do
9
- subject(:cop) { described_class.new }
5
+ describe Rubocop::Cop::Style::FinalNewline do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'registers an offence for missing final newline' do
12
- source = ['x = 0', 'top']
13
- inspect_source(cop, source)
14
- expect(cop.offences.size).to eq(1)
15
- end
8
+ it 'registers an offence for missing final newline' do
9
+ source = ['x = 0', 'top']
10
+ inspect_source(cop, source)
11
+ expect(cop.offences.size).to eq(1)
12
+ end
16
13
 
17
- it 'accepts a final newline' do
18
- source = ['x = 0', 'top', '']
19
- inspect_source(cop, source)
20
- expect(cop.offences).to be_empty
21
- end
14
+ it 'accepts a final newline' do
15
+ source = ['x = 0', 'top', '']
16
+ inspect_source(cop, source)
17
+ expect(cop.offences).to be_empty
18
+ end
22
19
 
23
- it 'accepts an empty file' do
24
- source = ['']
25
- inspect_source(cop, source)
26
- expect(cop.offences).to be_empty
27
- end
28
- end
29
- end
20
+ it 'accepts an empty file' do
21
+ source = ['']
22
+ inspect_source(cop, source)
23
+ expect(cop.offences).to be_empty
30
24
  end
31
25
  end
@@ -2,32 +2,26 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe For do
9
- subject(:cop) { described_class.new }
5
+ describe Rubocop::Cop::Style::For do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'registers an offence for for' do
12
- inspect_source(cop,
13
- ['def func',
14
- ' for n in [1, 2, 3] do',
15
- ' puts n',
16
- ' end',
17
- 'end'])
18
- expect(cop.offences.size).to eq(1)
19
- end
8
+ it 'registers an offence for for' do
9
+ inspect_source(cop,
10
+ ['def func',
11
+ ' for n in [1, 2, 3] do',
12
+ ' puts n',
13
+ ' end',
14
+ 'end'])
15
+ expect(cop.offences.size).to eq(1)
16
+ end
20
17
 
21
- it 'does not register an offence for :for' do
22
- inspect_source(cop, ['[:for, :ala, :bala]'])
23
- expect(cop.offences).to be_empty
24
- end
18
+ it 'does not register an offence for :for' do
19
+ inspect_source(cop, ['[:for, :ala, :bala]'])
20
+ expect(cop.offences).to be_empty
21
+ end
25
22
 
26
- it 'does not register an offence for def for' do
27
- inspect_source(cop, ['def for; end'])
28
- expect(cop.offences).to be_empty
29
- end
30
- end
31
- end
23
+ it 'does not register an offence for def for' do
24
+ inspect_source(cop, ['def for; end'])
25
+ expect(cop.offences).to be_empty
32
26
  end
33
27
  end
@@ -2,39 +2,33 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe GlobalVars, :config do
9
- cop_config = {
10
- 'AllowedVariables' => ['$allowed']
11
- }
5
+ describe Rubocop::Cop::Style::GlobalVars, :config do
6
+ cop_config = {
7
+ 'AllowedVariables' => ['$allowed']
8
+ }
12
9
 
13
- subject(:cop) { described_class.new(config) }
14
- let(:cop_config) { cop_config }
10
+ subject(:cop) { described_class.new(config) }
11
+ let(:cop_config) { cop_config }
15
12
 
16
- it 'registers an offence for $custom' do
17
- inspect_source(cop, ['puts $custom'])
18
- expect(cop.offences.size).to eq(1)
19
- end
20
-
21
- it 'allows user whitelisted variables' do
22
- inspect_source(cop, ['puts $allowed'])
23
- expect(cop.offences).to be_empty
24
- end
13
+ it 'registers an offence for $custom' do
14
+ inspect_source(cop, ['puts $custom'])
15
+ expect(cop.offences.size).to eq(1)
16
+ end
25
17
 
26
- described_class::BUILT_IN_VARS.each do |var|
27
- it "does not register an offence for built-in variable #{var}" do
28
- inspect_source(cop, ["puts #{var}"])
29
- expect(cop.offences).to be_empty
30
- end
31
- end
18
+ it 'allows user whitelisted variables' do
19
+ inspect_source(cop, ['puts $allowed'])
20
+ expect(cop.offences).to be_empty
21
+ end
32
22
 
33
- it 'does not register an offence for backrefs like $1' do
34
- inspect_source(cop, ['puts $1'])
35
- expect(cop.offences).to be_empty
36
- end
37
- end
23
+ described_class::BUILT_IN_VARS.each do |var|
24
+ it "does not register an offence for built-in variable #{var}" do
25
+ inspect_source(cop, ["puts #{var}"])
26
+ expect(cop.offences).to be_empty
38
27
  end
39
28
  end
29
+
30
+ it 'does not register an offence for backrefs like $1' do
31
+ inspect_source(cop, ['puts $1'])
32
+ expect(cop.offences).to be_empty
33
+ end
40
34
  end