Skip to content

Commit

Permalink
Added tests from #574
Browse files Browse the repository at this point in the history
  • Loading branch information
rrzaripov committed Jul 2, 2019
1 parent 87dd988 commit 5068e7d
Showing 1 changed file with 66 additions and 0 deletions.
66 changes: 66 additions & 0 deletions tests/test_emitter.py
Original file line number Diff line number Diff line change
Expand Up @@ -430,3 +430,69 @@ def test_renaming_top_level_directory_on_windows():
assert event.src_path == p('a')
elif isinstance(event, DirModifiedEvent):
assert event.dest_path == p('a2', 'b')


@pytest.mark.skipif(platform.is_windows(),
reason="Windows create another set of events for this test")
def test_move_nested_subdirectories():
mkdir(p('dir1/dir2/dir3'), parents=True)
touch(p('dir1/dir2/dir3', 'a'))
start_watching(p(''))
mv(p('dir1/dir2'), p('dir2'))

event = event_queue.get(timeout=5)[0]
assert event.src_path == p('dir1', 'dir2')
assert isinstance(event, DirMovedEvent)

event = event_queue.get(timeout=5)[0]
assert event.src_path == p('dir1')
assert isinstance(event, DirModifiedEvent)

event = event_queue.get(timeout=5)[0]
assert p(event.src_path, '') == p('')
assert isinstance(event, DirModifiedEvent)

event = event_queue.get(timeout=5)[0]
assert event.src_path == p('dir1/dir2/dir3')
assert isinstance(event, DirMovedEvent)

event = event_queue.get(timeout=5)[0]
assert event.src_path == p('dir1/dir2/dir3', 'a')
assert isinstance(event, FileMovedEvent)

touch(p('dir2/dir3', 'a'))

event = event_queue.get(timeout=5)[0]
assert event.src_path == p('dir2/dir3', 'a')
assert isinstance(event, FileModifiedEvent)


@pytest.mark.skipif(platform.is_linux(),
reason="Linux create another set of events for this test")
def test_move_nested_subdirectories_on_windows():
mkdir(p('dir1/dir2/dir3'), parents=True)
touch(p('dir1/dir2/dir3', 'a'))
start_watching(p(''))
mv(p('dir1/dir2'), p('dir2'))

event = event_queue.get(timeout=5)[0]
assert event.src_path == p('dir1', 'dir2')
assert isinstance(event, FileDeletedEvent)

event = event_queue.get(timeout=5)[0]
assert event.src_path == p('dir2')
assert isinstance(event, DirCreatedEvent)

event = event_queue.get(timeout=5)[0]
assert event.src_path == p('dir2', 'dir3')
assert isinstance(event, DirCreatedEvent)

event = event_queue.get(timeout=5)[0]
assert event.src_path == p('dir2', 'dir3', 'a')
assert isinstance(event, FileCreatedEvent)

touch(p('dir2/dir3', 'a'))

event = event_queue.get(timeout=5)[0]
assert event.src_path == p('dir2', 'dir3', 'a')
assert isinstance(event, FileModifiedEvent)

0 comments on commit 5068e7d

Please sign in to comment.