diff options
Diffstat (limited to 'tests/selenium/suites')
21 files changed, 0 insertions, 1367 deletions
diff --git a/tests/selenium/suites/AddContentToNewPageTestCase.php b/tests/selenium/suites/AddContentToNewPageTestCase.php deleted file mode 100644 index 2803ff2a..00000000 --- a/tests/selenium/suites/AddContentToNewPageTestCase.php +++ /dev/null @@ -1,173 +0,0 @@ -<?php -/** - * Selenium server manager - * - * @file - * @ingroup Testing - * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com> - * http://www.calcey.com/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * http://www.gnu.org/copyleft/gpl.html - */ - -class AddContentToNewPageTestCase extends SeleniumTestCase { - // Add bold text and verify output - public function testAddBoldText() { - $this->getExistingPage(); - $this->clickEditLink(); - $this->loadWikiEditor(); - $this->clearWikiEditor(); - $this->click( "//*[@id='mw-editbutton-bold']" ); - $this->clickShowPreviewBtn(); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify bold text displayed on mediawiki preview - $this->assertTrue( $this->isElementPresent( "//div[@id='wikiPreview']/p/b" ) ); - $this->assertTrue( $this->isTextPresent( "Bold text" ) ); - } - - // Add italic text and verify output - public function testAddItalicText() { - $this->getExistingPage(); - $this->clickEditLink(); - $this->loadWikiEditor(); - $this->clearWikiEditor(); - $this->click( "//*[@id='mw-editbutton-italic']" ); - $this->clickShowPreviewBtn(); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify italic text displayed on mediawiki preview - $this->assertTrue( $this->isElementPresent( "//div[@id='wikiPreview']/p/i" ) ); - $this->assertTrue( $this->isTextPresent( "Italic text" ) ); - } - - // Add internal link for a new page and verify output in the preview - public function testAddInternalLinkNewPage() { - $this->getExistingPage(); - $this->clickEditLink(); - $this->loadWikiEditor(); - $this->clearWikiEditor(); - $this->click( "//*[@id='mw-editbutton-link']" ); - $this->clickShowPreviewBtn(); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify internal link displayed on mediawiki preview - $source = $this->getText( "//*[@id='wikiPreview']/p/a" ); - $correct = strstr( $source, "Link title" ); - $this->assertEquals( $correct, true ); - - $this->click( SeleniumTestConstants::LINK_START . "Link title" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify internal link open as a new page - editing mode - $source = $this->getText( "firstHeading" ); - $correct = strstr( $source, "Editing Link title" ); - $this->assertEquals( $correct, true ); - } - - // Add external link and verify output in the preview - public function testAddExternalLink() { - $this->getExistingPage(); - $this->clickEditLink(); - $this->loadWikiEditor(); - $this->clearWikiEditor(); - $this->click( "//*[@id='mw-editbutton-extlink']" ); - $this->type( SeleniumTestConstants::TEXT_EDITOR, "[http://www.google.com Google]" ); - $this->clickShowPreviewBtn(); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify external links displayed on mediawiki preview - $source = $this->getText( "//*[@id='wikiPreview']/p/a" ); - $correct = strstr( $source, "Google" ); - $this->assertEquals( $correct, true ); - - $this->click( SeleniumTestConstants::LINK_START . "Google" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify external link opens - $source = $this->getTitle(); - $correct = strstr( $source, "Google" ); - $this->assertEquals( $correct, true ); - } - - // Add level 2 headline and verify output in the preview - public function testAddLevel2HeadLine() { - $blnElementPresent = false; - $blnTextPresent = false; - $this->getExistingPage(); - $this->clickEditLink(); - $this->loadWikiEditor(); - $this->clearWikiEditor(); - $this->click( "mw-editbutton-headline" ); - $this->clickShowPreviewBtn(); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->assertTrue( $this->isElementPresent( "//div[@id='wikiPreview']/h2" ) ); - - // Verify level 2 headline displayed on mediawiki preview - $source = $this->getText( "//*[@id='Headline_text']" ); - $correct = strstr( $source, "Headline text" ); - $this->assertEquals( $correct, true ); - } - - // Add text with ignore wiki format and verify output the preview - public function testAddNoWikiFormat() { - $this->getExistingPage(); - $this->clickEditLink(); - $this->loadWikiEditor(); - $this->clearWikiEditor(); - $this->click( "//*[@id='mw-editbutton-nowiki']" ); - $this->clickShowPreviewBtn(); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify ignore wiki format text displayed on mediawiki preview - $source = $this->getText( "//div[@id='wikiPreview']/p" ); - $correct = strstr( $source, "Insert non-formatted text here" ); - $this->assertEquals( $correct, true ); - } - - // Add signature and verify output in the preview - public function testAddUserSignature() { - $this->getExistingPage(); - $this->clickEditLink(); - $this->loadWikiEditor(); - $this->clearWikiEditor(); - $this->click( "mw-editbutton-signature" ); - $this->clickShowPreviewBtn(); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify signature displayed on mediawiki preview - $source = $this->getText( "//*[@id='wikiPreview']/p/a" ); - $username = $this->getText( "//*[@id='pt-userpage']/a" ); - $correct = strstr( $source, $username ); - $this->assertEquals( $correct, true ); - } - - // Add horizontal line and verify output in the preview - public function testHorizontalLine() { - $this->getExistingPage(); - $this->clickEditLink(); - $this->loadWikiEditor(); - $this->clearWikiEditor(); - $this->click( "mw-editbutton-hr" ); - - $this->clickShowPreviewBtn(); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify horizontal line displayed on mediawiki preview - $this->assertTrue( $this->isElementPresent( "//div[@id='wikiPreview']/hr" ) ); - $this->deletePage( "new" ); - } -} diff --git a/tests/selenium/suites/AddNewPageTestCase.php b/tests/selenium/suites/AddNewPageTestCase.php deleted file mode 100644 index c70af339..00000000 --- a/tests/selenium/suites/AddNewPageTestCase.php +++ /dev/null @@ -1,59 +0,0 @@ -<?php -/** - * Selenium server manager - * - * @file - * @ingroup Testing - * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com> - * http://www.calcey.com/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * http://www.gnu.org/copyleft/gpl.html - */ - -class AddNewPageTestCase extends SeleniumTestCase { - // Verify adding a new page - public function testAddNewPage() { - $newPage = "new"; - $displayName = "New"; - $this->open( $this->getUrl() . - '/index.php?title=Main_Page&action=edit' ); - $this->type( "searchInput", $newPage ); - $this->click( "searchGoButton" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify 'Search results' text available - $source = $this->gettext( "firstHeading" ); - $correct = strstr( $source, "Search results" ); - $this->assertEquals( $correct, true ); - - // Verify 'Create the page "<page name>" on this wiki' text available - $source = $this->gettext( "//div[@id='bodyContent']/div[4]/p/b" ); - $correct = strstr( $source, "Create the page \"New\" on this wiki!" ); - $this->assertEquals( $correct, true ); - - $this->click( SeleniumTestConstants::LINK_START . $displayName ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->assertTrue( $this->isElementPresent( SeleniumTestConstants::LINK_START . "Create" ) ); - $this->type( "wpTextbox1", "add new test page" ); - $this->click( SeleniumTestConstants::BUTTON_SAVE ); - - // Verify new page added - $source = $this->gettext( "firstHeading" ); - $correct = strstr( $source, $displayName ); - $this->assertEquals( $correct, true ); - } -} diff --git a/tests/selenium/suites/CreateAccountTestCase.php b/tests/selenium/suites/CreateAccountTestCase.php deleted file mode 100644 index a603f995..00000000 --- a/tests/selenium/suites/CreateAccountTestCase.php +++ /dev/null @@ -1,109 +0,0 @@ -<?php -/** - * Selenium server manager - * - * @file - * @ingroup Testing - * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com> - * http://www.calcey.com/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * http://www.gnu.org/copyleft/gpl.html - */ - -Class CreateAccountTestCase extends SeleniumTestCase { - // Change these values before run the test - private $userName = "yourname4000"; - private $password = "yourpass4000"; - - // Verify 'Log in/create account' link existance in Main page. - public function testMainPageLink() { - - $this->click( "link=Log out" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->open( $this->getUrl() . '/index.php?title=Main_Page' ); - $this->assertTrue( $this->isElementPresent( "link=Log in / create account" ) ); - } - - // Verify 'Create an account' link existance in 'Log in / create account' Page. - public function testCreateAccountPageLink() { - - $this->click( "link=Log out" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->open( $this->getUrl() . '/index.php?title=Main_Page' ); - - // click Log in / create account link to open Log in / create account' page - $this->click( "link=Log in / create account" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->assertTrue( $this->isElementPresent( "link=Create an account" ) ); - } - - // Verify Create account - public function testCreateAccount() { - - $this->click( "link=Log out" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->open( $this->getUrl() . '/index.php?title=Main_Page' ); - - $this->click( "link=Log in / create account" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->click( "link=Create an account" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify for blank user name - $this->type( "wpName2", "" ); - $this->click( "wpCreateaccount" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->assertEquals( "Login error\n You have not specified a valid user name.", - $this->getText( "//div[@id='bodyContent']/div[4]" ) ); - - // Verify for invalid user name - $this->type( "wpName2", "@" ); - $this->click( "wpCreateaccount" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->assertEquals( "Login error\n You have not specified a valid user name.", - $this->getText( "//div[@id='bodyContent']/div[4]" ) ); - - // start of test for blank password - $this->type( "wpName2", $this->userName ); - $this->type( "wpPassword2", "" ); - $this->click( "wpCreateaccount" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->assertEquals( "Login error\n Passwords must be at least 1 character.", - $this->getText( "//div[@id='bodyContent']/div[4]" ) ); - - $this->type( "wpName2", $this->userName ); - $this->type( "wpPassword2", $this->password ); - $this->click( "wpCreateaccount" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->assertEquals( "Login error\n The passwords you entered do not match.", - $this->getText( "//div[@id='bodyContent']/div[4]" ) ); - - $this->type( "wpName2", $this->userName ); - $this->type( "wpPassword2", $this->password ); - $this->type( "wpRetype", $this->password ); - $this->click( "wpCreateaccount" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify successful account creation for valid combination of 'Username', 'Password', 'Retype password' - $this->assertEquals( "Welcome, " . ucfirst( $this->userName ) . "!", - $this->getText( "Welcome,_" . ucfirst( $this->userName ) . "!" ) ); - } -} - diff --git a/tests/selenium/suites/DeletePageAdminTestCase.php b/tests/selenium/suites/DeletePageAdminTestCase.php deleted file mode 100644 index f0005cde..00000000 --- a/tests/selenium/suites/DeletePageAdminTestCase.php +++ /dev/null @@ -1,82 +0,0 @@ -<?php -/** - * Selenium server manager - * - * @file - * @ingroup Testing - * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com> - * http://www.calcey.com/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * http://www.gnu.org/copyleft/gpl.html - */ - -class DeletePageAdminTestCase extends SeleniumTestCase { - // Verify adding a new page - public function testDeletePage() { - - $newPage = "new"; - $displayName = "New"; - - $this->open( $this->getUrl() . '/index.php?title=Main_Page' ); - - $this->type( "searchInput", $newPage ); - $this->click( "searchGoButton" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->click( SeleniumTestConstants::LINK_START . $displayName ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->type( SeleniumTestConstants::TEXT_EDITOR, $newPage . " text" ); - $this->click( SeleniumTestConstants::BUTTON_SAVE ); - - $this->open( $this->getUrl() . - '/index.php?title=Main_Page&action=edit' ); - $this->click( SeleniumTestConstants::LINK_START . "Log out" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->click( SeleniumTestConstants::LINK_START . "Log in / create account" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->type( "wpName1", $this->selenium->getUser() ); - $this->type( "wpPassword1", $this->selenium->getPass() ); - $this->click( "wpLoginAttempt" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->type( "searchInput", "new" ); - $this->click( "searchGoButton" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify 'Delete' link displayed - $source = $this->gettext( SeleniumTestConstants::LINK_START . "Delete" ); - $correct = strstr( $source, "Delete" ); - $this->assertEquals( $correct, true ); - - $this->click( SeleniumTestConstants::LINK_START . "Delete" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify 'Delete' button available - $this->assertTrue( $this->isElementPresent( "wpConfirmB" ) ); - - $this->click( "wpConfirmB" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify 'Action complete' text displayed - $source = $this->gettext( "firstHeading" ); - $correct = strstr( $source, "Action complete" ); - $this->assertEquals( $correct, true ); - - // Verify '<Page Name> has been deleted. See deletion log for a record of recent deletions.' text displayed - $source = $this->gettext( "//div[@id='bodyContent']/p[1]" ); - $correct = strstr( $source, "\"New\" has been deleted. See deletion log for a record of recent deletions." ); - $this->assertEquals( $correct, true ); - } -} diff --git a/tests/selenium/suites/EmailPasswordTestCase.php b/tests/selenium/suites/EmailPasswordTestCase.php deleted file mode 100644 index 77282e47..00000000 --- a/tests/selenium/suites/EmailPasswordTestCase.php +++ /dev/null @@ -1,74 +0,0 @@ -<?php -/** - * Selenium server manager - * - * @file - * @ingroup Testing - * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com> - * http://www.calcey.com/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * http://www.gnu.org/copyleft/gpl.html - */ - -class EmailPasswordTestCase extends SeleniumTestCase { - // change user name for each and every test (with in 24 hours) - private $userName = "test1"; - - public function testEmailPasswordButton() { - $this->click( SeleniumTestConstants::LINK_START . "Log out" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->open( $this->getUrl() . '/index.php?title=Main_Page' ); - - // click Log in / create account link to open Log in / create account' page - $this->click( SeleniumTestConstants::LINK_START . "Log in / create account" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->assertTrue( $this->isElementPresent( "wpMailmypassword" ) ); - } - - // Verify Email password functionality - public function testEmailPasswordMessages() { - $this->click( SeleniumTestConstants::LINK_START . "Log out" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->open( $this->getUrl() . '/index.php?title=Main_Page' ); - - // click Log in / create account link to open Log in / create account' page - $this->click( SeleniumTestConstants::LINK_START . "Log in / create account" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->type( "wpName1", "" ); - $this->click( "wpMailmypassword" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->assertEquals( "Login error\n You have not specified a valid user name.", - $this->getText( "//div[@id='bodyContent']/div[4]" ) ); - - $this->type( "wpName1", $this->userName ); - $this->click( "wpMailmypassword" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Can not run on localhost - $this->assertEquals( "A new password has been sent to the e-mail address registered for " . ucfirst( $this->userName ) . ". Please log in again after you receive it.", - $this->getText( "//div[@id='bodyContent']/div[4]" ) ); - - $this->type( "wpName1", $this->userName ); - $this->click( "wpMailmypassword" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->assertEquals( "Login error\n A password reminder has already been sent, within the last 24 hours. To prevent abuse, only one password reminder will be sent per 24 hours.", - $this->getText( "//div[@id='bodyContent']/div[4]" ) ); - } -} - diff --git a/tests/selenium/suites/MediaWikiEditorConfig.php b/tests/selenium/suites/MediaWikiEditorConfig.php deleted file mode 100644 index 7fd8e075..00000000 --- a/tests/selenium/suites/MediaWikiEditorConfig.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php -/** - * Selenium server manager - * - * @file - * @ingroup Testing - * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com> - * http://www.calcey.com/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * http://www.gnu.org/copyleft/gpl.html - */ - -class MediaWikiEditorConfig { - public static function getSettings( &$includeFiles, &$globalConfigs ) { - $includes = array( - //files that needed to be included would go here - //commenting out because this does not exist - //'tests/selenium/suites/MediaWikiCommonFunction.php' - ); - $configs = array( - 'wgPageLoadTime' => "600000" - ); - $includeFiles = array_merge( $includeFiles, $includes ); - $globalConfigs = array_merge( $globalConfigs, $configs ); - return true; - } -} - diff --git a/tests/selenium/suites/MediaWikiEditorTestSuite.php b/tests/selenium/suites/MediaWikiEditorTestSuite.php deleted file mode 100644 index f9cfb7fb..00000000 --- a/tests/selenium/suites/MediaWikiEditorTestSuite.php +++ /dev/null @@ -1,19 +0,0 @@ -<?php - -class MediaWikiEditorTestSuite extends SeleniumTestSuite { - public function setUp() { - $this->setLoginBeforeTests( true ); - parent::setUp(); - } - - public function addTests() { - $testFiles = array( - 'tests/selenium/suites/AddNewPageTestCase.php', - 'tests/selenium/suites/AddContentToNewPageTestCase.php', - 'tests/selenium/suites/PreviewPageTestCase.php', - 'tests/selenium/suites/SavePageTestCase.php', - ); - parent::addTestFiles( $testFiles ); - } -} - diff --git a/tests/selenium/suites/MediaWikiExtraTestSuite.php b/tests/selenium/suites/MediaWikiExtraTestSuite.php deleted file mode 100644 index 8993907a..00000000 --- a/tests/selenium/suites/MediaWikiExtraTestSuite.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php - -class MediaWikiExtraTestSuite extends SeleniumTestSuite { - public function setUp() { - $this->setLoginBeforeTests( true ); - parent::setUp(); - } - - public function addTests() { - $testFiles = array( - 'tests/selenium/suites/MyContributionsTestCase.php', - 'tests/selenium/suites/MyWatchListTestCase.php', - 'tests/selenium/suites/UserPreferencesTestCase.php', - 'tests/selenium/suites/MovePageTestCase.php', - 'tests/selenium/suites/PageSearchTestCase.php', - 'tests/selenium/suites/EmailPasswordTestCase.php', - 'tests/selenium/suites/CreateAccountTestCase.php' - ); - parent::addTestFiles( $testFiles ); - } -} diff --git a/tests/selenium/suites/MediawikiCoreSmokeTestCase.php b/tests/selenium/suites/MediawikiCoreSmokeTestCase.php deleted file mode 100644 index 4491afd2..00000000 --- a/tests/selenium/suites/MediawikiCoreSmokeTestCase.php +++ /dev/null @@ -1,70 +0,0 @@ -<?php -/* - * Stub of tests be need as part of the hack-a-ton - */ -class MediawikiCoreSmokeTestCase extends SeleniumTestCase { - public function testUserLogin() { - - } - - public function testChangeUserPreference() { - - } - - /** - * TODO: generalize this test to be reusable for different skins - */ - public function testCreateNewPageVector() { - - } - - /** - * TODO: generalize this test to be reusable for different skins - */ - public function testEditExistingPageVector() { - - } - - /** - * TODO: generalize this test to be reusable for different skins - */ - public function testCreateNewPageMonobook() { - - } - - /** - * TODO: generalize this test to be reusable for different skins - */ - public function testEditExistingPageMonobook() { - - } - - public function testImageUpload() { - $this->login(); - $this->open( $this->getUrl() . - '/index.php?title=Special:Upload' ); - $this->type( 'wpUploadFile', __DIR__ . - "\\..\\data\\Wikipedia-logo-v2-de.png" ); - $this->check( 'wpIgnoreWarning' ); - $this->click( 'wpUpload' ); - $this->waitForPageToLoad( 30000 ); - - $this->assertSeleniumHTMLContains( - '//h1[@class="firstHeading"]', "Wikipedia-logo-v2-de.png" - ); - - /* - $this->open( $this->getUrl() . '/index.php?title=Image:' - . ucfirst( $this->filename ) . '&action=delete' ); - $this->type( 'wpReason', 'Remove test file' ); - $this->click( 'mw-filedelete-submit' ); - $this->waitForPageToLoad( 10000 ); - - // Todo: This message is localized - $this->assertSeleniumHTMLContains( '//div[@id="bodyContent"]/p', - ucfirst( $this->filename ) . '.*has been deleted.' ); - */ - } - - -} diff --git a/tests/selenium/suites/MediawikiCoreSmokeTestSuite.php b/tests/selenium/suites/MediawikiCoreSmokeTestSuite.php deleted file mode 100644 index fc69e3c3..00000000 --- a/tests/selenium/suites/MediawikiCoreSmokeTestSuite.php +++ /dev/null @@ -1,19 +0,0 @@ -<?php -/** - * Stubs for now. We're going to start populating this test. - */ -class MediawikiCoreSmokeTestSuite extends SeleniumTestSuite { - public function setUp() { - $this->setLoginBeforeTests( false ); - parent::setUp(); - } - - public function addTests() { - $testFiles = array( - 'tests/selenium/suites/MediawikiCoreSmokeTestCase.php' - ); - parent::addTestFiles( $testFiles ); - } - - -} diff --git a/tests/selenium/suites/MovePageTestCase.php b/tests/selenium/suites/MovePageTestCase.php deleted file mode 100644 index d2eaa40d..00000000 --- a/tests/selenium/suites/MovePageTestCase.php +++ /dev/null @@ -1,111 +0,0 @@ -<?php -/** - * Selenium server manager - * - * @file - * @ingroup Testing - * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com> - * http://www.calcey.com/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * http://www.gnu.org/copyleft/gpl.html - */ - -class MovePageTestCase extends SeleniumTestCase { - // Verify move(rename) wiki page - public function testMovePage() { - $newPage = "mypage99"; - $displayName = "Mypage99"; - - $this->open( $this->getUrl() . - '/index.php?title=Main_Page&action=edit' ); - $this->type( "searchInput", $newPage ); - $this->click( "searchGoButton" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->click( "link=" . $displayName ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->type( SeleniumTestConstants::TEXT_EDITOR, $newPage . " text" ); - $this->click( SeleniumTestConstants::BUTTON_SAVE ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify link 'Move' available - $this->assertTrue( $this->isElementPresent( "link=Move" ) ); - - $this->click( "link=Move" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify correct page name displayed under 'Move Page' field - $this->assertEquals( $displayName, - $this->getText( "//table[@id='mw-movepage-table']/tbody/tr[1]/td[2]/strong/a" ) ); - $movePageName = $this->getText( "//table[@id='mw-movepage-table']/tbody/tr[1]/td[2]/strong/a" ); - - // Verify 'To new title' field has current page name as the default name - $newTitle = $this->getValue( "wpNewTitle" ); - $correct = strstr( $movePageName, $newTitle ); - $this->assertEquals( $correct, true ); - - $this->type( "wpNewTitle", $displayName ); - $this->click( "wpMove" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify warning message for the same source and destination titles - $this->assertEquals( "Source and destination titles are the same; cannot move a page over itself.", - $this->getText( "//div[@id='bodyContent']/p[4]/strong" ) ); - - // Verify warning message for the blank title - $this->type( "wpNewTitle", "" ); - $this->click( "wpMove" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify warning message for the blank title - $this->assertEquals( "The requested page title was invalid, empty, or an incorrectly linked inter-language or inter-wiki title. It may contain one or more characters which cannot be used in titles.", - $this->getText( "//div[@id='bodyContent']/p[4]/strong" ) ); - - // Verify warning messages for the invalid titles - $this->type( "wpNewTitle", "# < > [ ] | { }" ); - $this->click( "wpMove" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->assertEquals( "The requested page title was invalid, empty, or an incorrectly linked inter-language or inter-wiki title. It may contain one or more characters which cannot be used in titles.", - $this->getText( "//div[@id='bodyContent']/p[4]/strong" ) ); - - $this->type( "wpNewTitle", $displayName . "move" ); - $this->click( "wpMove" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify move success message displayed correctly - $this->assertEquals( "\"" . $displayName . "\" has been moved to \"" . $displayName . "move" . "\"", - $this->getText( "//div[@id='bodyContent']/p[1]/b" ) ); - - $this->type( "searchInput", $newPage . "move" ); - $this->click( "searchGoButton" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify search using new page name - $this->assertEquals( $displayName . "move", $this->getText( "firstHeading" ) ); - - $this->type( "searchInput", $newPage ); - $this->click( "searchGoButton" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify search using old page name - $redirectPageName = $this->getText( "//*[@id='contentSub']" ); - $this->assertEquals( "(Redirected from " . $displayName . ")", $redirectPageName ); - - // newpage delete - $this->deletePage( $newPage . "move" ); - $this->deletePage( $newPage ); - } -} - diff --git a/tests/selenium/suites/MyContributionsTestCase.php b/tests/selenium/suites/MyContributionsTestCase.php deleted file mode 100644 index 81e3a4da..00000000 --- a/tests/selenium/suites/MyContributionsTestCase.php +++ /dev/null @@ -1,59 +0,0 @@ -<?php -/** - * Selenium server manager - * - * @file - * @ingroup Testing - * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com> - * http://www.calcey.com/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * http://www.gnu.org/copyleft/gpl.html - */ - -require_once dirname( __DIR__ ) . '/SeleniumTestConstants.php'; - -class MyContributionsTestCase extends SeleniumTestCase { - // Verify user contributions - public function testRecentChangesAvailability() { - $newPage = $this->createNewTestPage( "MyContributionsTest" ); - - // Verify My contributions Link available - $this->assertTrue( $this->isElementPresent( "link=Contributions" ) ); - - - $this->click( "link=Contributions" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify recent page adding available on My Contributions list - $this->assertEquals( $newPage, $this->getText( "link=" . $newPage ) ); - - $this->type( SeleniumTestConstants::INPUT_SEARCH_BOX, $newPage ); - $this->click( SeleniumTestConstants::BUTTON_SEARCH ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->click( SeleniumTestConstants::LINK_EDIT ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->type( SeleniumTestConstants::TEXT_EDITOR, $newPage . " text changed" ); - $this->click( SeleniumTestConstants::BUTTON_SAVE ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->click( "link=Contributions" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify recent page changes available on My Contributions - $this->assertTrue( $this->isTextPresent( $newPage ) ); - } -} - diff --git a/tests/selenium/suites/MyWatchListTestCase.php b/tests/selenium/suites/MyWatchListTestCase.php deleted file mode 100644 index 842108fa..00000000 --- a/tests/selenium/suites/MyWatchListTestCase.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -/** - * Selenium server manager - * - * @file - * @ingroup Testing - * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com> - * http://www.calcey.com/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * http://www.gnu.org/copyleft/gpl.html - */ - -require_once dirname( __DIR__ ) . '/SeleniumTestConstants.php'; - -class MyWatchListTestCase extends SeleniumTestCase { - // Verify user watchlist - public function testMyWatchlist() { - $pageName = $this->createNewTestPage( "MyWatchListTest", true ); - // Verify link 'My Watchlist' available - $this->assertTrue( $this->isElementPresent( SeleniumTestConstants::LINK_START . "Watchlist" ) ); - - $this->click( SeleniumTestConstants::LINK_START . "Watchlist" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify newly added page to the watchlist is available - $this->assertEquals( $pageName, $this->getText( SeleniumTestConstants::LINK_START . $pageName ) ); - - $this->click( SeleniumTestConstants::LINK_START . $pageName ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->click( SeleniumTestConstants::LINK_EDIT ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->click( "wpWatchthis" ); - $this->click( SeleniumTestConstants::BUTTON_SAVE ); - $this->assertFalse( $this->isElementPresent( SeleniumTestConstants::LINK_START . $pageName ) ); - //todo watch using the dropdown menu - } -} - diff --git a/tests/selenium/suites/PageDeleteTestSuite.php b/tests/selenium/suites/PageDeleteTestSuite.php deleted file mode 100644 index e43ffa80..00000000 --- a/tests/selenium/suites/PageDeleteTestSuite.php +++ /dev/null @@ -1,15 +0,0 @@ -<?php - -class PageDeleteTestSuite extends SeleniumTestSuite { - public function setUp() { - $this->setLoginBeforeTests( true ); - parent::setUp(); - } - - public function addTests() { - $testFiles = array( - 'tests/selenium/suites/DeletePageAdminTestCase.php' - ); - parent::addTestFiles( $testFiles ); - } -} diff --git a/tests/selenium/suites/PageSearchTestCase.php b/tests/selenium/suites/PageSearchTestCase.php deleted file mode 100644 index 5fdc5c80..00000000 --- a/tests/selenium/suites/PageSearchTestCase.php +++ /dev/null @@ -1,98 +0,0 @@ -<?php -/** - * Selenium server manager - * - * @file - * @ingroup Testing - * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com> - * http://www.calcey.com/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * http://www.gnu.org/copyleft/gpl.html - */ - -class PageSearchTestCase extends SeleniumTestCase { - // Verify the functionality of the 'Go' button - public function testPageSearchBtnGo() { - - $this->open( $this->getUrl() . - '/index.php?title=Main_Page&action=edit' ); - $this->type( SeleniumTestConstants::INPUT_SEARCH_BOX, "calcey qa" ); - $this->click( "searchGoButton" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify no page matched with the entered search text - $source = $this->gettext( "//div[@id='bodyContent']/div[4]/p/b" ); - $correct = strstr( $source, "Create the page \"Calcey qa\" on this wiki!" ); - $this->assertEquals( $correct, true ); - - $this->click( "link=Calcey qa" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->type( SeleniumTestConstants::TEXT_EDITOR, "Calcey QA team" ); - $this->click( "wpSave" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - } - - // Verify the functionality of the 'Search' button - public function testPageSearchBtnSearch() { - $this->open( $this->getUrl() . - '/index.php?title=Main_Page&action=edit' ); - $this->type( SeleniumTestConstants::INPUT_SEARCH_BOX, "Calcey web" ); - $this->click( SeleniumTestConstants::BUTTON_SEARCH ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify no page is available as the search text - $source = $this->gettext( "//div[@id='bodyContent']/div[4]/p[2]/b" ); - $correct = strstr( $source, "Create the page \"Calcey web\" on this wiki!" ); - $this->assertEquals( $correct, true ); - - $this->click( "link=Calcey web" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->type( SeleniumTestConstants::TEXT_EDITOR, "Calcey web team" ); - $this->click( SeleniumTestConstants::BUTTON_SAVE ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify saved page is opened when the exact page name is given - $this->type( SeleniumTestConstants::INPUT_SEARCH_BOX, "Calcey web" ); - $this->click( SeleniumTestConstants::BUTTON_SEARCH ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify exact page matched with the entered search text using 'Search' button - $source = $this->getText( "//*[@id='bodyContent']/div[4]/p/b" ); - $correct = strstr( $source, "There is a page named \"Calcey web\" on this wiki." ); - $this->assertEquals( $correct, true ); - - // Verify resutls available when partial page name is entered as the search text - $this->type( SeleniumTestConstants::INPUT_SEARCH_BOX, "Calcey" ); - $this->click( SeleniumTestConstants::BUTTON_SEARCH ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify text avaialble in the search result under the page titles - if ( $this->isElementPresent( "Page_title_matches" ) ) { - $textPageTitle = $this->getText( "//*[@id='bodyContent']/div[4]/ul[1]/li[1]/div[1]/a" ); - $this->assertContains( 'Calcey', $textPageTitle ); - } - - // Verify text avaialble in the search result under the page text - if ( $this->isElementPresent( "Page_text_matches" ) ) { - $textPageText = $this->getText( "//*[@id='bodyContent']/div[4]/ul[2]/li[2]/div[2]/span" ); - $this->assertContains( 'Calcey', $textPageText ); - } - $this->deletePage( "Calcey QA" ); - $this->deletePage( "Calcey web" ); - } -} diff --git a/tests/selenium/suites/PreviewPageTestCase.php b/tests/selenium/suites/PreviewPageTestCase.php deleted file mode 100644 index 036201f0..00000000 --- a/tests/selenium/suites/PreviewPageTestCase.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php -/** - * Selenium server manager - * - * @file - * @ingroup Testing - * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com> - * http://www.calcey.com/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * http://www.gnu.org/copyleft/gpl.html - */ - -class PreviewPageTestCase extends SeleniumTestCase { - // Verify adding a new page - public function testPreviewPage() { - $wikiText = "Adding this page to test the \n Preview button functionality"; - $newPage = "Test Preview Page"; - $this->open( $this->getUrl() . - '/index.php?title=Main_Page&action=edit' ); - $this->getNewPage( $newPage ); - $this->type( SeleniumTestConstants::TEXT_EDITOR, $wikiText . "" ); - $this->assertTrue( $this->isElementPresent( "//*[@id='wpPreview']" ) ); - - $this->click( "wpPreview" ); - - // Verify saved page available - $source = $this->gettext( "firstHeading" ); - $correct = strstr( $source, "Test Preview Page" ); - $this->assertEquals( $correct, true ); - - // Verify page content previewed succesfully - $contentOfPreviewPage = $this->getText( "//*[@id='content']" ); - $this->assertContains( $wikiText, $contentOfPreviewPage ); - } -} diff --git a/tests/selenium/suites/SavePageTestCase.php b/tests/selenium/suites/SavePageTestCase.php deleted file mode 100644 index 1e4cc2df..00000000 --- a/tests/selenium/suites/SavePageTestCase.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * Selenium server manager - * - * @file - * @ingroup Testing - * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com> - * http://www.calcey.com/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * http://www.gnu.org/copyleft/gpl.html - */ - -class SavePageTestCase extends SeleniumTestCase { - // Verify adding a new page - public function testSavePage() { - $wikiText = "Adding this page to test the Save button functionality"; - $newPage = "Test Save Page"; - - $this->open( $this->getUrl() . - '/index.php?title=Main_Page&action=edit' ); - $this->getNewPage( $newPage ); - $this->type( SeleniumTestConstants::TEXT_EDITOR, $wikiText ); - - // verify 'Save' button available - $this->assertTrue( $this->isElementPresent( SeleniumTestConstants::BUTTON_SAVE ) ); - $this->click( SeleniumTestConstants::BUTTON_SAVE ); - - // Verify saved page available - $source = $this->gettext( "firstHeading" ); - $correct = strstr( $source, "Test Save Page" ); - - // Verify Saved page name displayed correctly - $this->assertEquals( $correct, true ); - - // Verify page content saved succesfully - $contentOfSavedPage = $this->getText( "//*[@id='content']" ); - $this->assertContains( $wikiText, $contentOfSavedPage ); - $this->deletePage( $newPage ); - } -} diff --git a/tests/selenium/suites/SimpleSeleniumConfig.php b/tests/selenium/suites/SimpleSeleniumConfig.php deleted file mode 100644 index a6935114..00000000 --- a/tests/selenium/suites/SimpleSeleniumConfig.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php -class SimpleSeleniumConfig { - - public static function getSettings( &$includeFiles, &$globalConfigs, &$resourceFiles ) { - global $IP; - $includes = array( - //files that needed to be included would go here - ); - $configs = array( - 'wgDBprefix' => 'mw_', - 'wgDBTableOptions' => 'ENGINE=InnoDB, DEFAULT CHARSET=binary', - 'wgDBmysql5' => 'false', - 'wgMainCacheType' => 'CACHE_NONE', - 'wgParserCacheType' => 'CACHE_NONE', - 'wgMemCachedServers' => array(), - 'wgLanguageCode' => 'en', - 'wgSitename' => 'test_wiki', - 'wgDefaultSkin' => 'chick' - ); - $resources = array( - 'db' => "$IP/tests/selenium/data/SimpleSeleniumTestDB.sql", - 'images' => "$IP/tests/selenium/data/SimpleSeleniumTestImages.zip" - ); - - $includeFiles = array_merge( $includeFiles, $includes ); - $globalConfigs = array_merge( $globalConfigs, $configs ); - $resourceFiles = array_merge( $resourceFiles, $resources ); - return true; - } -} diff --git a/tests/selenium/suites/SimpleSeleniumTestCase.php b/tests/selenium/suites/SimpleSeleniumTestCase.php deleted file mode 100644 index 14c9e6b9..00000000 --- a/tests/selenium/suites/SimpleSeleniumTestCase.php +++ /dev/null @@ -1,39 +0,0 @@ -<?php -/* - * This test case is part of the SimpleSeleniumTestSuite. - * Configuration for these tests are documented as part of SimpleSeleniumTestSuite.php - */ -class SimpleSeleniumTestCase extends SeleniumTestCase { - public function testBasic() { - $this->open( $this->getUrl() . - '/index.php?title=Selenium&action=edit' ); - $this->type( "wpTextbox1", "This is a basic test" ); - $this->click( "wpPreview" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // check result - $source = $this->getText( "//div[@id='wikiPreview']/p" ); - $correct = strstr( $source, "This is a basic test" ); - $this->assertEquals( $correct, true ); - } - - /** - * All this test really does is verify that a global var was set. - * It depends on $wgDefaultSkin = 'chick'; being set - */ - public function testGlobalVariableForDefaultSkin() { - $this->open( $this->getUrl() . '/index.php' ); - $bodyClass = $this->getAttribute( "//body/@class" ); - $this->assertContains( 'skin-chick', $bodyClass, 'Chick skin not set' ); - } - - /** - * Just verify that the test db was loaded correctly - */ - public function testDatabaseResourceLoadedCorrectly() { - $this->open( $this->getUrl() . '/index.php/TestResources?action=purge' ); - $testString = $this->gettext( "//body//*[@id='firstHeading']" ); - $this->assertEquals( 'TestResources', $testString, 'Article that should be present in the test db was not found.' ); - } - -} diff --git a/tests/selenium/suites/SimpleSeleniumTestSuite.php b/tests/selenium/suites/SimpleSeleniumTestSuite.php deleted file mode 100644 index 446836a2..00000000 --- a/tests/selenium/suites/SimpleSeleniumTestSuite.php +++ /dev/null @@ -1,26 +0,0 @@ -<?php -/** - * Sample test suite. - * Two ways to configure MW for these tests - * 1) If you are running multiple test suites, add the following in LocalSettings.php - * require_once("tests/selenium/SimpleSeleniumConfig.php"); - * $wgSeleniumTestConfigs['SimpleSeleniumTestSuite'] = 'SimpleSeleniumConfig::getSettings'; - * OR - * 2) Add the following to your Localsettings.php - * $wgDefaultSkin = 'chick'; - */ -class SimpleSeleniumTestSuite extends SeleniumTestSuite { - public function setUp() { - $this->setLoginBeforeTests( false ); - parent::setUp(); - } - - public function addTests() { - $testFiles = array( - 'selenium/suites/SimpleSeleniumTestCase.php' - ); - parent::addTestFiles( $testFiles ); - } - - -} diff --git a/tests/selenium/suites/UserPreferencesTestCase.php b/tests/selenium/suites/UserPreferencesTestCase.php deleted file mode 100644 index c70e38fb..00000000 --- a/tests/selenium/suites/UserPreferencesTestCase.php +++ /dev/null @@ -1,170 +0,0 @@ -<?php -/** - * Selenium server manager - * - * @file - * @ingroup Testing - * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com> - * http://www.calcey.com/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * http://www.gnu.org/copyleft/gpl.html - */ - -class UserPreferencesTestCase extends SeleniumTestCase { - // Verify user information - public function testUserInfoDisplay() { - - $this->open( $this->getUrl() . - '/index.php?title=Main_Page&action=edit' ); - $this->click( SeleniumTestConstants::LINK_START . "My preferences" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify correct username displayed in User Preferences - $this->assertEquals( $this->getText( "//li[@id='pt-userpage']/a" ), - $this->getText( "//table[@id='mw-htmlform-info']/tbody/tr[1]/td[2]" ) ); - - // Verify existing Signature Displayed correctly - $this->assertEquals( $this->selenium->getUser(), - $this->getTable( "mw-htmlform-signature.0.1" ) ); - } - - // Verify change password - public function testChangePassword() { - - $this->open( $this->getUrl() . - '/index.php?title=Main_Page&action=edit' ); - $this->click( SeleniumTestConstants::LINK_START . "My preferences" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->click( SeleniumTestConstants::LINK_START . "Change password" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->type( "wpPassword", "12345" ); - $this->type( "wpNewPassword", "54321" ); - $this->type( "wpRetype", "54321" ); - $this->click( "//input[@value='Change password']" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->assertEquals( "Preferences", $this->getText( "firstHeading" ) ); - - $this->click( SeleniumTestConstants::LINK_START . "Change password" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->type( "wpPassword", "54321" ); - $this->type( "wpNewPassword", "12345" ); - $this->type( "wpRetype", "12345" ); - $this->click( "//input[@value='Change password']" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->assertEquals( "Preferences", $this->getText( "firstHeading" ) ); - - $this->click( SeleniumTestConstants::LINK_START . "Change password" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->type( "wpPassword", "54321" ); - $this->type( "wpNewPassword", "12345" ); - $this->type( "wpRetype", "12345" ); - $this->click( "//input[@value='Change password']" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - } - - // Verify successful preferences save - public function testSuccessfullSave() { - - $this->open( $this->getUrl() . - '/index.php?title=Main_Page&action=edit' ); - $this->click( SeleniumTestConstants::LINK_START . "My preferences" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->type( "mw-input-realname", "Test User" ); - $this->click( "prefcontrol" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify "Your preferences have been saved." message - $this->assertEquals( "Your preferences have been saved.", - $this->getText( "//div[@id='bodyContent']/div[4]/strong/p" ) ); - $this->type( "mw-input-realname", "" ); - $this->click( "prefcontrol" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - } - - // Verify change signature - public function testChangeSignature() { - $this->open( $this->getUrl() . - '/index.php?title=Main_Page&action=edit' ); - $this->click( SeleniumTestConstants::LINK_START . "My preferences" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->type( "mw-input-nickname", "TestSignature" ); - $this->click( "prefcontrol" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify change user signature - $this->assertEquals( "TestSignature", $this->getText( SeleniumTestConstants::LINK_START . "TestSignature" ) ); - $this->type( "mw-input-nickname", "Test" ); - $this->click( "prefcontrol" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - } - - // Verify change date format - public function testChangeDateFormatTimeZone() { - $this->open( $this->getUrl() . - '/index.php?title=Main_Page&action=edit' ); - - $this->click( SeleniumTestConstants::LINK_START . "My preferences" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - $this->click( SeleniumTestConstants::LINK_START . "Date and time" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - $this->click( "mw-input-date-dmy" ); - $this->select( "mw-input-timecorrection", "label=Asia/Colombo" ); - $this->click( "prefcontrol" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify Date format and time zome saved - $this->assertEquals( "Your preferences have been saved.", - $this->getText( "//div[@id='bodyContent']/div[4]/strong/p" ) ); - } - - // Verify restoring all default settings - public function testSetAllDefault() { - $this->open( $this->getUrl() . - '/index.php?title=Main_Page&action=edit' ); - $this->click( SeleniumTestConstants::LINK_START . "My preferences" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify restoring all default settings - $this->assertEquals( "Restore all default settings", - $this->getText( SeleniumTestConstants::LINK_START . "Restore all default settings" ) ); - - $this->click( "//*[@id='preferences']/div/a" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify 'This can not be undone' warning message displayed - $this->assertTrue( $this->isElementPresent( "//input[@value='Restore all default settings']" ) ); - - // Verify 'Restore all default settings' button available - $this->assertEquals( "You can use this page to reset your preferences to the site defaults. This cannot be undone.", - $this->getText( "//div[@id='bodyContent']/p" ) ); - - $this->click( "//input[@value='Restore all default settings']" ); - $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME ); - - // Verify preferences saved successfully - $this->assertEquals( "Your preferences have been saved.", - $this->getText( "//div[@id='bodyContent']/div[4]/strong/p" ) ); - } -} - |