1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
<?php
/* Copyright 2012-present Facebook, Inc.
* Licensed under the Apache License, Version 2.0 */
class moremovesTestCase extends WatchmanTestCase {
function testMoreMoves() {
if (phutil_is_windows()) {
$this->assertSkipped("no unix userland on windows");
}
$dir = new WatchmanDirectoryFixture();
$root = $dir->getPath();
$watch = $this->watch($root);
$base = $this->watchmanCommand('find', $root, '.');
// This is "c:PID:1" because nothing has changed in $root yet
$clock = $base['clock'];
$this->suspendWatchman();
system(
"cd $root; touch a; mkdir d1 d2 ; ".
"mv d1 d2 ; mv d2/d1 . ; mv a d1"
);
$this->resumeWatchman();
$this->assertFileListUsingSince($root, $clock,
array(
'd1',
'd1/a',
'd2'
)
);
}
function testEvenMoreMoves() {
if (phutil_is_windows()) {
$this->assertSkipped("no unix userland on windows");
}
$dir = new WatchmanDirectoryFixture();
$root = $dir->getPath();
$watch = $this->watch($root);
$base = $this->watchmanCommand('find', $root, '.');
// This is "c:PID:1" because nothing has changed in $root yet
$clock = $base['clock'];
// TODO: this should work even if Watchman is suspended. Investigate failure
// on Travis.
system(
"cd $root; ".
"mkdir d1 d2; ".
"touch d1/a; ".
"mkdir d3; ".
"mv d1 d2 d3; ".
"mv d3/* .; ".
"mv d1 d2 d3; ".
"mv d3/* .; ".
"mv d1/a d2; "
);
$this->assertFileListUsingSince($root, $clock,
array(
'd1',
'd2',
'd2/a',
'd3'
)
);
}
}
|