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(); $arguments = $status->getValue();
// Use the default group, or the references group when inside one. // 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. // @phan-suppress-next-line PhanParamTooFewUnpack No good way to document it.
$status->merge( $this->validateRef( $text, ...array_values( $arguments ) ) ); $status->merge( $this->validateRef( $text, ...array_values( $arguments ) ) );

View file

@ -90,9 +90,7 @@ class CiteParserTagHooks {
* @return Cite * @return Cite
*/ */
private static function citeForParser( Parser $parser ): 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; return $parser->extCite;
} }

View file

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

View file

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

View file

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

View file

@ -43,7 +43,7 @@ class CiteParserHooksTest extends \MediaWikiUnitTestCase {
$citeParserHooks = new CiteParserHooks(); $citeParserHooks = new CiteParserHooks();
$citeParserHooks->onParserClearState( $parser ); $citeParserHooks->onParserClearState( $parser );
$this->assertFalse( isset( $parser->extCite ) ); $this->assertObjectNotHasProperty( 'extCite', $parser );
} }
/** /**
@ -56,7 +56,7 @@ class CiteParserHooksTest extends \MediaWikiUnitTestCase {
$citeParserHooks = new CiteParserHooks(); $citeParserHooks = new CiteParserHooks();
$citeParserHooks->onParserCloned( $parser ); $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' ) $mockMessageLocalizer->method( 'msg' )
->willReturn( $mockMessage ); ->willReturn( $mockMessage );
$mockErrorReporter = $this->createMock( ErrorReporter::class ); $errorReporter = $this->createMock( ErrorReporter::class );
if ( $expectedLabel === null ) { $errorReporter->expects( $expectedLabel ? $this->never() : $this->once() )
$mockErrorReporter->expects( $this->once() )->method( 'plain' ); ->method( 'plain' );
} else {
$mockErrorReporter->expects( $this->never() )->method( 'plain' );
}
/** @var ReferencesFormatter $formatter */ /** @var ReferencesFormatter $formatter */
$formatter = TestingAccessWrapper::newFromObject( new ReferencesFormatter( $formatter = TestingAccessWrapper::newFromObject( new ReferencesFormatter(
$mockErrorReporter, $errorReporter,
$this->createMock( AnchorFormatter::class ), $this->createMock( AnchorFormatter::class ),
$mockMessageLocalizer $mockMessageLocalizer
) ); ) );