* Make tests work better together. Tests are now skipped or marked incomplete.
[lhc/web/wiklou.git] / includes / StubObject.php
index 6b60708..c8731ff 100644 (file)
@@ -148,6 +148,8 @@ class StubUserLang extends StubObject {
        function _newObject() {
                global $wgContLanguageCode, $wgRequest, $wgUser, $wgContLang;
                $code = $wgRequest->getVal( 'uselang', $wgUser->getOption( 'language' ) );
+               // BCP 47 - letter case MUST NOT carry meaning
+               $code = strtolower( $code );
 
                # Validate $code
                if( empty( $code ) || !preg_match( '/^[a-z-]+$/', $code ) || ( $code === 'qqq' ) ) {
@@ -164,53 +166,6 @@ class StubUserLang extends StubObject {
        }
 }
 
-/**
- * Stub object for the user variant. It depends of the user preferences and
- * "variant" parameter that can be passed to index.php. This object have to be
- * in $wgVariant global.
- */
-class StubUserVariant extends StubObject {
-
-       function __construct() {
-               parent::__construct( 'wgVariant' );
-       }
-
-       function __call( $name, $args ) {
-               return $this->_call( $name, $args );
-       }
-
-       function _newObject() {
-               global $wgContLanguageCode, $wgRequest, $wgUser, $wgContLang;
-
-               if( $wgContLang->hasVariants() ) {
-                       $code = $wgRequest->getVal( 'variant', $wgUser->getOption( 'variant' ) );
-               } else {
-                       $code = $wgRequest->getVal( 'variant', $wgUser->getOption( 'language' ) );
-               }
-
-               // if variant is explicitely selected, use it instead the one from wgUser
-               // see bug #7605
-               if( $wgContLang->hasVariants() && in_array($code, $wgContLang->getVariants()) ){
-                       $variant = $wgContLang->getPreferredVariant();
-                       if( $variant != $wgContLanguageCode )
-                               $code = $variant;
-               }
-
-               # Validate $code
-               if( empty( $code ) || !preg_match( '/^[a-z-]+$/', $code ) || ( $code === 'qqq' ) ) {
-                       wfDebug( "Invalid user variant code\n" );
-                       $code = $wgContLanguageCode;
-               }
-
-               if( $code === $wgContLanguageCode ) {
-                       return $wgContLang;
-               } else {
-                       $obj = Language::factory( $code );
-                       return $obj;
-               }
-       }
-}
-
 /**
  * Stub object for the user. The initialisation of the will depend of
  * $wgCommandLineMode. If it's true, it will be an anonymous user and if it's