Sha256: a6ba37320c635200c5572fee06352b7e4753bd8ad5350e9810bea092cf24da9e

Contents?: true

Size: 675 Bytes

Versions: 56

Compression:

Stored size: 675 Bytes

Contents

require File.dirname(__FILE__) + '/../abstract_unit'

class AtomicWriteTest < Test::Unit::TestCase
  
  def test_atomic_write_without_errors
    contents  = "Atomic Text"
    File.atomic_write(file_name) do |file|
      file.write(contents)
      assert !File.exists?(file_name)
    end
    assert File.exists?(file_name)
    assert_equal contents, File.read(file_name)
  ensure
    File.unlink(file_name)
  end
  
  def test_atomic_write_doesnt_write_when_block_raises
    File.atomic_write(file_name) do |file|
      file.write("testing")
      raise "something bad"
    end
  rescue
    assert !File.exists?(file_name)
  end
  
  def file_name
    "atomic.file"
  end
end

Version data entries

56 entries across 56 versions & 1 rubygems

Version Path
backlog-0.0.0 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.0.1 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.0.2 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.0.5 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.0.4 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.1.1 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.1.0 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.1.2 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.2.0 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.2.1 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.3.0 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.3.3 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.3.2 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.3.1 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.3.4 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.3.5 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.3.6 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.3.7 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.3.8 vendor/rails/activesupport/test/core_ext/file_test.rb
backlog-0.3.9 vendor/rails/activesupport/test/core_ext/file_test.rb