Reverted r92489 and added/use hideDeprecated() to MW test framework
authorAaron Schulz <aaron@users.mediawiki.org>
Mon, 25 Jul 2011 16:27:33 +0000 (16:27 +0000)
committerAaron Schulz <aaron@users.mediawiki.org>
Mon, 25 Jul 2011 16:27:33 +0000 (16:27 +0000)
tests/phpunit/MediaWikiTestCase.php
tests/phpunit/includes/BlockTest.php

index 64cb486..fb6baf6 100644 (file)
@@ -235,5 +235,16 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase {
        public static function disableInterwikis( $prefix, &$data ) {
                return false;
        }
-}
 
+       /**
+        * Don't throw a warning if $function is deprecated and called later
+        *
+        * @param $function String
+        * @return null
+        */
+       function hideDeprecated( $function ) {
+               wfSuppressWarnings();
+               wfDeprecated( $function );
+               wfRestoreWarnings();
+       }
+}
index dff5dfe..cc6ed92 100644 (file)
@@ -82,6 +82,27 @@ class BlockTest extends MediaWikiLangTestCase {
 
        }
 
+       /**
+        * This is the method previously used to load block info in CheckUser etc
+        * passing an empty value (empty string, null, etc) as the ip parameter bypasses IP lookup checks.
+        *
+        * This stopped working with r84475 and friends: regression being fixed for bug 29116.
+        *
+        * @dataProvider dataBug29116
+        */
+       function testBug29116LoadWithEmptyIp( $vagueTarget ) {
+               $this->hideDeprecated( 'Block::load' );
+
+               $uid = User::idFromName( 'UTBlockee' );
+               $this->assertTrue( ($uid > 0), 'Must be able to look up the target user during tests' );
+
+               $block = new Block();
+               $ok = $block->load( $vagueTarget, $uid );
+               $this->assertTrue( $ok, "Block->load() with empty IP and user ID '$uid' should return a block" );
+
+               $this->assertTrue( $this->block->equals( $block ), "Block->load() returns the same block as the one that was made when given empty ip param " . var_export( $vagueTarget, true ) );
+       }
+
        /**
         * CheckUser since being changed to use Block::newFromTarget started failing
         * because the new function didn't accept empty strings like Block::load()
@@ -102,4 +123,3 @@ class BlockTest extends MediaWikiLangTestCase {
                );
        }
 }
-