public function testPutOnExistingRessource() { if (version_compare(PHP_VERSION, '5.2.6', '<')) { $this->markTestSkipped('PHP DateTime broken in versions < 5.2.6'); return; } $backend = new ezcWebdavMemoryBackend(); $backend->addContents(array('foo' => 'bar', 'bar' => array('blubb' => 'Somme blubb blubbs.'))); $request = new ezcWebdavPutRequest('/foo', 'some content'); $request->setHeader('Content-Type', 'text/plain'); $request->setHeader('Content-Length', strlen($request->body)); $request->validateHeaders(); $response = $backend->put($request); $expectedResponse = new ezcWebdavPutResponse('/foo'); $expectedResponse->setHeader('ETag', '1effb2475fcfba4f9e8b8a1dbc8f3caf'); $this->assertEquals($expectedResponse, $response, 'Expected response does not match real response.', 0, 20); $content = $this->readAttribute($backend, 'content'); $this->assertEquals(array('/' => array('/foo', '/bar'), '/foo' => 'some content', '/bar' => array('/bar/blubb'), '/bar/blubb' => 'Somme blubb blubbs.'), $content); }