class RuboCop::Cop::RSpec::EmptyOutput


expect { bar }.to output.to_stderr
expect { foo }.not_to output.to_stdout
# good
expect { bar }.not_to output(”).to_stderr
expect { foo }.to output(”).to_stdout
# bad
@example
Check that the ‘output` matcher is not called with an empty string.

def on_send(send_node)

def on_send(send_node)
  matching_empty_output(send_node) do |node|
    runner = send_node.method?(:to) ? 'not_to' : 'to'
    message = format(MSG, runner: runner)
    add_offense(node, message: message) do |corrector|
      corrector.replace(send_node.loc.selector, runner)
      corrector.replace(node, 'output')
    end
  end
end