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
|
<?php
/* Copyright 2014-present Facebook, Inc.
* Licensed under the Apache License, Version 2.0 */
class SuffixGeneratorTestCase extends WatchmanTestCase {
function testGeneratorExpr() {
$dir = new WatchmanDirectoryFixture();
$root = $dir->getPath();
touch("$root/foo.c");
mkdir("$root/subdir");
touch("$root/subdir/bar.txt");
$this->watch($root);
$res = $this->watchmanCommand('query', $root, array(
'expression' => array('true'),
'fields' => array('name'),
'suffix' => 'c'
));
$this->assertEqual(array('foo.c'), $res['files']);
$res = $this->watchmanCommand('query', $root, array(
'expression' => array('true'),
'fields' => array('name'),
'suffix' => array('c','txt')
));
$this->assertEqualFileList(array('foo.c', 'subdir/bar.txt'), $res['files']);
$res = $this->watchmanCommand('query', $root, array(
'expression' => array('true'),
'fields' => array('name'),
'suffix' => array('c', 'txt'),
'relative_root' => 'subdir',
));
$this->assertEqualFileList(array('bar.txt'), $res['files']);
$res = $this->watchmanCommand('query', $root, array(
'expression' => array('true'),
'fields' => array('name'),
'suffix' => array('a' => 'b')
));
$this->assertEqual(
'failed to parse query: \'suffix\' must be a '.
'string or an array of strings',
$res['error']
);
}
}
// vim:ts=2:sw=2:et:
|