/** * @covers MWDebug::deprecated */ public function testAvoidNonConsecutivesDuplicateDeprecations() { MWDebug::deprecated('wfOldFunction', '1.0', 'component'); MWDebug::warning('some warning'); MWDebug::log('we could have logged something too'); // Another deprecation MWDebug::deprecated('wfOldFunction', '1.0', 'component'); // assertCount() not available on WMF integration server $this->assertEquals(3, count(MWDebug::getLog()), "Only one deprecated warning per function should be kept"); }
/** * Throws a warning that $function is deprecated * * @param string $function * @param string|bool $version Version of MediaWiki that the function * was deprecated in (Added in 1.19). * @param string|bool $component Added in 1.19. * @param int $callerOffset How far up the call stack is the original * caller. 2 = function that called the function that called * wfDeprecated (Added in 1.20) * * @return null */ function wfDeprecated($function, $version = false, $component = false, $callerOffset = 2) { MWDebug::deprecated($function, $version, $component, $callerOffset + 1); }
/** * Throws a warning that $function is deprecated * * @param $function String * @param $version String|false: Added in 1.19. * @param $component String|false: Added in 1.19. * * @return null */ function wfDeprecated($function, $version = false, $component = false) { static $functionsWarned = array(); MWDebug::deprecated($function, $version, $component); if (!isset($functionsWarned[$function])) { $functionsWarned[$function] = true; if ($version) { global $wgDeprecationReleaseLimit; if ($wgDeprecationReleaseLimit && $component === false) { # Strip -* off the end of $version so that branches can use the # format #.##-branchname to avoid issues if the branch is merged into # a version of MediaWiki later than what it was branched from $comparableVersion = preg_replace('/-.*$/', '', $version); # If the comparableVersion is larger than our release limit then # skip the warning message for the deprecation if (version_compare($wgDeprecationReleaseLimit, $comparableVersion, '<')) { return; } } $component = $component === false ? 'MediaWiki' : $component; wfWarn("Use of {$function} was deprecated in {$component} {$version}.", 2); } else { wfWarn("Use of {$function} is deprecated.", 2); } } }