# File lib/mspec/matchers/output.rb, line 9
 9:   def matches?(proc)
10:     @saved_out = $stdout
11:     @saved_err = $stderr
12:     @stdout = $stdout = IOStub.new
13:     @stderr = $stderr = IOStub.new
14: 
15:     proc.call
16: 
17:     unless @out.nil?
18:       case @out
19:       when Regexp
20:         return false unless $stdout =~ @out
21:       else
22:         return false unless $stdout == @out
23:       end
24:     end
25: 
26:     unless @err.nil?
27:       case @err
28:       when Regexp
29:         return false unless $stderr =~ @err
30:       else
31:         return false unless $stderr == @err
32:       end
33:     end
34: 
35:     return true
36:   ensure
37:     $stdout = @saved_out
38:     $stderr = @saved_err
39:   end