Add negative tests for stat and rename

This commit is contained in:
Robin Appelman 2014-08-03 15:36:26 +02:00
commit 9068418528
3 changed files with 28 additions and 2 deletions

View file

@ -39,11 +39,13 @@ class NativeFileInfo implements IFileInfo {
* @param \Icewind\SMB\NativeShare $share * @param \Icewind\SMB\NativeShare $share
* @param string $path * @param string $path
* @param string $name * @param string $name
* @param array $stat
*/ */
public function __construct($share, $path, $name) { public function __construct($share, $path, $name, $stat = null) {
$this->share = $share; $this->share = $share;
$this->path = $path; $this->path = $path;
$this->name = $name; $this->name = $name;
$this->statCache = $stat;
} }
/** /**

View file

@ -101,7 +101,7 @@ class NativeShare implements IShare {
* @return \Icewind\SMB\IFileInfo[] * @return \Icewind\SMB\IFileInfo[]
*/ */
public function stat($path) { public function stat($path) {
return new NativeFileInfo($this, $path, basename($path)); return new NativeFileInfo($this, $path, basename($path), $this->getStat($path));
} }
public function getStat($path) { public function getStat($path) {

View file

@ -303,6 +303,23 @@ abstract class AbstractShare extends \PHPUnit_Framework_TestCase {
$this->share->rmdir('/foobar/asd'); $this->share->rmdir('/foobar/asd');
} }
/**
* @expectedException \Icewind\SMB\NotFoundException
*/
public function testRenameNonExisting() {
$this->share->rename('/foobar/asd', '/foobar/bar');
}
/**
* @expectedException \Icewind\SMB\NotFoundException
*/
public function testRenameTargetNonExisting() {
$txt= $this->getTextFile();
$this->share->put($txt, $this->root . '/foo.txt');
unlink($txt);
$this->share->rename($this->root . '/foo.txt', $this->root . '/bar/foo.txt');
}
public function testModifiedDate() { public function testModifiedDate() {
$now = time(); $now = time();
$this->share->put($this->getTextFile(), $this->root . '/foo.txt'); $this->share->put($this->getTextFile(), $this->root . '/foo.txt');
@ -387,6 +404,13 @@ abstract class AbstractShare extends \PHPUnit_Framework_TestCase {
$this->assertEquals($size, $info->getSize()); $this->assertEquals($size, $info->getSize());
} }
/**
* @expectedException \Icewind\SMB\NotFoundException
*/
public function testStatNonExisting() {
$this->share->stat($this->root . '/fo.txt');
}
/** /**
* note setting archive and system bit is not supported * note setting archive and system bit is not supported
* *