From 11dbd4ec8e17bc34070ab2f72cc2535d3f9d5464 Mon Sep 17 00:00:00 2001 From: addshore Date: Mon, 4 Dec 2017 16:31:57 +0100 Subject: [PATCH] Tests for WikiPage::updateRevisionOn Bug: T180989 Change-Id: I245d9d467e3113bf49e06ee5c725205d4225671a --- .../includes/page/WikiPageDbTestBase.php | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/tests/phpunit/includes/page/WikiPageDbTestBase.php b/tests/phpunit/includes/page/WikiPageDbTestBase.php index be8b444f70..9d349b7c48 100644 --- a/tests/phpunit/includes/page/WikiPageDbTestBase.php +++ b/tests/phpunit/includes/page/WikiPageDbTestBase.php @@ -1486,4 +1486,63 @@ more stuff $this->assertSame( $expectedComment, $result->getComment( Revision::RAW ) ); } + /** + * @covers WikiPage::updateRevisionOn + */ + public function testUpdateRevisionOn_existingPage() { + $user = $this->getTestSysop()->getUser(); + $page = $this->createPage( __METHOD__, 'StartText' ); + + $revision = new Revision( + [ + 'id' => 9989, + 'page' => $page->getId(), + 'title' => $page->getTitle(), + 'comment' => __METHOD__, + 'minor_edit' => true, + 'text' => __METHOD__ . '-text', + 'len' => strlen( __METHOD__ . '-text' ), + 'user' => $user->getId(), + 'user_text' => $user->getName(), + 'timestamp' => '20170707040404', + 'content_model' => CONTENT_MODEL_WIKITEXT, + 'content_format' => CONTENT_FORMAT_WIKITEXT, + ] + ); + + $result = $page->updateRevisionOn( $this->db, $revision ); + $this->assertTrue( $result ); + $this->assertSame( 9989, $page->getLatest() ); + $this->assertEquals( $revision, $page->getRevision() ); + } + + /** + * @covers WikiPage::updateRevisionOn + */ + public function testUpdateRevisionOn_NonExistingPage() { + $user = $this->getTestSysop()->getUser(); + $page = $this->createPage( __METHOD__, 'StartText' ); + $page->doDeleteArticle( 'reason' ); + + $revision = new Revision( + [ + 'id' => 9989, + 'page' => $page->getId(), + 'title' => $page->getTitle(), + 'comment' => __METHOD__, + 'minor_edit' => true, + 'text' => __METHOD__ . '-text', + 'len' => strlen( __METHOD__ . '-text' ), + 'user' => $user->getId(), + 'user_text' => $user->getName(), + 'timestamp' => '20170707040404', + 'content_model' => CONTENT_MODEL_WIKITEXT, + 'content_format' => CONTENT_FORMAT_WIKITEXT, + ] + ); + + $result = $page->updateRevisionOn( $this->db, $revision ); + $this->assertFalse( $result ); + } + } -- 2.20.1