Sha256: 4db6f967966affc412672114fd1eb4666ed362c760cb90c4118d6794d47e7463

Contents?: true

Size: 996 Bytes

Versions: 4

Compression:

Stored size: 996 Bytes

Contents

require 'tempfile'

class RSpecRemote
  def self.run_describe_block(describe_block)
    temp_path = nil
    Tempfile.open(['example', '_spec.rb']) do |io|
      io.write(<<-spec)
        require 'spec_helper';
        #{describe_block}
      spec
      temp_path = io.path
    end
    `rake SPEC=#{temp_path} 2>&1`
  end
end

RSpecCandy::Switcher.define_matcher :pass_as_describe_block do

  match do |describe_block|
    rspec_out = RSpecRemote.run_describe_block(describe_block)
    passes = rspec_out.include?('0 failures')
    # unless passes
    #   puts "Expected RSpec output to not have failures:"
    #   puts rspec_out
    # end
    passes
  end

end

RSpecCandy::Switcher.define_matcher :fail_as_describe_block do

  match do |describe_block|
    rspec_out = RSpecRemote.run_describe_block(describe_block)
    passes = rspec_out.include?('1 failure')
    # unless passes
    #   puts "Expected RSpec output to not have failures:"
    #   puts rspec_out
    # end
    passes
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rspec_candy-0.5.1 spec/support/matchers/pass_as_describe_block.rb
rspec_candy-0.5.0 spec/support/matchers/pass_as_describe_block.rb
rspec_candy-0.4.1 spec/support/matchers/pass_as_describe_block.rb
rspec_candy-0.4.0 spec/support/matchers/pass_as_describe_block.rb