Add findVariantLink to StubUserLang
authorBryan Davis <bd808@wikimedia.org>
Sat, 13 Dec 2014 00:08:08 +0000 (17:08 -0700)
committerBryan Davis <bd808@wikimedia.org>
Mon, 15 Dec 2014 00:57:49 +0000 (17:57 -0700)
Add the full signature of Language::findVariantLink to StubUserLang so
that pass-by-reference variables are properly passed to the un-stubbed
Language object.

Bug: T78427
Change-Id: I51f57a17c814c43742f514df0e42a1760c406c48

includes/StubObject.php

index 7f12c16..adca862 100644 (file)
@@ -182,6 +182,24 @@ class StubUserLang extends StubObject {
                return $this->_call( $name, $args );
        }
 
+       /**
+        * Call Language::findVariantLink after unstubbing $wgLang.
+        *
+        * This method is implemented with a full signature rather than relying on
+        * __call so that the pass-by-reference signature of the proxied method is
+        * honored.
+        *
+        * @param string &$link The name of the link
+        * @param Title &$nt The title object of the link
+        * @param bool $ignoreOtherCond To disable other conditions when
+        *   we need to transclude a template or update a category's link
+        */
+       public function findVariantLink( &$link, &$nt, $ignoreOtherCond = false ) {
+               global $wgLang;
+               $this->_unstub( 'findVariantLink', 3 );
+               return $wgLang->findVariantLink( $link, $nt, $ignoreOtherCond );
+       }
+
        /**
         * @return Language
         */