adding unit tests
This commit is contained in:
parent
30ee8b6f99
commit
8d327c94a8
|
@ -184,11 +184,8 @@ class FilesPlugin extends \Sabre\DAV\ServerPlugin {
|
||||||
/**
|
/**
|
||||||
* @param \OC\Connector\Sabre\Node $node
|
* @param \OC\Connector\Sabre\Node $node
|
||||||
*/
|
*/
|
||||||
private function getETag($node) {
|
public function getETag($node) {
|
||||||
if (isset($_SERVER['HTTP_OC_CHUNKED'])) {
|
if (isset($_SERVER['HTTP_OC_CHUNKED']) && !isset($_SERVER['X-CHUNKING_COMPLETE'])) {
|
||||||
if (isset($_SERVER['X-CHUNKING_COMPLETE'])) {
|
|
||||||
return $node->getETag();
|
|
||||||
}
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return $node->getETag();
|
return $node->getETag();
|
||||||
|
|
|
@ -171,4 +171,35 @@ class FilesPlugin extends \Test\TestCase {
|
||||||
$this->assertEquals(200, $result[self::GETETAG_PROPERTYNAME]);
|
$this->assertEquals(200, $result[self::GETETAG_PROPERTYNAME]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @dataProvider providesETagTestData
|
||||||
|
* @param $expectedETag
|
||||||
|
* @param $isChunked
|
||||||
|
* @param $isChunkComplete
|
||||||
|
*/
|
||||||
|
public function testETag($expectedETag, $isChunked, $isChunkComplete) {
|
||||||
|
if (!is_null($isChunked)) {
|
||||||
|
$_SERVER['HTTP_OC_CHUNKED'] = $isChunked;
|
||||||
|
}
|
||||||
|
if (!is_null($isChunkComplete)) {
|
||||||
|
$_SERVER['X-CHUNKING_COMPLETE'] = $isChunkComplete;
|
||||||
|
}
|
||||||
|
$node = $this->createTestNode('\OC\Connector\Sabre\File');
|
||||||
|
|
||||||
|
$etag = $this->plugin->getETag($node);
|
||||||
|
|
||||||
|
$this->assertEquals($expectedETag, $etag);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function providesETagTestData() {
|
||||||
|
return [
|
||||||
|
// non-chunked tests
|
||||||
|
['"abc"', null, null],
|
||||||
|
['"abc"', null, false],
|
||||||
|
|
||||||
|
// chunked tests
|
||||||
|
[null, true, null],
|
||||||
|
['"abc"', true, true],
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue