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