Merge "FauxRequest: Avoid header leak"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Wed, 16 Sep 2015 17:02:57 +0000 (17:02 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Wed, 16 Sep 2015 17:02:57 +0000 (17:02 +0000)
includes/WebRequest.php
tests/phpunit/includes/FauxRequestTest.php

index 850f101..b4b8be9 100644 (file)
@@ -871,7 +871,7 @@ class WebRequest {
        /**
         * Initialise the header list
         */
-       private function initHeaders() {
+       protected function initHeaders() {
                if ( count( $this->headers ) ) {
                        return;
                }
@@ -1324,6 +1324,13 @@ class FauxRequest extends WebRequest {
                $this->protocol = $protocol;
        }
 
+       /**
+        * Initialise the header list
+        */
+       protected function initHeaders() {
+               // Nothing to init
+       }
+
        /**
         * @param string $name
         * @param string $default
index eca5b39..07214b2 100644 (file)
@@ -20,4 +20,32 @@ class FauxRequestTest extends MediaWikiTestCase {
                        array( 'text/plain', 'text/html' )
                );
        }
+
+       /**
+        * @covers FauxRequest::getAllHeaders
+        */
+       public function testGetAllHeaders() {
+               $_SERVER['HTTP_TEST'] = 'Example';
+
+               $request = new FauxRequest();
+
+               $this->assertEquals(
+                       array(),
+                       $request->getAllHeaders()
+               );
+       }
+
+       /**
+        * @covers FauxRequest::getHeader
+        */
+       public function testGetHeader() {
+               $_SERVER['HTTP_TEST'] = 'Example';
+
+               $request = new FauxRequest();
+
+               $this->assertEquals(
+                       false,
+                       $request->getHeader( 'test' )
+               );
+       }
 }