class RuboCop::Cop::RSpec::ContextWording

end
# …
context ‘when the display name is not present’ do
# good
end
# …
context ‘the display name not present’ do
# bad
@example
# - for
# - unless
# - if
# - without
# - with
# - when
# Prefixes:
# RSpec/ContextWording:
# .rubocop.yml
@example ‘Prefixes` configuration
@see www.betterspecs.org/#contexts<br>@see rspec.rubystyle.guide/#context-descriptions<br><br>include `if`, `unless`, `for`, `before`, `after`, or `during`.
the configuration to meet project needs. Other acceptable prefixes may
The default list of prefixes is minimal. Users are encouraged to tailor
Checks that `context` docstring starts with an allowed prefix.

def bad_prefix?(description)

def bad_prefix?(description)
  !prefixes.include?(description.split.first)
end

def joined_prefixes

def joined_prefixes
  quoted = prefixes.map { |prefix| "'#{prefix}'" }
  return quoted.first if quoted.size == 1
  quoted << "or #{quoted.pop}"
  quoted.join(', ')
end

def on_block(node)

def on_block(node)
  context_wording(node) do |context|
    add_offense(context,
                message: format(MSG, prefixes: joined_prefixes))
  end
end

def prefixes

def prefixes
  cop_config['Prefixes'] || []
end