From f52842b5368a8571ba8950c4f6f66edd02f5c7d7 Mon Sep 17 00:00:00 2001 From: Chad Horohoe Date: Wed, 3 Sep 2014 19:30:15 -0700 Subject: [PATCH] EditPageTest: Rewrite testCreatePage() to use a data provider Change-Id: I415f9fdbca6a625d8d1e9ff4c05c861a96dfa290 --- tests/phpunit/includes/EditPageTest.php | 160 ++++++++++-------------- 1 file changed, 68 insertions(+), 92 deletions(-) diff --git a/tests/phpunit/includes/EditPageTest.php b/tests/phpunit/includes/EditPageTest.php index 27bc2930d3..185ffa4db5 100644 --- a/tests/phpunit/includes/EditPageTest.php +++ b/tests/phpunit/includes/EditPageTest.php @@ -180,107 +180,83 @@ class EditPageTest extends MediaWikiLangTestCase { return $page; } - /** - * @todo split into a dataprovider and test method - * @covers EditPage - */ - public function testCreatePage() { - $this->assertEdit( - 'EditPageTest_testCreatePage', - null, - null, - array( - 'wpTextbox1' => "Hello World!", + public function provideCreatePages() { + return array( + array( 'expected article being created', + 'EditPageTest_testCreatePage', + null, + 'Hello World!', + EditPage::AS_SUCCESS_NEW_ARTICLE, + 'Hello World!' ), - EditPage::AS_SUCCESS_NEW_ARTICLE, - "Hello World!", - "expected article being created" - )->doDeleteArticleReal( 'EditPageTest_testCreatePage' ); - - $this->assertEdit( - 'EditPageTest_testCreatePage', - null, - null, - array( - 'wpTextbox1' => "", + array( 'expected article not being created if empty', + 'EditPageTest_testCreatePage', + null, + '', + EditPage::AS_BLANK_ARTICLE, + null ), - EditPage::AS_BLANK_ARTICLE, - null, - "expected article not being created if empty" - ); - - $this->assertEdit( - 'MediaWiki:January', - null, - 'UTSysop', - array( - 'wpTextbox1' => "Not January", + array( 'expected MediaWiki: page being created', + 'MediaWiki:January', + 'UTSysop', + 'Not January', + EditPage::AS_SUCCESS_NEW_ARTICLE, + 'Not January' ), - EditPage::AS_SUCCESS_NEW_ARTICLE, - "Not January", - "expected MediaWiki: page being created" - )->doDeleteArticleReal( 'EditPageTest_testCreatePage' ); - - $this->assertEdit( - 'MediaWiki:EditPageTest_testCreatePage', - null, - 'UTSysop', - array( - 'wpTextbox1' => "", + array( 'expected not-registered MediaWiki: page not being created if empty', + 'MediaWiki:EditPageTest_testCreatePage', + 'UTSysop', + '', + EditPage::AS_BLANK_ARTICLE, + null ), - EditPage::AS_BLANK_ARTICLE, - null, - "expected not-registered MediaWiki: page not being created if empty" - ); - - $this->assertEdit( - 'MediaWiki:January', - null, - 'UTSysop', - array( - 'wpTextbox1' => "", + array( 'expected registered MediaWiki: page being created even if empty', + 'MediaWiki:January', + 'UTSysop', + '', + EditPage::AS_SUCCESS_NEW_ARTICLE, + '' ), - EditPage::AS_SUCCESS_NEW_ARTICLE, - "", - "expected registered MediaWiki: page being created even if empty" - )->doDeleteArticleReal( 'EditPageTest_testCreatePage' ); - - $this->assertEdit( - 'MediaWiki:Ipb-default-expiry', - null, - 'UTSysop', - array( - 'wpTextbox1' => "", + array( 'expected registered MediaWiki: page whose default content is empty not being created if empty', + 'MediaWiki:Ipb-default-expiry', + 'UTSysop', + '', + EditPage::AS_BLANK_ARTICLE, + '' ), - EditPage::AS_BLANK_ARTICLE, - "", - "expected registered MediaWiki: page whose default content is empty not being created if empty" - ); - - $this->assertEdit( - 'MediaWiki:January', - null, - 'UTSysop', - array( - 'wpTextbox1' => "January", + array( 'expected MediaWiki: page not being created if text equals default message', + 'MediaWiki:January', + 'UTSysop', + 'January', + EditPage::AS_BLANK_ARTICLE, + null + ), + array( 'expected empty article being created', + 'EditPageTest_testCreatePage', + null, + '', + EditPage::AS_SUCCESS_NEW_ARTICLE, + '', + true ), - EditPage::AS_BLANK_ARTICLE, - null, - "expected MediaWiki: page not being created if text equals default message" ); + } - $this->assertEdit( - 'EditPageTest_testCreatePage', - null, - null, - array( - 'wpTextbox1' => "", - 'wpIgnoreBlankArticle' => 1, - ), - EditPage::AS_SUCCESS_NEW_ARTICLE, - "", - "expected empty article being created" - )->doDeleteArticleReal( 'EditPageTest_testCreatePage' ); + /** + * @dataProvider provideCreatePages + * @covers EditPage + */ + public function testCreatePage( $desc, $pageTitle, $user, $editText, $expectedCode, $expectedText, $ignoreBlank = false ) { + $edit = array( 'wpTextbox1' => $editText ); + if ( $ignoreBlank ) { + $edit['wpIgnoreBlankArticle'] = 1; + } + + $page = $this->assertEdit( $pageTitle, null, $user, $edit, $expectedCode, $expectedText, $desc ); + + if ( $expectedCode != EditPage::AS_BLANK_ARTICLE ) { + $page->doDeleteArticleReal( $pageTitle ); + } } public function testUpdatePage() { -- 2.20.1