Sha256: eaa82497f97a8e75dd49e47ca97e48783f16ab8936ae49d13f4798175a3c1ffe

Contents?: true

Size: 533 Bytes

Versions: 2

Compression:

Stored size: 533 Bytes

Contents

require 'stringio'

module Spectus
  module Matcher

    # Provides the implementation for `capture_stderr`.
    class CaptureStderr
      def initialize expected
        @expected = expected

        freeze
      end

      # @return [Boolean] Comparison between actual and expected values.
      def matches?
        begin
          orig_std  = $stderr
          $stderr   = StringIO.new

          yield
          $stderr.string.eql? @expected
        ensure
          $stderr   = orig_std
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
spectus-1.0.1 lib/spectus/matcher/capture_stderr.rb
spectus-1.0.0 lib/spectus/matcher/capture_stderr.rb