Sha256: b6c7dd7ca5a8529df1b5723434064a5e791ef10af8d66305f7d87ddfd06a07c4

Contents?: true

Size: 761 Bytes

Versions: 18

Compression:

Stored size: 761 Bytes

Contents

RSpec::Matchers.define :create_file do |expected|

  match do |block|
    @before = exists?(expected)
    block.call
    @after = exists?(expected)
    !@before && @after
  end

  failure_message_for_should do |block|
    existed_before_message expected do
      "The file #{expected.inspect} was not created"
    end
  end

  failure_message_for_should_not do |block|
    existed_before_message expected do
      "The file #{expected.inspect} was created"
    end
  end

  def exists?(expected)
    # Allows us to use wildcard checks for existence.
    !Dir.glob(expected).empty?
  end

  def existed_before_message(expected)
    if @before
      "The file #{expected.inspect} existed before, so this test doesn't work"
    else
      yield
    end
  end

end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
metric_fu-4.10.0 spec/support/matcher_create_file.rb
metric_fu-4.9.0 spec/support/matcher_create_file.rb
metric_fu-4.8.0 spec/support/matcher_create_file.rb
metric_fu-4.7.4 spec/support/matcher_create_file.rb
metric_fu-4.7.3 spec/support/matcher_create_file.rb
metric_fu-4.7.2 spec/support/matcher_create_file.rb
metric_fu-4.7.1 spec/support/matcher_create_file.rb
metric_fu-4.7.0 spec/support/matcher_create_file.rb
metric_fu-4.6.0 spec/support/matcher_create_file.rb
metric_fu-4.5.2 spec/support/matcher_create_file.rb
metric_fu-4.5.1 spec/support/matcher_create_file.rb
metric_fu-4.4.4 spec/support/matcher_create_file.rb
metric_fu-4.4.3 spec/support/matcher_create_file.rb
metric_fu-4.4.2 spec/support/matcher_create_file.rb
metric_fu-4.4.1 spec/support/matcher_create_file.rb
metric_fu-4.4.0 spec/support/matcher_create_file.rb
metric_fu-4.3.1 spec/support/matcher_create_file.rb
metric_fu-4.3.0 spec/support/matcher_create_file.rb