forked from friendica/friendica-addons
176 lines
5.3 KiB
PHP
176 lines
5.3 KiB
PHP
|
<?php
|
||
|
|
||
|
require_once 'Sabre/TestUtil.php';
|
||
|
|
||
|
class Sabre_DAV_FSExt_NodeTest extends PHPUnit_Framework_TestCase {
|
||
|
|
||
|
function setUp() {
|
||
|
|
||
|
mkdir(SABRE_TEMPDIR . '/dir');
|
||
|
file_put_contents(SABRE_TEMPDIR . '/dir/file.txt', 'Contents');
|
||
|
file_put_contents(SABRE_TEMPDIR . '/dir/file2.txt', 'Contents2');
|
||
|
|
||
|
}
|
||
|
|
||
|
function tearDown() {
|
||
|
|
||
|
Sabre_TestUtil::clearTempDir();
|
||
|
|
||
|
}
|
||
|
|
||
|
function testUpdateProperties() {
|
||
|
|
||
|
$file = new Sabre_DAV_FSExt_File(SABRE_TEMPDIR . '/dir/file.txt');
|
||
|
$properties = array(
|
||
|
'{http://sabredav.org/NS/2010}test1' => 'foo',
|
||
|
'{http://sabredav.org/NS/2010}test2' => 'bar',
|
||
|
);
|
||
|
|
||
|
$result = $file->updateProperties($properties);
|
||
|
$expected = true;
|
||
|
|
||
|
$this->assertEquals($expected, $result);
|
||
|
|
||
|
$getProperties = $file->getProperties(array_keys($properties));
|
||
|
|
||
|
$this->assertEquals($properties, $getProperties);
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testUpdateProperties
|
||
|
*/
|
||
|
function testUpdatePropertiesAgain() {
|
||
|
|
||
|
$file = new Sabre_DAV_FSExt_File(SABRE_TEMPDIR . '/dir/file.txt');
|
||
|
$mutations = array(
|
||
|
'{http://sabredav.org/NS/2010}test1' => 'foo',
|
||
|
'{http://sabredav.org/NS/2010}test2' => 'bar',
|
||
|
);
|
||
|
|
||
|
$result = $file->updateProperties($mutations);
|
||
|
|
||
|
$this->assertEquals(true, $result);
|
||
|
|
||
|
$mutations = array(
|
||
|
'{http://sabredav.org/NS/2010}test1' => 'foo',
|
||
|
'{http://sabredav.org/NS/2010}test3' => 'baz',
|
||
|
);
|
||
|
|
||
|
$result = $file->updateProperties($mutations);
|
||
|
|
||
|
$this->assertEquals(true, $result);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testUpdateProperties
|
||
|
*/
|
||
|
function testUpdatePropertiesDelete() {
|
||
|
|
||
|
$file = new Sabre_DAV_FSExt_File(SABRE_TEMPDIR . '/dir/file.txt');
|
||
|
|
||
|
$mutations = array(
|
||
|
'{http://sabredav.org/NS/2010}test1' => 'foo',
|
||
|
'{http://sabredav.org/NS/2010}test2' => 'bar',
|
||
|
);
|
||
|
|
||
|
$result = $file->updateProperties($mutations);
|
||
|
|
||
|
$this->assertEquals(true, $result);
|
||
|
|
||
|
$mutations = array(
|
||
|
'{http://sabredav.org/NS/2010}test1' => null,
|
||
|
'{http://sabredav.org/NS/2010}test3' => null
|
||
|
);
|
||
|
|
||
|
$result = $file->updateProperties($mutations);
|
||
|
|
||
|
$this->assertEquals(true, $result);
|
||
|
|
||
|
$properties = $file->getProperties(array('http://sabredav.org/NS/2010}test1','{http://sabredav.org/NS/2010}test2','{http://sabredav.org/NS/2010}test3'));
|
||
|
|
||
|
$this->assertEquals(array(
|
||
|
'{http://sabredav.org/NS/2010}test2' => 'bar',
|
||
|
), $properties);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testUpdateProperties
|
||
|
*/
|
||
|
function testUpdatePropertiesMove() {
|
||
|
|
||
|
$file = new Sabre_DAV_FSExt_File(SABRE_TEMPDIR . '/dir/file.txt');
|
||
|
|
||
|
$mutations = array(
|
||
|
'{http://sabredav.org/NS/2010}test1' => 'foo',
|
||
|
'{http://sabredav.org/NS/2010}test2' => 'bar',
|
||
|
);
|
||
|
|
||
|
$result = $file->updateProperties($mutations);
|
||
|
|
||
|
$this->assertEquals(true, $result);
|
||
|
|
||
|
$properties = $file->getProperties(array('{http://sabredav.org/NS/2010}test1','{http://sabredav.org/NS/2010}test2','{http://sabredav.org/NS/2010}test3'));
|
||
|
|
||
|
$this->assertEquals(array(
|
||
|
'{http://sabredav.org/NS/2010}test1' => 'foo',
|
||
|
'{http://sabredav.org/NS/2010}test2' => 'bar',
|
||
|
), $properties);
|
||
|
|
||
|
// Renaming
|
||
|
$file->setName('file3.txt');
|
||
|
|
||
|
$this->assertFalse(file_exists(SABRE_TEMPDIR . '/dir/file.txt'));
|
||
|
$this->assertTrue(file_exists(SABRE_TEMPDIR . '/dir/file3.txt'));
|
||
|
$this->assertEquals('file3.txt',$file->getName());
|
||
|
|
||
|
$newFile = new Sabre_DAV_FSExt_File(SABRE_TEMPDIR . '/dir/file3.txt');
|
||
|
$this->assertEquals('file3.txt',$newFile->getName());
|
||
|
|
||
|
$properties = $newFile->getProperties(array('{http://sabredav.org/NS/2010}test1','{http://sabredav.org/NS/2010}test2','{http://sabredav.org/NS/2010}test3'));
|
||
|
|
||
|
$this->assertEquals(array(
|
||
|
'{http://sabredav.org/NS/2010}test1' => 'foo',
|
||
|
'{http://sabredav.org/NS/2010}test2' => 'bar',
|
||
|
), $properties);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testUpdatePropertiesMove
|
||
|
*/
|
||
|
function testUpdatePropertiesDeleteBleed() {
|
||
|
|
||
|
$file = new Sabre_DAV_FSExt_File(SABRE_TEMPDIR . '/dir/file.txt');
|
||
|
$mutations = array(
|
||
|
'{http://sabredav.org/NS/2010}test1' => 'foo',
|
||
|
'{http://sabredav.org/NS/2010}test2' => 'bar',
|
||
|
);
|
||
|
|
||
|
$result = $file->updateProperties($mutations);
|
||
|
|
||
|
$this->assertEquals(true, $result);
|
||
|
|
||
|
$properties = $file->getProperties(array('{http://sabredav.org/NS/2010}test1','{http://sabredav.org/NS/2010}test2','{http://sabredav.org/NS/2010}test3'));
|
||
|
|
||
|
$this->assertEquals(array(
|
||
|
'{http://sabredav.org/NS/2010}test1' => 'foo',
|
||
|
'{http://sabredav.org/NS/2010}test2' => 'bar',
|
||
|
), $properties);
|
||
|
|
||
|
// Deleting
|
||
|
$file->delete();
|
||
|
|
||
|
$this->assertFalse(file_exists(SABRE_TEMPDIR . '/dir/file.txt'));
|
||
|
|
||
|
// Creating it again
|
||
|
file_put_contents(SABRE_TEMPDIR . '/dir/file.txt','New Contents');
|
||
|
$file = new Sabre_DAV_FSExt_File(SABRE_TEMPDIR . '/dir/file.txt');
|
||
|
|
||
|
$properties = $file->getProperties(array('http://sabredav.org/NS/2010}test1','{http://sabredav.org/NS/2010}test2','{http://sabredav.org/NS/2010}test3'));
|
||
|
|
||
|
$this->assertEquals(array(), $properties);
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|