jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/394972 )
Change subject: Test for WikiPage::updateRedirectOn
......................................................................
Test for WikiPage::updateRedirectOn
Bug: T180989
Change-Id: I798ded72142503e52395b45fe9ec71a215d5ab92
---
M tests/phpunit/includes/page/WikiPageDbTestBase.php
1 file changed, 52 insertions(+), 0 deletions(-)
Approvals:
Legoktm: Looks good to me, approved
jenkins-bot: Verified
diff --git a/tests/phpunit/includes/page/WikiPageDbTestBase.php
b/tests/phpunit/includes/page/WikiPageDbTestBase.php
index 64ad644..fa48fb4 100644
--- a/tests/phpunit/includes/page/WikiPageDbTestBase.php
+++ b/tests/phpunit/includes/page/WikiPageDbTestBase.php
@@ -11,6 +11,7 @@
$this->tablesUsed,
[ 'page',
'revision',
+ 'redirect',
'archive',
'category',
'ip_changes',
@@ -1183,4 +1184,55 @@
$this->assertEquals( 1, Category::newFromName( 'C'
)->getPageCount() );
}
+ public function provideUpdateRedirectOn() {
+ yield [ '#REDIRECT [[Foo]]', true, null, true, true, 0 ];
+ yield [ '#REDIRECT [[Foo]]', true, 'Foo', true, false, 1 ];
+ yield [ 'SomeText', false, null, false, true, 0 ];
+ yield [ 'SomeText', false, 'Foo', false, false, 1 ];
+ }
+
+ /**
+ * @dataProvider provideUpdateRedirectOn
+ * @covers WikiPage::updateRedirectOn
+ *
+ * @param string $initialText
+ * @param bool $initialRedirectState
+ * @param string|null $redirectTitle
+ * @param bool|null $lastRevIsRedirect
+ * @param bool $expectedSuccess
+ * @param int $expectedRowCount
+ */
+ public function testUpdateRedirectOn(
+ $initialText,
+ $initialRedirectState,
+ $redirectTitle,
+ $lastRevIsRedirect,
+ $expectedSuccess,
+ $expectedRowCount
+ ) {
+ static $pageCounter = 0;
+ $pageCounter++;
+
+ $page = $this->createPage( Title::newFromText( __METHOD__ .
$pageCounter ), $initialText );
+ $this->assertSame( $initialRedirectState, $page->isRedirect() );
+
+ $redirectTitle = is_string( $redirectTitle )
+ ? Title::newFromText( $redirectTitle )
+ : $redirectTitle;
+
+ $success = $page->updateRedirectOn( $this->db, $redirectTitle,
$lastRevIsRedirect );
+ $this->assertSame( $expectedSuccess, $success, 'Success
assertion' );
+ /**
+ * updateRedirectOn explicitly updates the redirect table (and
not the page table).
+ * Most of core checks the page table for redirect status, so
we have to be ugly and
+ * assert a select from the table here.
+ */
+ $this->assertSelect(
+ 'redirect',
+ 'COUNT(*)',
+ [ 'rd_from' => $page->getId() ],
+ [ [ strval( $expectedRowCount ) ] ]
+ );
+ }
+
}
--
To view, visit https://gerrit.wikimedia.org/r/394972
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I798ded72142503e52395b45fe9ec71a215d5ab92
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Addshore <[email protected]>
Gerrit-Reviewer: Daniel Kinzler <[email protected]>
Gerrit-Reviewer: Legoktm <[email protected]>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits