Class: RSpec::Matchers::BuiltIn::Output Private
- Inherits:
- 
      BaseMatcher
        - Object
- BaseMatcher
- RSpec::Matchers::BuiltIn::Output
 
- Defined in:
- lib/rspec/matchers/built_in/output.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Provides the implementation for output.
Not intended to be instantiated directly.
Constant Summary
Constant Summary
Constants inherited from BaseMatcher
Instance Method Summary (collapse)
- - (String) description private
- - (Boolean) diffable? private
- - (Boolean) does_not_match?(block) private
- - (String) failure_message private
- - (String) failure_message_when_negated private
- 
  
      - (Output) initialize(expected) 
  
    constructor
  private
    A new instance of Output. 
- - (Boolean) matches?(block) private
- 
  
      - (True) supports_block_expectations? 
  
  private
    Indicates this matcher matches against a block. 
- 
  
      - (Object) to_stderr 
  
    Tells the matcher to match against stderr. 
- 
  
      - (Object) to_stderr_from_any_process 
  
    Tells the matcher to match against stderr. 
- 
  
      - (Object) to_stdout 
  
    Tells the matcher to match against stdout. 
- 
  
      - (Object) to_stdout_from_any_process 
  
    Tells the matcher to match against stdout. 
Methods inherited from BaseMatcher
#expects_call_stack_jump?, #match_unless_raises
Methods included from Composable
#===, #and, #description_of, #or, should_enumerate?, surface_descriptions_in, unreadable_io?, #values_match?
Constructor Details
- (Output) initialize(expected)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Output
| 10 11 12 13 14 15 | # File 'lib/rspec/matchers/built_in/output.rb', line 10 def initialize(expected) @expected = expected @actual = "" @block = nil @stream_capturer = NullCapture end | 
Instance Method Details
- (String) description
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
| 76 77 78 79 80 81 82 | # File 'lib/rspec/matchers/built_in/output.rb', line 76 def description if @expected "output #{description_of @expected} to #{@stream_capturer.name}" else "output to #{@stream_capturer.name}" end end | 
- (Boolean) diffable?
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
| 86 87 88 | # File 'lib/rspec/matchers/built_in/output.rb', line 86 def diffable? true end | 
- (Boolean) does_not_match?(block)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
| 24 25 26 | # File 'lib/rspec/matchers/built_in/output.rb', line 24 def does_not_match?(block) !matches?(block) && Proc === block end | 
- (String) failure_message
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
| 64 65 66 | # File 'lib/rspec/matchers/built_in/output.rb', line 64 def "expected block to #{description}, but #{positive_failure_reason}" end | 
- (String) failure_message_when_negated
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
| 70 71 72 | # File 'lib/rspec/matchers/built_in/output.rb', line 70 def "expected block to not #{description}, but #{negative_failure_reason}" end | 
- (Boolean) matches?(block)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
| 17 18 19 20 21 22 | # File 'lib/rspec/matchers/built_in/output.rb', line 17 def matches?(block) @block = block return false unless Proc === block @actual = @stream_capturer.capture(block) @expected ? values_match?(@expected, @actual) : captured? end | 
- (True) supports_block_expectations?
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Indicates this matcher matches against a block.
| 93 94 95 | # File 'lib/rspec/matchers/built_in/output.rb', line 93 def supports_block_expectations? true end | 
- (Object) to_stderr
Tells the matcher to match against stderr. Works only when the main Ruby process prints to stderr
| 39 40 41 42 | # File 'lib/rspec/matchers/built_in/output.rb', line 39 def to_stderr @stream_capturer = CaptureStderr self end | 
- (Object) to_stderr_from_any_process
Tells the matcher to match against stderr.
Works when subprocesses print to stderr as well.
This is significantly (~30x) slower than to_stderr
| 57 58 59 60 | # File 'lib/rspec/matchers/built_in/output.rb', line 57 def to_stderr_from_any_process @stream_capturer = CaptureStreamToTempfile.new("stderr", $stderr) self end | 
- (Object) to_stdout
Tells the matcher to match against stdout. Works only when the main Ruby process prints to stdout
| 31 32 33 34 | # File 'lib/rspec/matchers/built_in/output.rb', line 31 def to_stdout @stream_capturer = CaptureStdout self end | 
- (Object) to_stdout_from_any_process
Tells the matcher to match against stdout.
Works when subprocesses print to stdout as well.
This is significantly (~30x) slower than to_stdout
| 48 49 50 51 | # File 'lib/rspec/matchers/built_in/output.rb', line 48 def to_stdout_from_any_process @stream_capturer = CaptureStreamToTempfile.new("stdout", $stdout) self end |