diff --git a/lib/connector/sabre/quotaplugin.php b/lib/connector/sabre/quotaplugin.php
index 0f428b75b1906abe512d28f7fb124553acf5f0f2..730a86666be24dcce58b3b8e5b7ce177dd50132d 100644
--- a/lib/connector/sabre/quotaplugin.php
+++ b/lib/connector/sabre/quotaplugin.php
@@ -57,7 +57,7 @@ class OC_Connector_Sabre_QuotaPlugin extends Sabre_DAV_ServerPlugin {
 		return true;
 	}
 
-	private function getLength()
+	public function getLength()
 	{
 		$expected = $this->server->httpRequest->getHeader('X-Expected-Entity-Length');
 		if ($expected)
diff --git a/tests/lib/connector/sabre/quotaplugin.php b/tests/lib/connector/sabre/quotaplugin.php
new file mode 100644
index 0000000000000000000000000000000000000000..9582af6ec4e2ce1b43bbef8d1395e3967fe05893
--- /dev/null
+++ b/tests/lib/connector/sabre/quotaplugin.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Copyright (c) 2013 Thomas Müller <thomas.mueller@tmit.eu>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+class Test_OC_Connector_Sabre_QuotaPlugin extends PHPUnit_Framework_TestCase {
+
+	/**
+	 * @var Sabre_DAV_Server
+	 */
+	private $server;
+
+	/**
+	 * @var OC_Connector_Sabre_QuotaPlugin
+	 */
+	private $plugin;
+
+	public function setUp() {
+		$this->server = new Sabre_DAV_Server();
+		$this->plugin = new OC_Connector_Sabre_QuotaPlugin();
+		$this->plugin->initialize($this->server);
+	}
+
+	/**
+	 * @dataProvider lengthProvider
+	 */
+	public function testLength($expected, $headers)
+	{
+		$this->server->httpRequest = new Sabre_HTTP_Request($headers);
+		$length = $this->plugin->getLength();
+		$this->assertEquals($expected, $length);
+	}
+
+	public function lengthProvider()
+	{
+		return array(
+			array(null, array()),
+			array(1024, array('HTTP_X_EXPECTED_ENTITY_LENGTH' => '1024')),
+			array(512, array('HTTP_CONTENT_LENGTH' => '512')),
+			array(2048, array('HTTP_OC_TOTAL_LENGTH' => '2048', 'HTTP_CONTENT_LENGTH' => '1024')),
+		);
+	}
+
+}