aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/phpunit/MediaWikiIntegrationTestCase.php22
-rw-r--r--tests/phpunit/includes/api/ApiChangeContentModelTest.php7
-rw-r--r--tests/phpunit/includes/api/ApiComparePagesTest.php16
-rw-r--r--tests/phpunit/includes/api/ApiStashEditTest.php19
-rw-r--r--tests/phpunit/includes/api/format/ApiFormatXmlTest.php30
-rw-r--r--tests/phpunit/includes/api/query/ApiQueryAllPagesTest.php14
-rw-r--r--tests/phpunit/includes/api/query/ApiQueryAllRevisionsTest.php27
-rw-r--r--tests/phpunit/includes/api/query/ApiQueryRecentChangesIntegrationTest.php12
-rw-r--r--tests/phpunit/includes/api/query/ApiQueryUserContribsTest.php13
-rw-r--r--tests/phpunit/includes/api/query/ApiQueryWatchlistIntegrationTest.php24
10 files changed, 111 insertions, 73 deletions
diff --git a/tests/phpunit/MediaWikiIntegrationTestCase.php b/tests/phpunit/MediaWikiIntegrationTestCase.php
index 68361887bd68..57b609eafeb2 100644
--- a/tests/phpunit/MediaWikiIntegrationTestCase.php
+++ b/tests/phpunit/MediaWikiIntegrationTestCase.php
@@ -1,11 +1,13 @@
<?php
+use MediaWiki\Linker\LinkTarget;
use MediaWiki\Logger\LegacyLogger;
use MediaWiki\Logger\LegacySpi;
use MediaWiki\Logger\LogCapturingSpi;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Page\PageIdentity;
use MediaWiki\Page\ProperPageIdentity;
use MediaWiki\Permissions\Authority;
use MediaWiki\Permissions\UltimateAuthority;
@@ -2528,7 +2530,7 @@ abstract class MediaWikiIntegrationTestCase extends PHPUnit\Framework\TestCase {
/**
* Edits or creates a page/revision
- * @param string|Title|WikiPage $page the page to edit
+ * @param string|PageIdentity|LinkTarget|WikiPage $page the page to edit
* @param string|Content $content the new content of the page
* @param string $summary Optional summary string for the revision
* @param int $defaultNs Optional namespace id
@@ -2551,14 +2553,18 @@ abstract class MediaWikiIntegrationTestCase extends PHPUnit\Framework\TestCase {
' method should return true. Use @group Database or $this->tablesUsed.' );
}
+ $services = $this->getServiceContainer();
if ( $page instanceof WikiPage ) {
$title = $page->getTitle();
- } elseif ( $page instanceof Title ) {
- $title = $page;
- $page = WikiPage::factory( $title );
+ } elseif ( $page instanceof PageIdentity ) {
+ $page = $services->getWikiPageFactory()->newFromTitle( $page );
+ $title = $page->getTitle();
+ } elseif ( $page instanceof LinkTarget ) {
+ $page = $services->getWikiPageFactory()->newFromLinkTarget( $page );
+ $title = $page->getTitle();
} else {
- $title = Title::newFromText( $page, $defaultNs );
- $page = WikiPage::factory( $title );
+ $title = $services->getTitleFactory()->newFromText( $page, $defaultNs );
+ $page = $services->getWikiPageFactory()->newFromTitle( $title );
}
if ( $performer === null ) {
@@ -2566,7 +2572,9 @@ abstract class MediaWikiIntegrationTestCase extends PHPUnit\Framework\TestCase {
}
if ( is_string( $content ) ) {
- $content = ContentHandler::makeContent( $content, $title );
+ $content = $services->getContentHandlerFactory()
+ ->getContentHandler( $title->getContentModel() )
+ ->unserializeContent( $content );
}
return $page->doUserEditContent(
diff --git a/tests/phpunit/includes/api/ApiChangeContentModelTest.php b/tests/phpunit/includes/api/ApiChangeContentModelTest.php
index 2113528265bc..627d750f2613 100644
--- a/tests/phpunit/includes/api/ApiChangeContentModelTest.php
+++ b/tests/phpunit/includes/api/ApiChangeContentModelTest.php
@@ -219,11 +219,12 @@ class ApiChangeContentModelTest extends ApiTestCase {
$title = Title::newFromText( 'Dummy:NoDirectEditing' );
$dummyContent = ContentHandler::getForModelID( 'testing' )->makeEmptyContent();
- WikiPage::factory( $title )->doUserEditContent(
+ $this->editPage(
+ $title,
$dummyContent,
- $this->getTestSysop()->getUser(),
'EditSummaryForThisTest',
- EDIT_NEW | EDIT_SUPPRESS_RC
+ NS_MAIN,
+ $this->getTestSysop()->getUser()
);
$this->assertSame(
'testing',
diff --git a/tests/phpunit/includes/api/ApiComparePagesTest.php b/tests/phpunit/includes/api/ApiComparePagesTest.php
index ea82b1708dac..28777f0046f1 100644
--- a/tests/phpunit/includes/api/ApiComparePagesTest.php
+++ b/tests/phpunit/includes/api/ApiComparePagesTest.php
@@ -14,13 +14,17 @@ class ApiComparePagesTest extends ApiTestCase {
protected static $repl = [];
protected function addPage( $page, $text, $model = CONTENT_MODEL_WIKITEXT ) {
- $title = Title::newFromText( 'ApiComparePagesTest ' . $page );
- $content = ContentHandler::makeContent( $text, $title, $model );
-
- $page = WikiPage::factory( $title );
+ $title = Title::makeTitle( NS_MAIN, 'ApiComparePagesTest ' . $page );
+ $content = $this->getServiceContainer()->getContentHandlerFactory()
+ ->getContentHandler( $model )
+ ->unserializeContent( $text );
$user = static::getTestSysop()->getUser();
- $status = $page->doUserEditContent(
- $content, $user, 'Test for ApiComparePagesTest: ' . $text
+ $status = $this->editPage(
+ $title,
+ $content,
+ 'Test for ApiComparePagesTest: ' . $text,
+ NS_MAIN,
+ $user
);
if ( !$status->isOK() ) {
$this->fail( "Failed to create $title: " . $status->getWikiText( false, false, 'en' ) );
diff --git a/tests/phpunit/includes/api/ApiStashEditTest.php b/tests/phpunit/includes/api/ApiStashEditTest.php
index b8f035ae6225..acab37c8c6da 100644
--- a/tests/phpunit/includes/api/ApiStashEditTest.php
+++ b/tests/phpunit/includes/api/ApiStashEditTest.php
@@ -242,12 +242,23 @@ class ApiStashEditTest extends ApiTestCase {
public function testMidEditContentModelMismatch() {
$name = ucfirst( __FUNCTION__ );
- $page = WikiPage::factory( Title::makeTitle( NS_MAIN, $name ) );
-
+ $title = Title::makeTitle( NS_MAIN, $name );
$content = new CssContent( 'Css' );
$user = $this->getTestSysop()->getUser();
- $revRecord = $page->doUserEditContent( $content, $user, '' )->value['revision-record'];
- $page->doUserEditContent( new WikitextContent( 'Text' ), $user, '' );
+ $revRecord = $this->editPage(
+ $title,
+ $content,
+ '',
+ NS_MAIN,
+ $user
+ )->value['revision-record'];
+ $this->editPage(
+ $title,
+ new WikitextContent( 'Text' ),
+ '',
+ NS_MAIN,
+ $user
+ );
$this->setExpectedApiException(
[ 'apierror-contentmodel-mismatch', 'wikitext', 'css' ]
diff --git a/tests/phpunit/includes/api/format/ApiFormatXmlTest.php b/tests/phpunit/includes/api/format/ApiFormatXmlTest.php
index 4261fe578d8f..b0a542a90318 100644
--- a/tests/phpunit/includes/api/format/ApiFormatXmlTest.php
+++ b/tests/phpunit/includes/api/format/ApiFormatXmlTest.php
@@ -11,16 +11,28 @@ class ApiFormatXmlTest extends ApiFormatTestBase {
protected function setUp(): void {
parent::setUp();
- $page = WikiPage::factory( Title::newFromText( 'MediaWiki:ApiFormatXmlTest.xsl' ) );
$user = self::getTestSysop()->getUser();
- $page->doUserEditContent( new WikitextContent(
- '<?xml version="1.0"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" />'
- ), $user, 'Summary' );
- // phpcs:enable
- $page = WikiPage::factory( Title::newFromText( 'MediaWiki:ApiFormatXmlTest' ) );
- $page->doUserEditContent( new WikitextContent( 'Bogus' ), $user, 'Summary' );
- $page = WikiPage::factory( Title::newFromText( 'ApiFormatXmlTest' ) );
- $page->doUserEditContent( new WikitextContent( 'Bogus' ), $user, 'Summary' );
+ $this->editPage(
+ Title::makeTitle( NS_MEDIAWIKI, 'ApiFormatXmlTest.xsl' ),
+ '<?xml version="1.0"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" />',
+ 'Summary',
+ NS_MAIN,
+ $user
+ );
+ $this->editPage(
+ Title::makeTitle( NS_MEDIAWIKI, 'ApiFormatXmlTest' ),
+ 'Bogus',
+ 'Summary',
+ NS_MAIN,
+ $user
+ );
+ $this->editPage(
+ Title::makeTitle( NS_MAIN, 'ApiFormatXmlTest' ),
+ 'Bogus',
+ 'Summary',
+ NS_MAIN,
+ $user
+ );
}
public static function provideGeneralEncoding() {
diff --git a/tests/phpunit/includes/api/query/ApiQueryAllPagesTest.php b/tests/phpunit/includes/api/query/ApiQueryAllPagesTest.php
index 825002ea0c9f..bf7b097cdeb8 100644
--- a/tests/phpunit/includes/api/query/ApiQueryAllPagesTest.php
+++ b/tests/phpunit/includes/api/query/ApiQueryAllPagesTest.php
@@ -14,13 +14,13 @@ class ApiQueryAllPagesTest extends ApiTestCase {
* in wrong search results
*/
public function testPrefixNormalizationSearchBug() {
- $title = Title::newFromText( 'Category:Template:xyz' );
- $page = WikiPage::factory( $title );
-
- $page->doUserEditContent(
- ContentHandler::makeContent( 'Some text', $page->getTitle() ),
- $this->getTestSysop()->getUser(),
- 'inserting content'
+ $title = Title::makeTitle( NS_CATEGORY, 'Template:xyz' );
+ $this->editPage(
+ $title,
+ 'Some text',
+ 'inserting content',
+ NS_MAIN,
+ $this->getTestSysop()->getUser()
);
$result = $this->doApiRequest( [
diff --git a/tests/phpunit/includes/api/query/ApiQueryAllRevisionsTest.php b/tests/phpunit/includes/api/query/ApiQueryAllRevisionsTest.php
index e63c906c5d2b..cd78526d0aa4 100644
--- a/tests/phpunit/includes/api/query/ApiQueryAllRevisionsTest.php
+++ b/tests/phpunit/includes/api/query/ApiQueryAllRevisionsTest.php
@@ -17,19 +17,20 @@ class ApiQueryAllRevisionsTest extends ApiTestCase {
* @group medium
*/
public function testContentComesWithContentModelAndFormat() {
- $pageName = 'Help:' . __METHOD__;
- $title = Title::newFromText( $pageName );
- $page = WikiPage::factory( $title );
-
- $page->doUserEditContent(
- ContentHandler::makeContent( 'Some text', $page->getTitle() ),
- $this->getTestSysop()->getUser(),
- 'inserting content'
+ $title = Title::makeTitle( NS_HELP, 'TestContentComesWithContentModelAndFormat' );
+ $this->editPage(
+ $title,
+ 'Some text',
+ 'inserting content',
+ NS_MAIN,
+ $this->getTestSysop()->getUser()
);
- $page->doUserEditContent(
- ContentHandler::makeContent( 'Some other text', $page->getTitle() ),
- $this->getTestSysop()->getUser(),
- 'adding revision'
+ $this->editPage(
+ $title,
+ 'Some other text',
+ 'adding revision',
+ NS_MAIN,
+ $this->getTestSysop()->getUser()
);
$apiResult = $this->doApiRequest( [
@@ -44,7 +45,7 @@ class ApiQueryAllRevisionsTest extends ApiTestCase {
$this->assertArrayHasKey( 'allrevisions', $apiResult[0]['query'] );
$this->assertArrayHasKey( 0, $apiResult[0]['query']['allrevisions'] );
$this->assertArrayHasKey( 'title', $apiResult[0]['query']['allrevisions'][0] );
- $this->assertSame( $pageName, $apiResult[0]['query']['allrevisions'][0]['title'] );
+ $this->assertSame( $title->getPrefixedText(), $apiResult[0]['query']['allrevisions'][0]['title'] );
$this->assertArrayHasKey( 'revisions', $apiResult[0]['query']['allrevisions'][0] );
$this->assertCount( 2, $apiResult[0]['query']['allrevisions'][0]['revisions'] );
diff --git a/tests/phpunit/includes/api/query/ApiQueryRecentChangesIntegrationTest.php b/tests/phpunit/includes/api/query/ApiQueryRecentChangesIntegrationTest.php
index 4264ab612617..9f92de297f47 100644
--- a/tests/phpunit/includes/api/query/ApiQueryRecentChangesIntegrationTest.php
+++ b/tests/phpunit/includes/api/query/ApiQueryRecentChangesIntegrationTest.php
@@ -23,12 +23,12 @@ class ApiQueryRecentChangesIntegrationTest extends ApiTestCase {
private function doPageEdit( User $user, LinkTarget $target, $summary ) {
static $i = 0;
- $title = Title::newFromLinkTarget( $target );
- $page = WikiPage::factory( $title );
- $page->doUserEditContent(
- ContentHandler::makeContent( __CLASS__ . $i++, $title ),
- $user,
- $summary
+ $this->editPage(
+ $target,
+ __CLASS__ . $i++,
+ $summary,
+ NS_MAIN,
+ $user
);
}
diff --git a/tests/phpunit/includes/api/query/ApiQueryUserContribsTest.php b/tests/phpunit/includes/api/query/ApiQueryUserContribsTest.php
index 2873b093c580..8c7318b28396 100644
--- a/tests/phpunit/includes/api/query/ApiQueryUserContribsTest.php
+++ b/tests/phpunit/includes/api/query/ApiQueryUserContribsTest.php
@@ -18,14 +18,15 @@ class ApiQueryUserContribsTest extends ApiTestCase {
User::newFromName( 'IW>' . __CLASS__, false ),
];
- $title = Title::newFromText( __CLASS__ );
- $page = WikiPage::factory( $title );
+ $title = Title::makeTitle( NS_MAIN, 'ApiQueryUserContribsTest' );
for ( $i = 0; $i < 3; $i++ ) {
foreach ( array_reverse( $users ) as $user ) {
- $status = $page->doUserEditContent(
- ContentHandler::makeContent( "Test revision $user #$i", $title ),
- $user,
- 'Test edit'
+ $status = $this->editPage(
+ $title,
+ "Test revision $user #$i",
+ 'Test edit',
+ NS_MAIN,
+ $user
);
if ( !$status->isOK() ) {
$this->fail( "Failed to edit $title: " . $status->getWikiText( false, false, 'en' ) );
diff --git a/tests/phpunit/includes/api/query/ApiQueryWatchlistIntegrationTest.php b/tests/phpunit/includes/api/query/ApiQueryWatchlistIntegrationTest.php
index 222b76ba2f71..79bfeb02f524 100644
--- a/tests/phpunit/includes/api/query/ApiQueryWatchlistIntegrationTest.php
+++ b/tests/phpunit/includes/api/query/ApiQueryWatchlistIntegrationTest.php
@@ -30,12 +30,12 @@ class ApiQueryWatchlistIntegrationTest extends ApiTestCase {
}
private function doPageEdit( User $user, LinkTarget $target, $content, $summary ) {
- $title = Title::newFromLinkTarget( $target );
- $page = WikiPage::factory( $title );
- $page->doUserEditContent(
- ContentHandler::makeContent( $content, $title ),
- $user,
- $summary
+ $this->editPage(
+ $target,
+ $content,
+ $summary,
+ NS_MAIN,
+ $user
);
}
@@ -62,12 +62,12 @@ class ApiQueryWatchlistIntegrationTest extends ApiTestCase {
}
private function doAnonPageEdit( LinkTarget $target, $content, $summary ) {
- $title = Title::newFromLinkTarget( $target );
- $page = WikiPage::factory( $title );
- $page->doUserEditContent(
- ContentHandler::makeContent( $content, $title ),
- User::newFromId( 0 ),
- $summary
+ $this->editPage(
+ $target,
+ $content,
+ $summary,
+ NS_MAIN,
+ $this->getServiceContainer()->getUserFactory()->newAnonymous()
);
}