* @group Database
* ^--- important, causes temporary tables to be used instead of the real database
* @group medium
- **/
+ */
class WikiPageTest extends MediaWikiLangTestCase {
protected $pages_to_delete;
$this->assertEquals( 2, $n, 'pagelinks should contain two links from the page' );
}
- /**
- * @covers WikiPage::doEdit
- * @deprecated since 1.21. Should be removed when WikiPage::doEdit() gets removed
- */
- public function testDoEdit() {
- $this->hideDeprecated( "WikiPage::doEdit" );
- $this->hideDeprecated( "WikiPage::getText" );
- $this->hideDeprecated( "Revision::getText" );
-
- // NOTE: assume help namespace will default to wikitext
- $title = Title::newFromText( "Help:WikiPageTest_testDoEdit" );
-
- $page = $this->newPage( $title );
-
- $text = "[[Lorem ipsum]] dolor sit amet, consetetur sadipscing elitr, sed diam "
- . " nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.";
-
- $page->doEdit( $text, "[[testing]] 1" );
-
- $this->assertTrue( $title->getArticleID() > 0, "Title object should have new page id" );
- $this->assertTrue( $page->getId() > 0, "WikiPage should have new page id" );
- $this->assertTrue( $title->exists(), "Title object should indicate that the page now exists" );
- $this->assertTrue( $page->exists(), "WikiPage object should indicate that the page now exists" );
-
- $id = $page->getId();
-
- # ------------------------
- $dbr = wfGetDB( DB_SLAVE );
- $res = $dbr->select( 'pagelinks', '*', [ 'pl_from' => $id ] );
- $n = $res->numRows();
- $res->free();
-
- $this->assertEquals( 1, $n, 'pagelinks should contain one link from the page' );
-
- # ------------------------
- $page = new WikiPage( $title );
-
- $retrieved = $page->getText();
- $this->assertEquals( $text, $retrieved, 'retrieved text doesn\'t equal original' );
-
- # ------------------------
- $text = "At vero eos et accusam et justo duo [[dolores]] et ea rebum. "
- . "Stet clita kasd [[gubergren]], no sea takimata sanctus est.";
-
- $page->doEdit( $text, "testing 2" );
-
- # ------------------------
- $page = new WikiPage( $title );
-
- $retrieved = $page->getText();
- $this->assertEquals( $text, $retrieved, 'retrieved text doesn\'t equal original' );
-
- # ------------------------
- $dbr = wfGetDB( DB_SLAVE );
- $res = $dbr->select( 'pagelinks', '*', [ 'pl_from' => $id ] );
- $n = $res->numRows();
- $res->free();
-
- $this->assertEquals( 2, $n, 'pagelinks should contain two links from the page' );
- }
-
/**
* @covers WikiPage::doDeleteArticle
*/
$page->getContent(),
"WikiPage::getContent should return null after page was deleted"
);
- $this->assertFalse(
- $page->getText(),
- "WikiPage::getText should return false after page was deleted"
- );
$t = Title::newFromText( $page->getTitle()->getPrefixedText() );
$this->assertFalse(
$this->assertEquals( "some text", $content->getNativeData() );
}
- /**
- * @covers WikiPage::getText
- */
- public function testGetText() {
- $this->hideDeprecated( "WikiPage::getText" );
-
- $page = $this->newPage( "WikiPageTest_testGetText" );
-
- $text = $page->getText();
- $this->assertFalse( $text );
-
- # -----------------
- $this->createPage( $page, "some text", CONTENT_MODEL_WIKITEXT );
-
- $text = $page->getText();
- $this->assertEquals( "some text", $text );
- }
-
/**
* @covers WikiPage::getContentModel
*/
$this->assertEquals( "one", $page->getContent()->getNativeData() );
}
- public static function provideGetAutosummary() {
- return [
- [
- 'Hello there, world!',
- '#REDIRECT [[Foo]]',
- 0,
- '/^Redirected page .*Foo/'
- ],
-
- [
- null,
- 'Hello world!',
- EDIT_NEW,
- '/^Created page .*Hello/'
- ],
-
- [
- 'Hello there, world!',
- '',
- 0,
- '/^Blanked/'
- ],
-
- [
- 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
- eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
- voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
- clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.',
- 'Hello world!',
- 0,
- '/^Replaced .*Hello/'
- ],
-
- [
- 'foo',
- 'bar',
- 0,
- '/^$/'
- ],
- ];
- }
-
- /**
- * @dataProvider provideGetAutoSummary
- * @covers WikiPage::getAutosummary
- */
- public function testGetAutosummary( $old, $new, $flags, $expected ) {
- $this->hideDeprecated( "WikiPage::getAutosummary" );
-
- $page = $this->newPage( "WikiPageTest_testGetAutosummary" );
-
- $summary = $page->getAutosummary( $old, $new, $flags );
-
- $this->assertTrue( (bool)preg_match( $expected, $summary ),
- "Autosummary didn't match expected pattern $expected: $summary" );
- }
-
public static function provideGetAutoDeleteReason() {
return [
[