Merge "Add new grammar forms for language names in Russian"
[lhc/web/wiklou.git] / tests / phpunit / includes / filebackend / SwiftFileBackendTest.php
index 38000f6..877cb60 100644 (file)
@@ -6,7 +6,7 @@
  * @group medium
  */
 class SwiftFileBackendTest extends MediaWikiTestCase {
-       /** @var SwiftFileBackend */
+       /** @var TestingAccessWrapper Proxy to SwiftFileBackend */
        private $backend;
 
        protected function setUp() {
@@ -29,6 +29,7 @@ class SwiftFileBackendTest extends MediaWikiTestCase {
        /**
         * @dataProvider provider_testSanitzeHdrs
         * @covers SwiftFileBackend::sanitzeHdrs
+        * @covers SwiftFileBackend::getCustomHeaders
         */
        public function testSanitzeHdrs( $raw, $sanitized ) {
                $hdrs = $this->backend->sanitizeHdrs( array( 'headers' => $raw ) );
@@ -44,7 +45,7 @@ class SwiftFileBackendTest extends MediaWikiTestCase {
                                        'content-type'   => 'image+bitmap/jpeg',
                                        'content-disposition' => 'inline',
                                        'content-duration' => 35.6363,
-                                       'content-custom' => 'hello',
+                                       'content-Custom' => 'hello',
                                        'x-content-custom' => 'hello'
                                ),
                                array(
@@ -58,7 +59,7 @@ class SwiftFileBackendTest extends MediaWikiTestCase {
                                array(
                                        'content-length' => 345,
                                        'content-type'   => 'image+bitmap/jpeg',
-                                       'content-disposition' => 'inline; filename=xxx; ' . str_repeat( 'o', 1024 ),
+                                       'content-Disposition' => 'inline; filename=xxx; ' . str_repeat( 'o', 1024 ),
                                        'content-duration' => 35.6363,
                                        'content-custom' => 'hello',
                                        'x-content-custom' => 'hello'
@@ -74,7 +75,7 @@ class SwiftFileBackendTest extends MediaWikiTestCase {
                                array(
                                        'content-length' => 345,
                                        'content-type'   => 'image+bitmap/jpeg',
-                                       'content-disposition' => 'filename='. str_repeat( 'o', 1024 ) . ';inline',
+                                       'content-disposition' => 'filename=' . str_repeat( 'o', 1024 ) . ';inline',
                                        'content-duration' => 35.6363,
                                        'content-custom' => 'hello',
                                        'x-content-custom' => 'hello'
@@ -88,4 +89,60 @@ class SwiftFileBackendTest extends MediaWikiTestCase {
                        )
                );
        }
-}
\ No newline at end of file
+
+       /**
+        * @dataProvider provider_testGetMetadataHeaders
+        * @covers SwiftFileBackend::getMetadataHeaders
+        */
+       public function testGetMetadataHeaders( $raw, $sanitized ) {
+               $hdrs = $this->backend->getMetadataHeaders( $raw );
+
+               $this->assertEquals( $hdrs, $sanitized, 'getMetadataHeaders() has expected result' );
+       }
+
+       public static function provider_testGetMetadataHeaders() {
+               return array(
+                       array(
+                               array(
+                                       'content-length' => 345,
+                                       'content-custom' => 'hello',
+                                       'x-content-custom' => 'hello',
+                                       'x-object-meta-custom' => 5,
+                                       'x-object-meta-sha1Base36' => 'a3deadfg...',
+                               ),
+                               array(
+                                       'x-object-meta-custom' => 5,
+                                       'x-object-meta-sha1base36' => 'a3deadfg...',
+                               )
+                       )
+               );
+       }
+
+       /**
+        * @dataProvider provider_testGetMetadata
+        * @covers SwiftFileBackend::getMetadata
+        */
+       public function testGetMetadata( $raw, $sanitized ) {
+               $hdrs = $this->backend->getMetadata( $raw );
+
+               $this->assertEquals( $hdrs, $sanitized, 'getMetadata() has expected result' );
+       }
+
+       public static function provider_testGetMetadata() {
+               return array(
+                       array(
+                               array(
+                                       'content-length' => 345,
+                                       'content-custom' => 'hello',
+                                       'x-content-custom' => 'hello',
+                                       'x-object-meta-custom' => 5,
+                                       'x-object-meta-sha1Base36' => 'a3deadfg...',
+                               ),
+                               array(
+                                       'custom' => 5,
+                                       'sha1base36' => 'a3deadfg...',
+                               )
+                       )
+               );
+       }
+}