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,64 +2,58 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe ConstantName do
9
- subject(:const) { ConstantName.new }
5
+ describe Rubocop::Cop::Style::ConstantName do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'registers an offence for camel case in const name' do
12
- inspect_source(const,
13
- ['TopCase = 5'])
14
- expect(const.offences.size).to eq(1)
15
- end
8
+ it 'registers an offence for camel case in const name' do
9
+ inspect_source(cop,
10
+ ['TopCase = 5'])
11
+ expect(cop.offences.size).to eq(1)
12
+ end
16
13
 
17
- it 'registers offences for camel case in multiple const assignment' do
18
- inspect_source(const,
19
- ['TopCase, Test2, TEST_3 = 5, 6, 7'])
20
- expect(const.offences.size).to eq(2)
21
- end
14
+ it 'registers offences for camel case in multiple const assignment' do
15
+ inspect_source(cop,
16
+ ['TopCase, Test2, TEST_3 = 5, 6, 7'])
17
+ expect(cop.offences.size).to eq(2)
18
+ end
22
19
 
23
- it 'registers an offence for snake case in const name' do
24
- inspect_source(const,
25
- ['TOP_test = 5'])
26
- expect(const.offences.size).to eq(1)
27
- end
20
+ it 'registers an offence for snake case in const name' do
21
+ inspect_source(cop,
22
+ ['TOP_test = 5'])
23
+ expect(cop.offences.size).to eq(1)
24
+ end
28
25
 
29
- it 'allows screaming snake case in const name' do
30
- inspect_source(const,
31
- ['TOP_TEST = 5'])
32
- expect(const.offences).to be_empty
33
- end
26
+ it 'allows screaming snake case in const name' do
27
+ inspect_source(cop,
28
+ ['TOP_TEST = 5'])
29
+ expect(cop.offences).to be_empty
30
+ end
34
31
 
35
- it 'allows screaming snake case in multiple const assignment' do
36
- inspect_source(const,
37
- ['TOP_TEST, TEST_2 = 5, 6'])
38
- expect(const.offences).to be_empty
39
- end
32
+ it 'allows screaming snake case in multiple const assignment' do
33
+ inspect_source(cop,
34
+ ['TOP_TEST, TEST_2 = 5, 6'])
35
+ expect(cop.offences).to be_empty
36
+ end
40
37
 
41
- it 'does not check names if rhs is a method call' do
42
- inspect_source(const,
43
- ['AnythingGoes = test'])
44
- expect(const.offences).to be_empty
45
- end
38
+ it 'does not check names if rhs is a method call' do
39
+ inspect_source(cop,
40
+ ['AnythingGoes = test'])
41
+ expect(cop.offences).to be_empty
42
+ end
46
43
 
47
- it 'does not check names if rhs is a method call with block' do
48
- inspect_source(const,
49
- ['AnythingGoes = test do',
50
- ' do_something',
51
- 'end'
52
- ])
53
- expect(const.offences).to be_empty
54
- end
44
+ it 'does not check names if rhs is a method call with block' do
45
+ inspect_source(cop,
46
+ ['AnythingGoes = test do',
47
+ ' do_something',
48
+ 'end'
49
+ ])
50
+ expect(cop.offences).to be_empty
51
+ end
55
52
 
56
- it 'checks qualified const names' do
57
- inspect_source(const,
58
- ['::AnythingGoes = 30',
59
- 'a::Bar_foo = 10'])
60
- expect(const.offences.size).to eq(2)
61
- end
62
- end
63
- end
53
+ it 'checks qualified const names' do
54
+ inspect_source(cop,
55
+ ['::AnythingGoes = 30',
56
+ 'a::Bar_foo = 10'])
57
+ expect(cop.offences.size).to eq(2)
64
58
  end
65
59
  end
@@ -2,44 +2,38 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe DefWithParentheses do
9
- subject(:cop) { described_class.new }
5
+ describe Rubocop::Cop::Style::DefWithParentheses do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'reports an offence for def with empty parens' do
12
- src = ['def func()',
13
- 'end']
14
- inspect_source(cop, src)
15
- expect(cop.offences.size).to eq(1)
16
- end
8
+ it 'reports an offence for def with empty parens' do
9
+ src = ['def func()',
10
+ 'end']
11
+ inspect_source(cop, src)
12
+ expect(cop.offences.size).to eq(1)
13
+ end
17
14
 
18
- it 'reports an offence for class def with empty parens' do
19
- src = ['def Test.func()',
20
- 'end']
21
- inspect_source(cop, src)
22
- expect(cop.offences.size).to eq(1)
23
- end
15
+ it 'reports an offence for class def with empty parens' do
16
+ src = ['def Test.func()',
17
+ 'end']
18
+ inspect_source(cop, src)
19
+ expect(cop.offences.size).to eq(1)
20
+ end
24
21
 
25
- it 'accepts def with arg and parens' do
26
- src = ['def func(a)',
27
- 'end']
28
- inspect_source(cop, src)
29
- expect(cop.offences).to be_empty
30
- end
22
+ it 'accepts def with arg and parens' do
23
+ src = ['def func(a)',
24
+ 'end']
25
+ inspect_source(cop, src)
26
+ expect(cop.offences).to be_empty
27
+ end
31
28
 
32
- it 'accepts empty parentheses in one liners' do
33
- src = ["def to_s() join '/' end"]
34
- inspect_source(cop, src)
35
- expect(cop.offences).to be_empty
36
- end
29
+ it 'accepts empty parentheses in one liners' do
30
+ src = ["def to_s() join '/' end"]
31
+ inspect_source(cop, src)
32
+ expect(cop.offences).to be_empty
33
+ end
37
34
 
38
- it 'auto-removes unneeded parens' do
39
- new_source = autocorrect_source(cop, "def test();\nsomething\nend")
40
- expect(new_source).to eq("def test;\nsomething\nend")
41
- end
42
- end
43
- end
35
+ it 'auto-removes unneeded parens' do
36
+ new_source = autocorrect_source(cop, "def test();\nsomething\nend")
37
+ expect(new_source).to eq("def test;\nsomething\nend")
44
38
  end
45
39
  end
@@ -2,38 +2,32 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe DefWithoutParentheses do
9
- subject(:cop) { described_class.new }
5
+ describe Rubocop::Cop::Style::DefWithoutParentheses do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'reports an offence for def with parameters but no parens' do
12
- src = ['def func a, b',
13
- 'end']
14
- inspect_source(cop, src)
15
- expect(cop.offences.size).to eq(1)
16
- end
8
+ it 'reports an offence for def with parameters but no parens' do
9
+ src = ['def func a, b',
10
+ 'end']
11
+ inspect_source(cop, src)
12
+ expect(cop.offences.size).to eq(1)
13
+ end
17
14
 
18
- it 'reports an offence for class def with parameters but no parens' do
19
- src = ['def Test.func a, b',
20
- 'end']
21
- inspect_source(cop, src)
22
- expect(cop.offences.size).to eq(1)
23
- end
15
+ it 'reports an offence for class def with parameters but no parens' do
16
+ src = ['def Test.func a, b',
17
+ 'end']
18
+ inspect_source(cop, src)
19
+ expect(cop.offences.size).to eq(1)
20
+ end
24
21
 
25
- it 'accepts def with no args and no parens' do
26
- src = ['def func',
27
- 'end']
28
- inspect_source(cop, src)
29
- expect(cop.offences).to be_empty
30
- end
22
+ it 'accepts def with no args and no parens' do
23
+ src = ['def func',
24
+ 'end']
25
+ inspect_source(cop, src)
26
+ expect(cop.offences).to be_empty
27
+ end
31
28
 
32
- it 'auto-adds required parens' do
33
- new_source = autocorrect_source(cop, 'def test param; end')
34
- expect(new_source).to eq('def test (param); end')
35
- end
36
- end
37
- end
29
+ it 'auto-adds required parens' do
30
+ new_source = autocorrect_source(cop, 'def test param; end')
31
+ expect(new_source).to eq('def test (param); end')
38
32
  end
39
33
  end
@@ -2,78 +2,72 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe Documentation do
9
- subject(:documentation) { Documentation.new }
5
+ describe Rubocop::Cop::Style::Documentation do
6
+ subject(:cop) { described_class.new }
10
7
 
11
- it 'registers an offence for non-empty class' do
12
- inspect_source(documentation,
13
- ['class My_Class',
14
- ' TEST = 20',
15
- 'end'
16
- ])
17
- expect(documentation.offences.size).to eq(1)
18
- end
8
+ it 'registers an offence for non-empty class' do
9
+ inspect_source(cop,
10
+ ['class My_Class',
11
+ ' TEST = 20',
12
+ 'end'
13
+ ])
14
+ expect(cop.offences.size).to eq(1)
15
+ end
19
16
 
20
- it 'registers an offence for non-namespace' do
21
- inspect_source(documentation,
22
- ['module My_Class',
23
- ' TEST = 20',
24
- 'end'
25
- ])
26
- expect(documentation.offences.size).to eq(1)
27
- end
17
+ it 'registers an offence for non-namespace' do
18
+ inspect_source(cop,
19
+ ['module My_Class',
20
+ ' TEST = 20',
21
+ 'end'
22
+ ])
23
+ expect(cop.offences.size).to eq(1)
24
+ end
28
25
 
29
- it 'registers an offence for empty module without documentation' do
30
- # Because why would you have an empty module? It requires some
31
- # explanation.
32
- inspect_source(documentation,
33
- ['module Test',
34
- 'end'
35
- ])
36
- expect(documentation.offences.size).to eq(1)
37
- end
26
+ it 'registers an offence for empty module without documentation' do
27
+ # Because why would you have an empty module? It requires some
28
+ # explanation.
29
+ inspect_source(cop,
30
+ ['module Test',
31
+ 'end'
32
+ ])
33
+ expect(cop.offences.size).to eq(1)
34
+ end
38
35
 
39
- it 'accepts non-empty class with documentation' do
40
- inspect_source(documentation,
41
- ['# class comment',
42
- 'class My_Class',
43
- ' TEST = 20',
44
- 'end'
45
- ])
46
- expect(documentation.offences).to be_empty
47
- end
36
+ it 'accepts non-empty class with documentation' do
37
+ inspect_source(cop,
38
+ ['# class comment',
39
+ 'class My_Class',
40
+ ' TEST = 20',
41
+ 'end'
42
+ ])
43
+ expect(cop.offences).to be_empty
44
+ end
48
45
 
49
- it 'accepts non-empty module with documentation' do
50
- inspect_source(documentation,
51
- ['# class comment',
52
- 'module My_Class',
53
- ' TEST = 20',
54
- 'end'
55
- ])
56
- expect(documentation.offences).to be_empty
57
- end
46
+ it 'accepts non-empty module with documentation' do
47
+ inspect_source(cop,
48
+ ['# class comment',
49
+ 'module My_Class',
50
+ ' TEST = 20',
51
+ 'end'
52
+ ])
53
+ expect(cop.offences).to be_empty
54
+ end
58
55
 
59
- it 'accepts empty class without documentation' do
60
- inspect_source(documentation,
61
- ['class My_Class',
62
- 'end'
63
- ])
64
- expect(documentation.offences).to be_empty
65
- end
56
+ it 'accepts empty class without documentation' do
57
+ inspect_source(cop,
58
+ ['class My_Class',
59
+ 'end'
60
+ ])
61
+ expect(cop.offences).to be_empty
62
+ end
66
63
 
67
- it 'accepts namespace module without documentation' do
68
- inspect_source(documentation,
69
- ['module Test',
70
- ' class A; end',
71
- ' class B; end',
72
- 'end'
73
- ])
74
- expect(documentation.offences).to be_empty
75
- end
76
- end
77
- end
64
+ it 'accepts namespace module without documentation' do
65
+ inspect_source(cop,
66
+ ['module Test',
67
+ ' class A; end',
68
+ ' class B; end',
69
+ 'end'
70
+ ])
71
+ expect(cop.offences).to be_empty
78
72
  end
79
73
  end
@@ -2,74 +2,68 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- module Rubocop
6
- module Cop
7
- module Style
8
- describe DotPosition, :config do
9
- subject(:cop) { DotPosition.new(config) }
5
+ describe Rubocop::Cop::Style::DotPosition, :config do
6
+ subject(:cop) { described_class.new(config) }
10
7
 
11
- context 'Leading dots style' do
12
- let(:cop_config) { { 'Style' => 'Leading' } }
8
+ context 'Leading dots style' do
9
+ let(:cop_config) { { 'Style' => 'Leading' } }
13
10
 
14
- it 'registers an offence for trailing dot in multi-line call' do
15
- inspect_source(cop, ['something.',
16
- ' method_name'])
17
- expect(cop.offences.size).to eq(1)
18
- end
11
+ it 'registers an offence for trailing dot in multi-line call' do
12
+ inspect_source(cop, ['something.',
13
+ ' method_name'])
14
+ expect(cop.offences.size).to eq(1)
15
+ end
19
16
 
20
- it 'accepts leading do in multi-line method call' do
21
- inspect_source(cop, ['something',
22
- ' .method_name'])
23
- expect(cop.offences).to be_empty
24
- end
17
+ it 'accepts leading do in multi-line method call' do
18
+ inspect_source(cop, ['something',
19
+ ' .method_name'])
20
+ expect(cop.offences).to be_empty
21
+ end
25
22
 
26
- it 'does not err on method call with no dots' do
27
- inspect_source(cop, ['puts something'])
28
- expect(cop.offences).to be_empty
29
- end
23
+ it 'does not err on method call with no dots' do
24
+ inspect_source(cop, ['puts something'])
25
+ expect(cop.offences).to be_empty
26
+ end
30
27
 
31
- it 'does not err on method call without a method name' do
32
- inspect_source(cop, ['l.', '(1)'])
33
- expect(cop.offences.size).to eq(1)
34
- end
35
- end
28
+ it 'does not err on method call without a method name' do
29
+ inspect_source(cop, ['l.', '(1)'])
30
+ expect(cop.offences.size).to eq(1)
31
+ end
32
+ end
36
33
 
37
- context 'Trailing dots style' do
38
- let(:cop_config) { { 'Style' => 'Trailing' } }
34
+ context 'Trailing dots style' do
35
+ let(:cop_config) { { 'Style' => 'Trailing' } }
39
36
 
40
- it 'registers an offence for leading dot in multi-line call' do
41
- inspect_source(cop, ['something',
42
- ' .method_name'])
43
- expect(cop.offences.size).to eq(1)
44
- end
37
+ it 'registers an offence for leading dot in multi-line call' do
38
+ inspect_source(cop, ['something',
39
+ ' .method_name'])
40
+ expect(cop.offences.size).to eq(1)
41
+ end
45
42
 
46
- it 'accepts trailing dot in multi-line method call' do
47
- inspect_source(cop, ['something.',
48
- ' method_name'])
49
- expect(cop.offences).to be_empty
50
- end
43
+ it 'accepts trailing dot in multi-line method call' do
44
+ inspect_source(cop, ['something.',
45
+ ' method_name'])
46
+ expect(cop.offences).to be_empty
47
+ end
51
48
 
52
- it 'does not err on method call with no dots' do
53
- inspect_source(cop, ['puts something'])
54
- expect(cop.offences).to be_empty
55
- end
49
+ it 'does not err on method call with no dots' do
50
+ inspect_source(cop, ['puts something'])
51
+ expect(cop.offences).to be_empty
52
+ end
56
53
 
57
- it 'does not err on method call without a method name' do
58
- inspect_source(cop, ['l', '.(1)'])
59
- expect(cop.offences.size).to eq(1)
60
- end
61
- end
54
+ it 'does not err on method call without a method name' do
55
+ inspect_source(cop, ['l', '.(1)'])
56
+ expect(cop.offences.size).to eq(1)
57
+ end
58
+ end
62
59
 
63
- context 'Unknown style' do
64
- let(:cop_config) { { 'Style' => 'test' } }
60
+ context 'Unknown style' do
61
+ let(:cop_config) { { 'Style' => 'test' } }
65
62
 
66
- it 'raises an exception' do
67
- expect do
68
- inspect_source(cop, ['something.top'])
69
- end.to raise_error(RuntimeError)
70
- end
71
- end
72
- end
63
+ it 'raises an exception' do
64
+ expect do
65
+ inspect_source(cop, ['something.top'])
66
+ end.to raise_error(RuntimeError)
73
67
  end
74
68
  end
75
69
  end