Class: TestFileWatch

Inherits:
Test::Unit::TestCase
  • Object
show all
Defined in:
lib/ext/eventmachine-0.12.10/tests/test_file_watch.rb

Defined Under Namespace

Modules: FileWatcher

Instance Method Summary collapse

Instance Method Details

#setupObject



19
20
21
# File 'lib/ext/eventmachine-0.12.10/tests/test_file_watch.rb', line 19

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

#teardownObject



23
24
25
# File 'lib/ext/eventmachine-0.12.10/tests/test_file_watch.rb', line 23

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

#test_eventsObject



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/ext/eventmachine-0.12.10/tests/test_file_watch.rb', line 27

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.25){ file.close; file.delete }
  }

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