Sha256: 598f9420a1df829df491b1a98d2054049124a8db041a4d3abfdc67c7dd2874a7

Contents?: true

Size: 881 Bytes

Versions: 8

Compression:

Stored size: 881 Bytes

Contents

$:.unshift "../lib"
require 'eventmachine'
require 'test/unit'

class TestFileWatch < Test::Unit::TestCase
  module FileWatcher
    def file_modified
      $modified = true
    end
    def file_deleted
      $deleted = true
    end
    def unbind
      $unbind = true
      EM.stop
    end
  end

  def setup
    EM.kqueue = true if EM.kqueue?
  end

  def teardown
    EM.kqueue = false if EM.kqueue?
  end

  def test_events
    EM.run{
      require 'tempfile'
      file = Tempfile.new('em-watch')
      $tmp_path = file.path

      # watch it
      watch = EM.watch_file(file.path, FileWatcher)
      $path = watch.path

      # modify it
      File.open(file.path, 'w'){ |f| f.puts 'hi' }

      # delete it
      EM.add_timer(0.01){ file.close; file.delete }
    }

    assert_equal($path, $tmp_path)
    assert($modified)
    assert($deleted)
    assert($unbind)
  end
end

Version data entries

8 entries across 8 versions & 3 rubygems

Version Path
eventmachine-1.0.0.beta.2-x86-mswin32-60 tests/test_file_watch.rb
eventmachine-1.0.0.beta.2-x86-mingw32 tests/test_file_watch.rb
eventmachine-1.0.0.beta.2-java tests/test_file_watch.rb
eventmachine-1.0.0.beta.2 tests/test_file_watch.rb
eventmachine-1.0.0.beta.1-java tests/test_file_watch.rb
eventmachine-1.0.0.beta.1 tests/test_file_watch.rb
crusher-eventmachine-0.12.11 tests/test_file_watch.rb
jrmey-eventmachine-0.12.12 tests/test_file_watch.rb