wiki.techinc.nl/tests/phpunit/mocks/content/DummyContentForTesting.php
Máté Szabó 85017a30b2 phpunit: Fix trivial dynamic property usages in tests
Dynamic property creation is deprecated in PHP 8.2 (E_DEPRECATED).
Migrate some trivial cases in tests to use explicitly declared fields
instead, and remove the unused lastLog field from
MediaWikiLoggerPHPUnitExtension.

Notably this does not yet address MediaWikiIntegrationTestCase using
dynamic properties to associate ephemeral data with DB connections used
for tests.

Bug: T314099
Change-Id: I55453c0d254012b69c6843c54cfa8345fa5744fa
2022-07-29 01:59:23 +02:00

96 lines
2.5 KiB
PHP

<?php
class DummyContentForTesting extends AbstractContent {
public const MODEL_ID = "testing";
private $data;
public function __construct( $data ) {
parent::__construct( self::MODEL_ID );
$this->data = $data;
}
public function serialize( $format = null ) {
return $this->data;
}
/**
* @return string A string representing the content in a way useful for
* building a full text search index. If no useful representation exists,
* this method returns an empty string.
*/
public function getTextForSearchIndex() {
return '';
}
/**
* @return string|bool The wikitext to include when another page includes this content,
* or false if the content is not includable in a wikitext page.
*/
public function getWikitextForTransclusion() {
return false;
}
/**
* Returns a textual representation of the content suitable for use in edit
* summaries and log messages.
*
* @param int $maxlength Maximum length of the summary text.
* @return string The summary text.
*/
public function getTextForSummary( $maxlength = 250 ) {
return '';
}
/**
* Returns native representation of the data. Interpretation depends on the data model used,
* as given by getDataModel().
*
* @return mixed The native representation of the content. Could be a string, a nested array
* structure, an object, a binary blob... anything, really.
*/
public function getNativeData() {
return $this->data;
}
/**
* returns the content's nominal size in bogo-bytes.
*
* @return int
*/
public function getSize() {
return strlen( $this->data );
}
/**
* Return a copy of this Content object. The following must be true for the object returned
* if $copy = $original->copy()
*
* * get_class($original) === get_class($copy)
* * $original->getModel() === $copy->getModel()
* * $original->equals( $copy )
*
* If and only if the Content object is immutable, the copy() method can and should
* return $this. That is, $copy === $original may be true, but only for imutable content
* objects.
*
* @return Content A copy of this object
*/
public function copy() {
return $this;
}
/**
* Returns true if this content is countable as a "real" wiki page, provided
* that it's also in a countable location (e.g. a current revision in the main namespace).
*
* @param bool|null $hasLinks If it is known whether this content contains links,
* provide this information here, to avoid redundant parsing to find out.
* @return bool
*/
public function isCountable( $hasLinks = null ) {
return false;
}
}