/
empty_line_after_example_spec.rb
117 lines (102 loc) · 2.28 KB
/
empty_line_after_example_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# frozen_string_literal: true
RSpec.describe RuboCop::Cop::RSpec::EmptyLineAfterExample do
it 'flags a missing empty line after `it`' do
expect_offense(<<-RUBY)
RSpec.describe Foo do
it 'does this' do
end
^^^ Add an empty line after `it`.
it 'does that' do
end
end
RUBY
expect_correction(<<-RUBY)
RSpec.describe Foo do
it 'does this' do
end
it 'does that' do
end
end
RUBY
end
it 'flags one-line examples' do
expect_offense(<<-RUBY)
RSpec.describe Foo do
it { }
^^^^^^ Add an empty line after `it`.
it 'does that' do
end
end
RUBY
expect_correction(<<-RUBY)
RSpec.describe Foo do
it { }
it 'does that' do
end
end
RUBY
end
it 'flags a missing empty line after `specify`' do
expect_offense(<<-RUBY)
RSpec.context 'foo' do
specify do
end
^^^ Add an empty line after `specify`.
specify 'something gets done' do
end
end
RUBY
expect_correction(<<-RUBY)
RSpec.context 'foo' do
specify do
end
specify 'something gets done' do
end
end
RUBY
end
it 'ignores when an empty line is present' do
expect_no_offenses(<<-RUBY)
RSpec.describe Foo do
it 'does this' do
end
it 'does that' do
end
end
RUBY
end
it 'ignores consecutive one-liners' do
expect_no_offenses(<<-RUBY)
RSpec.describe Foo do
it { one }
it { two }
end
RUBY
end
it 'flags mixed one-line and multi-line examples' do
expect_offense(<<-RUBY)
RSpec.context 'foo' do
it { }
it { }
^^^^^^ Add an empty line after `it`.
it 'does this' do
end
^^^ Add an empty line after `it`.
it { }
it { }
end
RUBY
end
context 'when AllowConsecutiveOneLiners is false' do
let(:cop_config) { { 'AllowConsecutiveOneLiners' => false } }
it 'ignores consecutive one-liners' do
expect_offense(<<-RUBY)
RSpec.describe Foo do
it { one }
^^^^^^^^^^ Add an empty line after `it`.
it { two }
end
RUBY
end
end
end