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

Reply via email to