rubocop 0.7.2 → 0.8.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.
- checksums.yaml +4 -4
- data/.travis.yml +7 -1
- data/CHANGELOG.md +19 -0
- data/README.md +4 -8
- data/bin/rubocop +2 -2
- data/config/default.yml +8 -0
- data/config/enabled.yml +21 -24
- data/lib/rubocop.rb +9 -7
- data/lib/rubocop/cli.rb +73 -52
- data/lib/rubocop/config.rb +8 -5
- data/lib/rubocop/cop/access_control.rb +41 -0
- data/lib/rubocop/cop/alias.rb +7 -5
- data/lib/rubocop/cop/align_parameters.rb +20 -96
- data/lib/rubocop/cop/and_or.rb +26 -0
- data/lib/rubocop/cop/ascii_comments.rb +3 -8
- data/lib/rubocop/cop/ascii_identifiers.rb +6 -5
- data/lib/rubocop/cop/avoid_class_vars.rb +5 -10
- data/lib/rubocop/cop/avoid_for.rb +7 -5
- data/lib/rubocop/cop/avoid_global_vars.rb +19 -7
- data/lib/rubocop/cop/avoid_perl_backrefs.rb +7 -10
- data/lib/rubocop/cop/avoid_perlisms.rb +11 -10
- data/lib/rubocop/cop/block_comments.rb +4 -6
- data/lib/rubocop/cop/blocks.rb +11 -47
- data/lib/rubocop/cop/case_indentation.rb +9 -31
- data/lib/rubocop/cop/class_and_module_camel_case.rb +20 -11
- data/lib/rubocop/cop/class_methods.rb +5 -10
- data/lib/rubocop/cop/collection_methods.rb +16 -16
- data/lib/rubocop/cop/colon_method_call.rb +8 -32
- data/lib/rubocop/cop/constant_name.rb +24 -0
- data/lib/rubocop/cop/cop.rb +20 -78
- data/lib/rubocop/cop/def_parentheses.rb +43 -35
- data/lib/rubocop/cop/empty_line_between_defs.rb +11 -15
- data/lib/rubocop/cop/empty_lines.rb +20 -9
- data/lib/rubocop/cop/empty_literal.rb +47 -0
- data/lib/rubocop/cop/encoding.rb +3 -3
- data/lib/rubocop/cop/end_of_line.rb +3 -3
- data/lib/rubocop/cop/ensure_return.rb +6 -23
- data/lib/rubocop/cop/eval.rb +7 -10
- data/lib/rubocop/cop/favor_join.rb +9 -24
- data/lib/rubocop/cop/favor_modifier.rb +38 -48
- data/lib/rubocop/cop/favor_percent_r.rb +7 -7
- data/lib/rubocop/cop/favor_sprintf.rb +8 -24
- data/lib/rubocop/cop/favor_unless_over_negated_if.rb +19 -17
- data/lib/rubocop/cop/handle_exceptions.rb +7 -11
- data/lib/rubocop/cop/hash_syntax.rb +29 -14
- data/lib/rubocop/cop/if_then_else.rb +32 -29
- data/lib/rubocop/cop/leading_comment_space.rb +5 -8
- data/lib/rubocop/cop/line_continuation.rb +4 -7
- data/lib/rubocop/cop/line_length.rb +3 -3
- data/lib/rubocop/cop/loop.rb +33 -0
- data/lib/rubocop/cop/method_and_variable_snake_case.rb +42 -19
- data/lib/rubocop/cop/method_length.rb +34 -37
- data/lib/rubocop/cop/new_lambda_literal.rb +8 -6
- data/lib/rubocop/cop/not.rb +10 -4
- data/lib/rubocop/cop/numeric_literals.rb +9 -7
- data/lib/rubocop/cop/offence.rb +1 -1
- data/lib/rubocop/cop/op_method.rb +12 -22
- data/lib/rubocop/cop/parameter_lists.rb +12 -6
- data/lib/rubocop/cop/parentheses_around_condition.rb +11 -11
- data/lib/rubocop/cop/percent_r.rb +7 -7
- data/lib/rubocop/cop/reduce_arguments.rb +13 -51
- data/lib/rubocop/cop/rescue_exception.rb +13 -29
- data/lib/rubocop/cop/rescue_modifier.rb +5 -8
- data/lib/rubocop/cop/semicolon.rb +15 -74
- data/lib/rubocop/cop/single_line_methods.rb +28 -44
- data/lib/rubocop/cop/space_after_comma_etc.rb +29 -9
- data/lib/rubocop/cop/space_after_control_keyword.rb +16 -15
- data/lib/rubocop/cop/string_literals.rb +9 -35
- data/lib/rubocop/cop/surrounding_space.rb +213 -112
- data/lib/rubocop/cop/symbol_array.rb +9 -7
- data/lib/rubocop/cop/symbol_name.rb +23 -0
- data/lib/rubocop/cop/syntax.rb +14 -7
- data/lib/rubocop/cop/tab.rb +3 -3
- data/lib/rubocop/cop/ternary_operator.rb +26 -24
- data/lib/rubocop/cop/trailing_whitespace.rb +3 -5
- data/lib/rubocop/cop/trivial_accessors.rb +18 -95
- data/lib/rubocop/cop/unless_else.rb +11 -7
- data/lib/rubocop/cop/util.rb +26 -0
- data/lib/rubocop/cop/variable_interpolation.rb +18 -10
- data/lib/rubocop/cop/when_then.rb +6 -17
- data/lib/rubocop/cop/word_array.rb +18 -19
- data/lib/rubocop/version.rb +1 -1
- data/rubocop.gemspec +1 -0
- data/spec/project_spec.rb +1 -1
- data/spec/rubocop/cli_spec.rb +16 -9
- data/spec/rubocop/config_spec.rb +13 -3
- data/spec/rubocop/cops/access_control_spec.rb +129 -0
- data/spec/rubocop/cops/alias_spec.rb +2 -6
- data/spec/rubocop/cops/align_parameters_spec.rb +58 -71
- data/spec/rubocop/cops/and_or_spec.rb +37 -0
- data/spec/rubocop/cops/ascii_comments_spec.rb +3 -4
- data/spec/rubocop/cops/ascii_identifiers_spec.rb +3 -4
- data/spec/rubocop/cops/avoid_class_vars_spec.rb +7 -2
- data/spec/rubocop/cops/avoid_for_spec.rb +1 -4
- data/spec/rubocop/cops/{avoid_global_vars.rb → avoid_global_vars_spec.rb} +4 -4
- data/spec/rubocop/cops/avoid_perl_backrefs_spec.rb +1 -1
- data/spec/rubocop/cops/avoid_perlisms_spec.rb +5 -5
- data/spec/rubocop/cops/block_comments_spec.rb +0 -4
- data/spec/rubocop/cops/blocks_spec.rb +33 -0
- data/spec/rubocop/cops/case_indentation_spec.rb +5 -5
- data/spec/rubocop/cops/class_and_module_camel_case_spec.rb +15 -5
- data/spec/rubocop/cops/class_methods_spec.rb +4 -4
- data/spec/rubocop/cops/collection_methods_spec.rb +9 -4
- data/spec/rubocop/cops/colon_method_call_spec.rb +11 -5
- data/spec/rubocop/cops/constant_name_spec.rb +42 -0
- data/spec/rubocop/cops/def_with_parentheses_spec.rb +13 -8
- data/spec/rubocop/cops/def_without_parentheses_spec.rb +11 -5
- data/spec/rubocop/cops/empty_line_between_defs_spec.rb +38 -38
- data/spec/rubocop/cops/empty_lines_spec.rb +15 -3
- data/spec/rubocop/cops/empty_literal_spec.rb +90 -0
- data/spec/rubocop/cops/encoding_spec.rb +9 -9
- data/spec/rubocop/cops/end_of_line_spec.rb +2 -2
- data/spec/rubocop/cops/ensure_return_spec.rb +1 -3
- data/spec/rubocop/cops/eval_spec.rb +8 -5
- data/spec/rubocop/cops/favor_join_spec.rb +1 -5
- data/spec/rubocop/cops/favor_modifier_spec.rb +16 -14
- data/spec/rubocop/cops/{favor_percent_r.rb → favor_percent_r_spec.rb} +6 -6
- data/spec/rubocop/cops/favor_sprintf_spec.rb +3 -9
- data/spec/rubocop/cops/favor_unless_over_negated_if_spec.rb +4 -4
- data/spec/rubocop/cops/favor_until_over_negated_while_spec.rb +3 -3
- data/spec/rubocop/cops/handle_exceptions_spec.rb +1 -3
- data/spec/rubocop/cops/hash_syntax_spec.rb +11 -6
- data/spec/rubocop/cops/if_with_semicolon_spec.rb +7 -1
- data/spec/rubocop/cops/leading_comment_space_spec.rb +0 -7
- data/spec/rubocop/cops/line_continuation_spec.rb +2 -2
- data/spec/rubocop/cops/line_length_spec.rb +2 -2
- data/spec/rubocop/cops/loop_spec.rb +31 -0
- data/spec/rubocop/cops/method_and_variable_snake_case_spec.rb +38 -12
- data/spec/rubocop/cops/method_length_spec.rb +85 -85
- data/spec/rubocop/cops/multiline_if_then_spec.rb +15 -15
- data/spec/rubocop/cops/new_lambda_literal_spec.rb +3 -3
- data/spec/rubocop/cops/not_spec.rb +1 -4
- data/spec/rubocop/cops/numeric_literals_spec.rb +13 -13
- data/spec/rubocop/cops/one_line_conditional_spec.rb +1 -1
- data/spec/rubocop/cops/op_method_spec.rb +2 -9
- data/spec/rubocop/cops/parameter_lists_spec.rb +7 -7
- data/spec/rubocop/cops/parentheses_around_condition_spec.rb +41 -44
- data/spec/rubocop/cops/percent_r_spec.rb +6 -6
- data/spec/rubocop/cops/reduce_arguments_spec.rb +4 -4
- data/spec/rubocop/cops/rescue_exception_spec.rb +48 -8
- data/spec/rubocop/cops/rescue_modifier_spec.rb +2 -5
- data/spec/rubocop/cops/semicolon_spec.rb +2 -30
- data/spec/rubocop/cops/single_line_methods_spec.rb +13 -13
- data/spec/rubocop/cops/space_after_colon_spec.rb +3 -3
- data/spec/rubocop/cops/space_after_comma_spec.rb +14 -2
- data/spec/rubocop/cops/space_after_control_keyword_spec.rb +42 -3
- data/spec/rubocop/cops/space_after_semicolon_spec.rb +2 -2
- data/spec/rubocop/cops/space_around_braces_spec.rb +18 -3
- data/spec/rubocop/cops/space_around_equals_in_default_parameter_spec.rb +4 -4
- data/spec/rubocop/cops/space_around_operators_spec.rb +82 -27
- data/spec/rubocop/cops/space_inside_brackets_spec.rb +13 -7
- data/spec/rubocop/cops/space_inside_hash_literal_braces_spec.rb +14 -9
- data/spec/rubocop/cops/space_inside_parens_spec.rb +7 -3
- data/spec/rubocop/cops/string_literals_spec.rb +17 -5
- data/spec/rubocop/cops/symbol_array_spec.rb +18 -2
- data/spec/rubocop/cops/symbol_name_spec.rb +119 -0
- data/spec/rubocop/cops/syntax_spec.rb +25 -18
- data/spec/rubocop/cops/tab_spec.rb +2 -2
- data/spec/rubocop/cops/ternary_operator_spec.rb +13 -17
- data/spec/rubocop/cops/trailing_whitespace_spec.rb +3 -3
- data/spec/rubocop/cops/trivial_accessors_spec.rb +17 -20
- data/spec/rubocop/cops/unless_else_spec.rb +8 -8
- data/spec/rubocop/cops/variable_interpolation_spec.rb +0 -5
- data/spec/rubocop/cops/when_then_spec.rb +14 -21
- data/spec/rubocop/cops/word_array_spec.rb +12 -4
- data/spec/spec_helper.rb +12 -4
- metadata +40 -31
- data/.document +0 -5
- data/lib/rubocop/cop/ampersands_pipes_vs_and_or.rb +0 -25
- data/lib/rubocop/cop/array_literal.rb +0 -61
- data/lib/rubocop/cop/brace_after_percent.rb +0 -32
- data/lib/rubocop/cop/grammar.rb +0 -138
- data/lib/rubocop/cop/hash_literal.rb +0 -61
- data/lib/rubocop/cop/percent_literals.rb +0 -25
- data/lib/rubocop/cop/symbol_snake_case.rb +0 -47
- data/spec/rubocop/cops/ampersands_pipes_vs_and_or_spec.rb +0 -57
- data/spec/rubocop/cops/array_literal_spec.rb +0 -46
- data/spec/rubocop/cops/brace_after_percent_spec.rb +0 -33
- data/spec/rubocop/cops/grammar_spec.rb +0 -81
- data/spec/rubocop/cops/hash_literal_spec.rb +0 -46
- data/spec/rubocop/cops/multiline_blocks_spec.rb +0 -24
- data/spec/rubocop/cops/percent_literals_spec.rb +0 -47
- data/spec/rubocop/cops/single_line_blocks_spec.rb +0 -22
- data/spec/rubocop/cops/symbol_snake_case_spec.rb +0 -93
@@ -1,46 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
module Rubocop
|
6
|
-
module Cop
|
7
|
-
describe ArrayLiteral do
|
8
|
-
let(:a) { ArrayLiteral.new }
|
9
|
-
|
10
|
-
it 'registers an offence for Array.new()' do
|
11
|
-
inspect_source(a,
|
12
|
-
'file.rb',
|
13
|
-
['test = Array.new()'])
|
14
|
-
expect(a.offences.size).to eq(1)
|
15
|
-
expect(a.offences.map(&:message))
|
16
|
-
.to eq([ArrayLiteral::ERROR_MESSAGE])
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'registers an offence for Array.new' do
|
20
|
-
inspect_source(a,
|
21
|
-
'file.rb',
|
22
|
-
['test = Array.new'])
|
23
|
-
expect(a.offences.size).to eq(1)
|
24
|
-
expect(a.offences.map(&:message))
|
25
|
-
.to eq([ArrayLiteral::ERROR_MESSAGE])
|
26
|
-
end
|
27
|
-
|
28
|
-
it 'does not register an offence for Array.new(3)' do
|
29
|
-
inspect_source(a,
|
30
|
-
'file.rb',
|
31
|
-
['test = Array.new(3)'])
|
32
|
-
expect(a.offences).to be_empty
|
33
|
-
end
|
34
|
-
|
35
|
-
it 'does not crash when a method is called on super' do
|
36
|
-
inspect_source(a,
|
37
|
-
'file.rb',
|
38
|
-
['class Derived < Base',
|
39
|
-
' def func',
|
40
|
-
' super.slice(1..2)',
|
41
|
-
' end',
|
42
|
-
'end'])
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
@@ -1,33 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
module Rubocop
|
6
|
-
module Cop
|
7
|
-
describe BraceAfterPercent do
|
8
|
-
let(:bap) { BraceAfterPercent.new }
|
9
|
-
literals = %w(q Q r i I w W x s)
|
10
|
-
|
11
|
-
literals.each do |literal|
|
12
|
-
# %i and %I are new in ruby 2.0
|
13
|
-
tag = literal.downcase == 'i' ? { ruby: 2.0 } : {}
|
14
|
-
|
15
|
-
it "registers an offence for %#{literal}[", tag do
|
16
|
-
inspect_source(bap,
|
17
|
-
'file.rb',
|
18
|
-
["puts %#{literal}[test top]"])
|
19
|
-
expect(bap.offences.size).to eq(1)
|
20
|
-
expect(bap.offences.map(&:message))
|
21
|
-
.to eq([BraceAfterPercent::ERROR_MESSAGE])
|
22
|
-
end
|
23
|
-
|
24
|
-
it "does not registers an offence for %#{literal}(", tag do
|
25
|
-
inspect_source(bap,
|
26
|
-
'file.rb',
|
27
|
-
["puts %#{literal}(test top)"])
|
28
|
-
expect(bap.offences).to be_empty
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
@@ -1,81 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
module Rubocop
|
6
|
-
module Cop
|
7
|
-
describe Grammar do
|
8
|
-
EXAMPLE = '3.times { |i| x = "#{c ? y : a}#{z}}" }'
|
9
|
-
tokens = Ripper.lex(EXAMPLE).map { |t| Token.new(*t) }
|
10
|
-
let(:grammar) { Grammar.new(tokens) }
|
11
|
-
|
12
|
-
it 'correlates token indices to grammar paths' do
|
13
|
-
method_block = [:program, :method_add_block]
|
14
|
-
brace_block = method_block + [:brace_block]
|
15
|
-
string_embexpr = brace_block + [:assign, :string_literal,
|
16
|
-
:string_content,
|
17
|
-
:string_embexpr]
|
18
|
-
|
19
|
-
test_2_0 = [[[1, 0], :on_int, '3'],
|
20
|
-
[[1, 1], :on_period, '.'],
|
21
|
-
[[1, 2], :on_ident, 'times'],
|
22
|
-
[[1, 7], :on_sp, ' '],
|
23
|
-
[[1, 8], :on_lbrace, '{'],
|
24
|
-
[[1, 9], :on_sp, ' '], # 5
|
25
|
-
[[1, 10], :on_op, '|'],
|
26
|
-
[[1, 11], :on_ident, 'i'],
|
27
|
-
[[1, 12], :on_op, '|'],
|
28
|
-
[[1, 13], :on_sp, ' '],
|
29
|
-
[[1, 14], :on_ident, 'x'],
|
30
|
-
[[1, 15], :on_sp, ' '],
|
31
|
-
[[1, 16], :on_op, '='],
|
32
|
-
[[1, 17], :on_sp, ' '],
|
33
|
-
[[1, 18], :on_tstring_beg, '"'],
|
34
|
-
[[1, 19], :on_embexpr_beg, '#{'],
|
35
|
-
[[1, 21], :on_ident, 'c'],
|
36
|
-
[[1, 22], :on_sp, ' '],
|
37
|
-
[[1, 23], :on_op, '?'],
|
38
|
-
[[1, 24], :on_sp, ' '],
|
39
|
-
[[1, 25], :on_ident, 'y'],
|
40
|
-
[[1, 26], :on_sp, ' '],
|
41
|
-
[[1, 27], :on_op, ':'],
|
42
|
-
[[1, 28], :on_sp, ' '],
|
43
|
-
[[1, 29], :on_ident, 'a'],
|
44
|
-
[[1, 30], :on_embexpr_end, '}'],
|
45
|
-
[[1, 31], :on_embexpr_beg, '#{'],
|
46
|
-
[[1, 33], :on_ident, 'z'],
|
47
|
-
[[1, 34], :on_embexpr_end, '}'],
|
48
|
-
[[1, 35], :on_tstring_content, '}'],
|
49
|
-
[[1, 36], :on_tstring_end, '"'],
|
50
|
-
[[1, 37], :on_sp, ' '],
|
51
|
-
[[1, 38], :on_rbrace, '}']]
|
52
|
-
expect(Ripper.lex(EXAMPLE)).to eq(test_2_0) if RUBY_VERSION >= '2.0'
|
53
|
-
sexp = Ripper.sexp(EXAMPLE)
|
54
|
-
Position.make_position_objects(sexp)
|
55
|
-
|
56
|
-
varref = (RUBY_VERSION == '1.9.2') ? :var_ref : :vcall
|
57
|
-
|
58
|
-
test = {
|
59
|
-
0 => method_block + [:call, :@int], # 3
|
60
|
-
2 => method_block + [:call, :@ident], # times
|
61
|
-
4 => brace_block, # {
|
62
|
-
6 => brace_block + [:block_var], # |
|
63
|
-
7 => brace_block + [:block_var, :params, :@ident], # i
|
64
|
-
8 => brace_block + [:block_var], # |
|
65
|
-
10 => brace_block + [:assign, :var_field, :@ident], # x
|
66
|
-
12 => brace_block + [:assign], # =
|
67
|
-
16 => string_embexpr + [:ifop, varref, :@ident], # c
|
68
|
-
18 => string_embexpr + [:ifop], # ?
|
69
|
-
20 => string_embexpr + [:ifop, varref, :@ident], # y
|
70
|
-
22 => string_embexpr + [:ifop], # :
|
71
|
-
24 => string_embexpr + [:ifop, varref, :@ident], # a
|
72
|
-
27 => string_embexpr + [:vcall, :@ident], # z
|
73
|
-
29 => brace_block + [:assign, :string_literal,
|
74
|
-
:string_content, :@tstring_content], # }
|
75
|
-
32 => brace_block,
|
76
|
-
}
|
77
|
-
expect(grammar.correlate(sexp)).to eq(test)
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
module Rubocop
|
6
|
-
module Cop
|
7
|
-
describe HashLiteral do
|
8
|
-
let(:a) { HashLiteral.new }
|
9
|
-
|
10
|
-
it 'registers an offence for Hash.new()' do
|
11
|
-
inspect_source(a,
|
12
|
-
'file.rb',
|
13
|
-
['test = Hash.new()'])
|
14
|
-
expect(a.offences.size).to eq(1)
|
15
|
-
expect(a.offences.map(&:message))
|
16
|
-
.to eq([HashLiteral::ERROR_MESSAGE])
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'registers an offence for Hash.new' do
|
20
|
-
inspect_source(a,
|
21
|
-
'file.rb',
|
22
|
-
['test = Hash.new'])
|
23
|
-
expect(a.offences.size).to eq(1)
|
24
|
-
expect(a.offences.map(&:message))
|
25
|
-
.to eq([HashLiteral::ERROR_MESSAGE])
|
26
|
-
end
|
27
|
-
|
28
|
-
it 'does not register an offence for Hash.new(3)' do
|
29
|
-
inspect_source(a,
|
30
|
-
'file.rb',
|
31
|
-
['test = Hash.new(3)'])
|
32
|
-
expect(a.offences).to be_empty
|
33
|
-
end
|
34
|
-
|
35
|
-
it 'does not crash when a method is called on super' do
|
36
|
-
inspect_source(a,
|
37
|
-
'file.rb',
|
38
|
-
['class Derived < Base',
|
39
|
-
' def func',
|
40
|
-
' super.slice(1..2)',
|
41
|
-
' end',
|
42
|
-
'end'])
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
module Rubocop
|
6
|
-
module Cop
|
7
|
-
describe MultilineBlocks do
|
8
|
-
let(:blocks) { MultilineBlocks.new }
|
9
|
-
|
10
|
-
it 'registers an offence for a multiline block with braces' do
|
11
|
-
inspect_source(blocks, '', ['each { |x|',
|
12
|
-
'}'])
|
13
|
-
expect(blocks.offences.map(&:message)).to eq(
|
14
|
-
['Avoid using {...} for multi-line blocks.'])
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'accepts a multiline block with do-end' do
|
18
|
-
inspect_source(blocks, '', ['each do |x|',
|
19
|
-
'end'])
|
20
|
-
expect(blocks.offences.map(&:message)).to be_empty
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,47 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
module Rubocop
|
6
|
-
module Cop
|
7
|
-
describe PercentLiterals do
|
8
|
-
let(:pl) { PercentLiterals.new }
|
9
|
-
|
10
|
-
it 'registers an offence for %q' do
|
11
|
-
inspect_source(pl,
|
12
|
-
'file.rb',
|
13
|
-
['puts %q(test)'])
|
14
|
-
expect(pl.offences.size).to eq(1)
|
15
|
-
expect(pl.offences.map(&:message))
|
16
|
-
.to eq(['The use of %q is discouraged.'])
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'registers an offence for %Q' do
|
20
|
-
inspect_source(pl,
|
21
|
-
'file.rb',
|
22
|
-
['puts %Q(test)'])
|
23
|
-
expect(pl.offences.size).to eq(1)
|
24
|
-
expect(pl.offences.map(&:message))
|
25
|
-
.to eq(['The use of %Q is discouraged.'])
|
26
|
-
end
|
27
|
-
|
28
|
-
it 'registers an offence for %x' do
|
29
|
-
inspect_source(pl,
|
30
|
-
'file.rb',
|
31
|
-
['puts %x(test)'])
|
32
|
-
expect(pl.offences.size).to eq(1)
|
33
|
-
expect(pl.offences.map(&:message))
|
34
|
-
.to eq(['The use of %x is discouraged.'])
|
35
|
-
end
|
36
|
-
|
37
|
-
it 'registers an offence for %s' do
|
38
|
-
inspect_source(pl,
|
39
|
-
'file.rb',
|
40
|
-
['puts %s(test)'])
|
41
|
-
expect(pl.offences.size).to eq(1)
|
42
|
-
expect(pl.offences.map(&:message))
|
43
|
-
.to eq(['The use of %s is discouraged.'])
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
module Rubocop
|
6
|
-
module Cop
|
7
|
-
describe SingleLineBlocks do
|
8
|
-
let(:blocks) { SingleLineBlocks.new }
|
9
|
-
|
10
|
-
it 'registers an offence for a single line block with do-end' do
|
11
|
-
inspect_source(blocks, '', ['each do |x| end'])
|
12
|
-
expect(blocks.offences.map(&:message)).to eq(
|
13
|
-
['Prefer {...} over do...end for single-line blocks.'])
|
14
|
-
end
|
15
|
-
|
16
|
-
it 'accepts a single line block with braces' do
|
17
|
-
inspect_source(blocks, '', ['each { |x| }'])
|
18
|
-
expect(blocks.offences.map(&:message)).to be_empty
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,93 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
module Rubocop
|
6
|
-
module Cop
|
7
|
-
describe SymbolSnakeCase do
|
8
|
-
let(:snake_case) { SymbolSnakeCase.new }
|
9
|
-
|
10
|
-
it 'registers an offence for camel case in names' do
|
11
|
-
inspect_source(snake_case, 'file.rb',
|
12
|
-
['test = :BadIdea'])
|
13
|
-
expect(snake_case.offences.map(&:message)).to eq(
|
14
|
-
['Use snake_case for symbols.'])
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'registers an offence for symbol used as hash label' do
|
18
|
-
inspect_source(snake_case, 'file.rb',
|
19
|
-
['{ ONE: 1, TWO: 2 }'])
|
20
|
-
expect(snake_case.offences.map(&:message)).to eq(
|
21
|
-
['Use snake_case for symbols.'] * 2)
|
22
|
-
end
|
23
|
-
|
24
|
-
it 'accepts snake case in names' do
|
25
|
-
inspect_source(snake_case, 'file.rb',
|
26
|
-
['test = :good_idea'])
|
27
|
-
expect(snake_case.offences).to be_empty
|
28
|
-
end
|
29
|
-
|
30
|
-
it 'accepts snake case in hash label names' do
|
31
|
-
inspect_source(snake_case, 'file.rb',
|
32
|
-
['{ one: 1, one_more_3: 2 }'])
|
33
|
-
expect(snake_case.offences).to be_empty
|
34
|
-
end
|
35
|
-
|
36
|
-
it 'accepts snake case with a prefix @ in names' do
|
37
|
-
inspect_source(snake_case, 'file.rb',
|
38
|
-
['test = :@good_idea'])
|
39
|
-
expect(snake_case.offences).to be_empty
|
40
|
-
end
|
41
|
-
|
42
|
-
it 'accepts snake case with ? suffix' do
|
43
|
-
inspect_source(snake_case, 'file.rb',
|
44
|
-
['test = :good_idea?'])
|
45
|
-
expect(snake_case.offences).to be_empty
|
46
|
-
end
|
47
|
-
|
48
|
-
it 'accepts snake case with ! suffix' do
|
49
|
-
inspect_source(snake_case, 'file.rb',
|
50
|
-
['test = :good_idea!'])
|
51
|
-
expect(snake_case.offences).to be_empty
|
52
|
-
end
|
53
|
-
|
54
|
-
it 'accepts snake case with = suffix' do
|
55
|
-
inspect_source(snake_case, 'file.rb',
|
56
|
-
['test = :good_idea='])
|
57
|
-
expect(snake_case.offences).to be_empty
|
58
|
-
end
|
59
|
-
|
60
|
-
it 'accepts special cases - !, [] and **' do
|
61
|
-
inspect_source(snake_case, 'file.rb',
|
62
|
-
['test = :**',
|
63
|
-
'test = :!',
|
64
|
-
'test = :[]',
|
65
|
-
'test = :[]='])
|
66
|
-
expect(snake_case.offences).to be_empty
|
67
|
-
end
|
68
|
-
|
69
|
-
it 'accepts special cases - ==, <=>, >, <, >=, <=' do
|
70
|
-
inspect_source(snake_case, 'file.rb',
|
71
|
-
['test = :==',
|
72
|
-
'test = :<=>',
|
73
|
-
'test = :>',
|
74
|
-
'test = :<',
|
75
|
-
'test = :>=',
|
76
|
-
'test = :<='])
|
77
|
-
expect(snake_case.offences).to be_empty
|
78
|
-
end
|
79
|
-
|
80
|
-
it 'can handle an alias of and operator without crashing' do
|
81
|
-
inspect_source(snake_case, 'file.rb',
|
82
|
-
['alias + add'])
|
83
|
-
expect(snake_case.offences).to be_empty
|
84
|
-
end
|
85
|
-
|
86
|
-
it 'registers an offence for SCREAMING_SNAKE_CASE' do
|
87
|
-
inspect_source(snake_case, 'file.rb',
|
88
|
-
['test = :BAD_IDEA'])
|
89
|
-
expect(snake_case.offences.size).to eq(1)
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|