class StderrAssay

Assert that there is output $stderr.

StderrAssay.pass?(/foo/){ $stderr.puts 'foo!' }  #=> true

Public Class Methods

pass?(match) { || ... } click to toggle source

Check assertion via ‘#===` method.

# File lib/assay/stderr_assay.rb, line 14
def self.pass?(match, &block)
  require 'stringio'

  begin
    stderr  = $stderr
    newerr  = StringIO.new
    $stderr = newerr
    yield  
  ensure
    $stderr = stderr
  end

  match === newerr.string.chomp("\n")
end