class RuboCop::Cop::RSpec::ExampleWithoutDescription
end
expect(result).to be(true)
result = service.call
it do
it { is_expected.to be_good }
# bad
@example ‘EnforcedStyle: disallow`
it { is_expected.to be_good }
# good
end
expect(result).to be(true)
result = service.call
it do
it(”) { is_expected.to be_good }
# bad
@example `EnforcedStyle: single_line_only`
end
expect(result).to be(true)
result = service.call
specify do
it { is_expected.to be_good }
# good
end
expect(result).to be(true)
result = service.call
specify ” do
it(”) { is_expected.to be_good }
# bad
@example `EnforcedStyle: always_allow` (default)
end
expect(result).to be(true)
result = service.call
specify do
# always good
@example
This cop can be configured using the `EnforcedStyle` option
on the configured style.
It also defines whether auto-generated description is allowed, based
This cop removes empty descriptions.
It is acceptable to use `specify` without a description
description provided or the description is an empty one.
RSpec allows for auto-generated example descriptions when there is no
Checks for examples without a description.
def check_example_without_description(node)
def check_example_without_description(node) return if node.arguments? return unless disallow_empty_description?(node) return if node.method?(:specify) && node.parent.multiline? add_offense(node, message: MSG_ADD_DESCRIPTION) end
def disallow_empty_description?(node)
def disallow_empty_description?(node) style == :disallow || (style == :single_line_only && node.parent.multiline?) end
def on_block(node) # rubocop:disable InternalAffairs/NumblockHandler
def on_block(node) # rubocop:disable InternalAffairs/NumblockHandler return unless example?(node) check_example_without_description(node.send_node) example_description(node.send_node) do |message_node, message| return unless message.to_s.empty? add_offense(message_node, message: MSG_DEFAULT_ARGUMENT) end end