Avoid a few isset() in favor of more recent syntax

As well as replacing a few `=== null` comparisons with the new ??=
operator.

Bug: T353227
Change-Id: I5b273f452d1e46d37fc28861b54c4e1f19a7a65a
This commit is contained in:
thiemowmde 2023-12-12 10:09:45 +01:00 committed by Thiemo Kreuz (WMDE)
parent 34798cce42
commit fee8606db6
7 changed files with 29 additions and 49 deletions

View file

@ -291,9 +291,7 @@ class Cite {
);
$arguments = $status->getValue();
// Use the default group, or the references group when inside one.
if ( $arguments['group'] === null ) {
$arguments['group'] = $this->inReferencesGroup ?? self::DEFAULT_GROUP;
}
$arguments['group'] ??= $this->inReferencesGroup ?? self::DEFAULT_GROUP;
// @phan-suppress-next-line PhanParamTooFewUnpack No good way to document it.
$status->merge( $this->validateRef( $text, ...array_values( $arguments ) ) );

View file

@ -90,9 +90,7 @@ class CiteParserTagHooks {
* @return Cite
*/
private static function citeForParser( Parser $parser ): Cite {
if ( !isset( $parser->extCite ) ) {
$parser->extCite = new Cite( $parser );
}
$parser->extCite ??= new Cite( $parser );
return $parser->extCite;
}

View file

@ -111,12 +111,8 @@ class ReferenceStack {
?string $follow,
?string $dir
): ?array {
if ( !isset( $this->refs[$group] ) ) {
$this->refs[$group] = [];
}
if ( !isset( $this->groupRefSequence[$group] ) ) {
$this->groupRefSequence[$group] = 0;
}
$this->refs[$group] ??= [];
$this->groupRefSequence[$group] ??= 0;
$ref = [
'count' => $name ? 0 : -1,
@ -403,11 +399,8 @@ class ReferenceStack {
* @param string $text
*/
public function appendText( string $group, string $name, string $text ) {
if ( isset( $this->refs[$group][$name]['text'] ) ) {
$this->refs[$group][$name]['text'] .= $text;
} else {
$this->refs[$group][$name]['text'] = $text;
}
$this->refs[$group][$name]['text'] ??= '';
$this->refs[$group][$name]['text'] .= $text;
}
}

View file

@ -264,13 +264,11 @@ class ReferencesFormatter {
private function referencesFormatEntryAlternateBacklinkLabel(
Parser $parser, int $offset
): string {
if ( $this->backlinkLabels === null ) {
$this->backlinkLabels = preg_split(
'/\s+/',
$this->messageLocalizer->msg( 'cite_references_link_many_format_backlink_labels' )
->plain()
);
}
$this->backlinkLabels ??= preg_split(
'/\s+/',
$this->messageLocalizer->msg( 'cite_references_link_many_format_backlink_labels' )
->plain()
);
return $this->backlinkLabels[$offset]
?? $this->errorReporter->plain( $parser, 'cite_error_references_no_backlink_label' );

View file

@ -24,26 +24,22 @@ class CitationToolDefinition {
->plain()
);
if ( $citationDefinition === null ) {
$citationDefinition = json_decode(
$context->msg( 'visualeditor-cite-tool-definition.json' )
->inContentLanguage()
->plain()
);
}
$citationDefinition ??= json_decode(
$context->msg( 'visualeditor-cite-tool-definition.json' )
->inContentLanguage()
->plain()
);
$citationTools = [];
if ( is_array( $citationDefinition ) ) {
foreach ( $citationDefinition as $tool ) {
if ( !isset( $tool->title ) ) {
// The following messages are generated here:
// * visualeditor-cite-tool-name-book
// * visualeditor-cite-tool-name-journal
// * visualeditor-cite-tool-name-news
// * visualeditor-cite-tool-name-web
$tool->title = $context->msg( 'visualeditor-cite-tool-name-' . $tool->name )
->text();
}
// The following messages are generated here:
// * visualeditor-cite-tool-name-book
// * visualeditor-cite-tool-name-journal
// * visualeditor-cite-tool-name-news
// * visualeditor-cite-tool-name-web
$tool->title ??= $context->msg( 'visualeditor-cite-tool-name-' . $tool->name )
->text();
$citationTools[] = $tool;
}
}

View file

@ -43,7 +43,7 @@ class CiteParserHooksTest extends \MediaWikiUnitTestCase {
$citeParserHooks = new CiteParserHooks();
$citeParserHooks->onParserClearState( $parser );
$this->assertFalse( isset( $parser->extCite ) );
$this->assertObjectNotHasProperty( 'extCite', $parser );
}
/**
@ -56,7 +56,7 @@ class CiteParserHooksTest extends \MediaWikiUnitTestCase {
$citeParserHooks = new CiteParserHooks();
$citeParserHooks->onParserCloned( $parser );
$this->assertFalse( isset( $parser->extCite ) );
$this->assertObjectNotHasProperty( 'extCite', $parser );
}
/**

View file

@ -370,16 +370,13 @@ class ReferencesFormatterTest extends \MediaWikiUnitTestCase {
$mockMessageLocalizer->method( 'msg' )
->willReturn( $mockMessage );
$mockErrorReporter = $this->createMock( ErrorReporter::class );
if ( $expectedLabel === null ) {
$mockErrorReporter->expects( $this->once() )->method( 'plain' );
} else {
$mockErrorReporter->expects( $this->never() )->method( 'plain' );
}
$errorReporter = $this->createMock( ErrorReporter::class );
$errorReporter->expects( $expectedLabel ? $this->never() : $this->once() )
->method( 'plain' );
/** @var ReferencesFormatter $formatter */
$formatter = TestingAccessWrapper::newFromObject( new ReferencesFormatter(
$mockErrorReporter,
$errorReporter,
$this->createMock( AnchorFormatter::class ),
$mockMessageLocalizer
) );