3 require_once 'Sabre/TestUtil.php';
5 class Sabre_DAV_FSExt_NodeTest extends PHPUnit_Framework_TestCase {
9 mkdir(SABRE_TEMPDIR . '/dir');
10 file_put_contents(SABRE_TEMPDIR . '/dir/file.txt', 'Contents');
11 file_put_contents(SABRE_TEMPDIR . '/dir/file2.txt', 'Contents2');
17 Sabre_TestUtil::clearTempDir();
21 function testUpdateProperties() {
23 $file = new Sabre_DAV_FSExt_File(SABRE_TEMPDIR . '/dir/file.txt');
25 '{http://sabredav.org/NS/2010}test1' => 'foo',
26 '{http://sabredav.org/NS/2010}test2' => 'bar',
29 $result = $file->updateProperties($properties);
32 $this->assertEquals($expected, $result);
34 $getProperties = $file->getProperties(array_keys($properties));
36 $this->assertEquals($properties, $getProperties);
41 * @depends testUpdateProperties
43 function testUpdatePropertiesAgain() {
45 $file = new Sabre_DAV_FSExt_File(SABRE_TEMPDIR . '/dir/file.txt');
47 '{http://sabredav.org/NS/2010}test1' => 'foo',
48 '{http://sabredav.org/NS/2010}test2' => 'bar',
51 $result = $file->updateProperties($mutations);
53 $this->assertEquals(true, $result);
56 '{http://sabredav.org/NS/2010}test1' => 'foo',
57 '{http://sabredav.org/NS/2010}test3' => 'baz',
60 $result = $file->updateProperties($mutations);
62 $this->assertEquals(true, $result);
66 * @depends testUpdateProperties
68 function testUpdatePropertiesDelete() {
70 $file = new Sabre_DAV_FSExt_File(SABRE_TEMPDIR . '/dir/file.txt');
73 '{http://sabredav.org/NS/2010}test1' => 'foo',
74 '{http://sabredav.org/NS/2010}test2' => 'bar',
77 $result = $file->updateProperties($mutations);
79 $this->assertEquals(true, $result);
82 '{http://sabredav.org/NS/2010}test1' => null,
83 '{http://sabredav.org/NS/2010}test3' => null
86 $result = $file->updateProperties($mutations);
88 $this->assertEquals(true, $result);
90 $properties = $file->getProperties(array('http://sabredav.org/NS/2010}test1','{http://sabredav.org/NS/2010}test2','{http://sabredav.org/NS/2010}test3'));
92 $this->assertEquals(array(
93 '{http://sabredav.org/NS/2010}test2' => 'bar',
98 * @depends testUpdateProperties
100 function testUpdatePropertiesMove() {
102 $file = new Sabre_DAV_FSExt_File(SABRE_TEMPDIR . '/dir/file.txt');
105 '{http://sabredav.org/NS/2010}test1' => 'foo',
106 '{http://sabredav.org/NS/2010}test2' => 'bar',
109 $result = $file->updateProperties($mutations);
111 $this->assertEquals(true, $result);
113 $properties = $file->getProperties(array('{http://sabredav.org/NS/2010}test1','{http://sabredav.org/NS/2010}test2','{http://sabredav.org/NS/2010}test3'));
115 $this->assertEquals(array(
116 '{http://sabredav.org/NS/2010}test1' => 'foo',
117 '{http://sabredav.org/NS/2010}test2' => 'bar',
121 $file->setName('file3.txt');
123 $this->assertFalse(file_exists(SABRE_TEMPDIR . '/dir/file.txt'));
124 $this->assertTrue(file_exists(SABRE_TEMPDIR . '/dir/file3.txt'));
125 $this->assertEquals('file3.txt',$file->getName());
127 $newFile = new Sabre_DAV_FSExt_File(SABRE_TEMPDIR . '/dir/file3.txt');
128 $this->assertEquals('file3.txt',$newFile->getName());
130 $properties = $newFile->getProperties(array('{http://sabredav.org/NS/2010}test1','{http://sabredav.org/NS/2010}test2','{http://sabredav.org/NS/2010}test3'));
132 $this->assertEquals(array(
133 '{http://sabredav.org/NS/2010}test1' => 'foo',
134 '{http://sabredav.org/NS/2010}test2' => 'bar',
139 * @depends testUpdatePropertiesMove
141 function testUpdatePropertiesDeleteBleed() {
143 $file = new Sabre_DAV_FSExt_File(SABRE_TEMPDIR . '/dir/file.txt');
145 '{http://sabredav.org/NS/2010}test1' => 'foo',
146 '{http://sabredav.org/NS/2010}test2' => 'bar',
149 $result = $file->updateProperties($mutations);
151 $this->assertEquals(true, $result);
153 $properties = $file->getProperties(array('{http://sabredav.org/NS/2010}test1','{http://sabredav.org/NS/2010}test2','{http://sabredav.org/NS/2010}test3'));
155 $this->assertEquals(array(
156 '{http://sabredav.org/NS/2010}test1' => 'foo',
157 '{http://sabredav.org/NS/2010}test2' => 'bar',
163 $this->assertFalse(file_exists(SABRE_TEMPDIR . '/dir/file.txt'));
166 file_put_contents(SABRE_TEMPDIR . '/dir/file.txt','New Contents');
167 $file = new Sabre_DAV_FSExt_File(SABRE_TEMPDIR . '/dir/file.txt');
169 $properties = $file->getProperties(array('http://sabredav.org/NS/2010}test1','{http://sabredav.org/NS/2010}test2','{http://sabredav.org/NS/2010}test3'));
171 $this->assertEquals(array(), $properties);