diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2015-04-01 06:11:44 +0200 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2015-04-01 06:11:44 +0200 |
commit | 14f74d141ab5580688bfd46d2f74c026e43ed967 (patch) | |
tree | 081b7cbfc4d246ecc42831978d080331267cf57c /extensions/WikiEditor/tests | |
parent | 4a953b6bfda28604979feb9cfbb58974d13b84bb (diff) |
Update to MediaWiki 1.24.2
Diffstat (limited to 'extensions/WikiEditor/tests')
5 files changed, 502 insertions, 0 deletions
diff --git a/extensions/WikiEditor/tests/selenium/WikiDialogs_Links.php b/extensions/WikiEditor/tests/selenium/WikiDialogs_Links.php new file mode 100644 index 00000000..7153f49f --- /dev/null +++ b/extensions/WikiEditor/tests/selenium/WikiDialogs_Links.php @@ -0,0 +1,67 @@ +<?php +require_once 'WikiDialogs_Links_Setup.php'; +/** + * Description of WikiNewPageDialogs + * + * @author bhagyag, pdhanda + * + * This test case is part of the WikiEditorTestSuite. + * Configuration for these tests are dosumented as part of extensions/WikiEditor/tests/selenium/WikiEditorTestSuite.php + * + */ +class WikiDialogs_Links extends WikiDialogs_Links_Setup { + // Set up the testing environment + function setup() { + parent::setUp(); + parent::doCreateInternalTestPageIfMissing(); + } + + function tearDown() { + parent::doLogout(); + parent::tearDown(); + } + + // Create a new page temporary + function createNewPage() { + parent::doOpenLink(); + parent::login(); + parent::doCreateNewPageTemporary(); + } + + // Add a internal link and verify + function testInternalLink() { + $this->createNewPage(); + parent::verifyInternalLink(); + } + + // Add a internal link with different display text and verify + function testInternalLinkWithDisplayText() { + $this->createNewPage(); + parent::verifyInternalLinkWithDisplayText(); + } + + // Add a internal link with blank display text and verify + function testInternalLinkWithBlankDisplayText() { + $this->createNewPage(); + parent::verifyInternalLinkWithBlankDisplayText(); + } + + // Add external link and verify + function testExternalLink() { + $this->createNewPage(); + parent::verifyExternalLink(); + } + + // Add external link with different display text and verify + function testExternalLinkWithDisplayText( ) { + $this->createNewPage(); + parent::verifyExternalLinkWithDisplayText(); + } + + // Add external link with Blank display text and verify + function testExternalLinkWithBlankDisplayText() { + $this->createNewPage(); + parent::verifyExternalLinkWithBlankDisplayText(); + } + +} diff --git a/extensions/WikiEditor/tests/selenium/WikiDialogs_Links_Setup.php b/extensions/WikiEditor/tests/selenium/WikiDialogs_Links_Setup.php new file mode 100644 index 00000000..352ebec0 --- /dev/null +++ b/extensions/WikiEditor/tests/selenium/WikiDialogs_Links_Setup.php @@ -0,0 +1,295 @@ +<?php +include( "WikiEditorConstants.php" ); +/** + * This test case will be handling the Wiki Tool bar Dialog functions + * Date : Apr - 2010 + * @author : BhagyaG - Calcey + */ +class WikiDialogs_Links_Setup extends SeleniumTestCase { + + // Open the page. + function doOpenLink() { + $this->open( $this->getUrl() . '/index.php' ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + } + + // Expand advance tool bar section if its not + function doExpandAdvanceSection() { + if ( !$this->isTextPresent( TEXT_HEADING ) ) { + $this->click( LINK_ADVANCED ); + } + } + + // Log out from the application + function doLogout() { + $this->open( $this->getUrl() . '/index.php' ); + if ( $this->isTextPresent( TEXT_LOGOUT ) ) { + $this->click( LINK_LOGOUT ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->assertEquals( TEXT_LOGOUT_CONFIRM, $this->getText( LINK_LOGIN ) ); + $this->open( $this->getUrl() . '/index.php' ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + } + } + + // Create a temporary fixture page + function doCreateInternalTestPageIfMissing() { + $this->type( INPUT_SEARCH_BOX, WIKI_INTERNAL_LINK ); + $this->click( BUTTON_SEARCH ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->click( LINK_START . WIKI_INTERNAL_LINK ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $location = $this->getLocation() . "\n"; + if ( strpos( $location, '&redlink=1' ) !== false ) { + $this->type( TEXT_EDITOR, "Test fixture page. No real content here" ); + $this->click( BUTTON_SAVE_WATCH ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->assertTrue( $this->isTextPresent( WIKI_INTERNAL_LINK ), + $this->getText( TEXT_PAGE_HEADING ) ); + } + } + + // Create a temporary new page + function doCreateNewPageTemporary() { + $this->type( INPUT_SEARCH_BOX, WIKI_TEMP_NEWPAGE ); + $this->click( BUTTON_SEARCH ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->click( LINK_START . WIKI_TEMP_NEWPAGE ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + } + + // Add a internal link and verify + function verifyInternalLink() { + $this->type( TEXT_EDITOR, "" ); + $this->click( LINK_ADDLINK ); + $this->waitForPopup( 'addLink', WIKI_TEST_WAIT_TIME ); + $this->type( TEXT_LINKNAME, ( WIKI_INTERNAL_LINK ) ); + $this->assertTrue( $this->isElementPresent( ICON_PAGEEXISTS ), 'Element ' . ICON_PAGEEXISTS . 'Not found' ); + $this->assertEquals( "on", $this->getValue( OPT_INTERNAL ) ); + $this->click( BUTTON_INSERTLINK ); + $this->click( LINK_PREVIEW ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->assertEquals( ( WIKI_INTERNAL_LINK ), $this->getText( LINK_START . WIKI_INTERNAL_LINK ) ); + $this->click( LINK_START . WIKI_INTERNAL_LINK ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->assertTrue( $this->isTextPresent( WIKI_INTERNAL_LINK ), $this->getText( TEXT_PAGE_HEADING ) ); + } + + // Add a internal link with different display text and verify + function verifyInternalLinkWithDisplayText() { + $this->type( TEXT_EDITOR, "" ); + $this->click( LINK_ADDLINK ); + $this->waitForPopup( 'addLink', WIKI_TEST_WAIT_TIME ); + $this->type( TEXT_LINKNAME, WIKI_INTERNAL_LINK ); + $this->type ( TEXT_LINKDISPLAYNAME, WIKI_INTERNAL_LINK . TEXT_LINKDISPLAYNAME_APPENDTEXT ); + $this->assertTrue( $this->isElementPresent( ICON_PAGEEXISTS ) ); + $this->assertEquals( "on", $this->getValue( OPT_INTERNAL ) ); + $this->click( BUTTON_INSERTLINK ); + $this->click( LINK_PREVIEW ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->assertEquals( WIKI_INTERNAL_LINK . TEXT_LINKDISPLAYNAME_APPENDTEXT, + $this->getText( LINK_START . WIKI_INTERNAL_LINK . TEXT_LINKDISPLAYNAME_APPENDTEXT ) ); + $this->click( LINK_START . WIKI_INTERNAL_LINK . TEXT_LINKDISPLAYNAME_APPENDTEXT ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->assertTrue( $this->isTextPresent( WIKI_INTERNAL_LINK ), $this->getText( TEXT_PAGE_HEADING ) ); + + } + + // Add a internal link with blank display text and verify + function verifyInternalLinkWithBlankDisplayText() { + $this->type( TEXT_EDITOR, "" ); + $this->click( LINK_ADDLINK ); + $this->waitForPopup( 'addLink', WIKI_TEST_WAIT_TIME ); + $this->type( TEXT_LINKNAME, WIKI_INTERNAL_LINK ); + $this->type( TEXT_LINKDISPLAYNAME, "" ); + $this->assertTrue( $this->isElementPresent( ICON_PAGEEXISTS ) ); + $this->assertEquals( "on", $this->getValue( OPT_INTERNAL ) ); + $this->click( BUTTON_INSERTLINK ); + $this->click( LINK_PREVIEW ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->assertEquals( WIKI_INTERNAL_LINK, $this->getText( LINK_START . WIKI_INTERNAL_LINK ) ); + $this->click( LINK_START . WIKI_INTERNAL_LINK ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->assertEquals( WIKI_INTERNAL_LINK, $this->getText( TEXT_PAGE_HEADING ) ); + + } + + // Add external link and verify + function verifyExternalLink() { + $this->type( LINK_PREVIEW, "" ); + $this->click( LINK_ADDLINK ); + $this->type( TEXT_LINKNAME, WIKI_EXTERNAL_LINK ); + $this->assertTrue( $this->isElementPresent( ICON_PAGEEXTERNAL ) ); + $this->assertEquals( "on", $this->getValue( OPT_EXTERNAL ) ); + $this->click( BUTTON_INSERTLINK ); + $this->click( LINK_PREVIEW ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->assertEquals( WIKI_EXTERNAL_LINK, $this->getText( LINK_START . WIKI_EXTERNAL_LINK ) ); + + $this->click( LINK_START . WIKI_EXTERNAL_LINK ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->assertEquals( WIKI_EXTERNAL_LINK_TITLE, $this->getTitle() ); + } + + // Add external link with different display text and verify + function verifyExternalLinkWithDisplayText() { + $this->type( TEXT_EDITOR, "" ); + $this->click( LINK_ADDLINK ); + $this->type( TEXT_LINKNAME, WIKI_EXTERNAL_LINK ); + $this->type( TEXT_LINKDISPLAYNAME, WIKI_EXTERNAL_LINK_TITLE ); + $this->assertTrue( $this->isElementPresent( ICON_PAGEEXTERNAL ) ); + $this->assertEquals( "on", $this->getValue( OPT_EXTERNAL ) ); + $this->click( BUTTON_INSERTLINK ); + $this->click( LINK_PREVIEW ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->assertEquals( WIKI_EXTERNAL_LINK_TITLE, $this->getText( LINK_START . WIKI_EXTERNAL_LINK_TITLE ) ); + $this->click( LINK_START . ( WIKI_EXTERNAL_LINK_TITLE ) ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->assertEquals( WIKI_EXTERNAL_LINK_TITLE , $this->getTitle() ); + } + + // Add external link with Blank display text and verify + function verifyExternalLinkWithBlankDisplayText() { + $this->type( TEXT_EDITOR, "" ); + $this->click( LINK_ADDLINK ); + $this->type( TEXT_LINKNAME, WIKI_EXTERNAL_LINK ); + $this->type( TEXT_LINKDISPLAYNAME, "" ); + $this->assertTrue( $this->isElementPresent( ICON_PAGEEXTERNAL ) ); + $this->assertEquals( "on", $this->getValue( OPT_EXTERNAL ) ); + $this->click( BUTTON_INSERTLINK ); + $this->click( LINK_PREVIEW ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->assertEquals( "[1]", $this->getText( LINK_START . "[1]" ) ); + $this->click( LINK_START . "[1]" ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->assertEquals( WIKI_EXTERNAL_LINK_TITLE, $this->getTitle() ); + } + + // Add a table and verify + function verifyCreateTable() { + $WIKI_TABLE_ROW = 2; + $WIKI_TABLE_COL = "5"; + $this->doExpandAdvanceSection(); + $this->type( TEXT_EDITOR, "" ); + $this->click( LINK_ADDTABLE ); + $this->click( CHK_SORT ); + $this->type( TEXT_ROW, $WIKI_TABLE_ROW ); + $this->type( TEXT_COL, $WIKI_TABLE_COL ); + $this->click( BUTTON_INSERTABLE ); + $this->click( CHK_SORT ); + $this->click( LINK_PREVIEW ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $WIKI_TABLE_ROW = $WIKI_TABLE_ROW + 1; + $this->assertTrue( $this->isElementPresent( TEXT_TABLEID_OTHER . + TEXT_VALIDATE_TABLE_PART1 . $WIKI_TABLE_ROW . + TEXT_VALIDATE_TABLE_PART2 . $WIKI_TABLE_COL . + TEXT_VALIDATE_TABLE_PART3 ) ); + } + + // Add a table and verify only with head row + function verifyCreateTableWithHeadRow() { + $WIKI_TABLE_ROW = 3; + $WIKI_TABLE_COL = "4"; + $this->doExpandAdvanceSection(); + $this->type( TEXT_EDITOR, "" ); + $this->click( LINK_ADDTABLE ); + $this->click( CHK_BOARDER ); + $this->type( TEXT_ROW, $WIKI_TABLE_ROW ); + $this->type( TEXT_COL, $WIKI_TABLE_COL ); + $this->click( BUTTON_INSERTABLE ); + $this->click( LINK_PREVIEW ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $WIKI_TABLE_ROW = $WIKI_TABLE_ROW + 1; + $this->assertTrue( $this->isElementPresent( TEXT_TABLEID_OTHER . + TEXT_VALIDATE_TABLE_PART1 . $WIKI_TABLE_ROW . + TEXT_VALIDATE_TABLE_PART2 . $WIKI_TABLE_COL . + TEXT_VALIDATE_TABLE_PART3 ) ); + } + + // Add a table and verify only with borders + function verifyCreateTableWithBorders() { + $WIKI_TABLE_ROW = "4"; + $WIKI_TABLE_COL = "6"; + $this->type( TEXT_EDITOR, "" ); + $this->click( LINK_ADDTABLE ); + $this->click( CHK_HEADER ); + $this->type( TEXT_ROW, $WIKI_TABLE_ROW ); + $this->type( TEXT_COL, $WIKI_TABLE_COL ); + $this->click( BUTTON_INSERTABLE ); + $this->click( CHK_HEADER ); + $this->click( LINK_PREVIEW ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->assertTrue( $this->isElementPresent( TEXT_TABLEID_OTHER . + TEXT_VALIDATE_TABLE_PART1 . $WIKI_TABLE_ROW . + TEXT_VALIDATE_TABLE_PART2 . $WIKI_TABLE_COL . + TEXT_VALIDATE_TABLE_PART3 ) ); + } + + // Add a table and verify only with sort row + function verifyCreateTableWithSortRow() { + $WIKI_TABLE_ROW = "2"; + $WIKI_TABLE_COL = "5"; + $this->type( TEXT_EDITOR, "" ); + $this->click( LINK_ADDTABLE ); + $this->click( CHK_HEADER ); + $this->click( CHK_BOARDER ); + $this->click( CHK_SORT ); + $this->type( TEXT_ROW, $WIKI_TABLE_ROW ); + $this->type( TEXT_COL, $WIKI_TABLE_COL ); + $this->click( BUTTON_INSERTABLE ); + $this->click( CHK_HEADER ); + $this->click( CHK_BOARDER ); + $this->click( CHK_SORT ); + $this->click( LINK_PREVIEW ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->assertTrue( $this->isElementPresent( TEXT_TABLEID_WITHALLFEATURES . + TEXT_VALIDATE_TABLE_PART1 . $WIKI_TABLE_ROW . + TEXT_VALIDATE_TABLE_PART2 . $WIKI_TABLE_COL . + TEXT_VALIDATE_TABLE_PART3 ) ); + } + + // Add a table without headers,borders and sort rows + function verifyCreateTableWithNoSpecialEffects() { + $WIKI_TABLE_ROW = "6"; + $WIKI_TABLE_COL = "2"; + $this-> + $this->doExpandAdvanceSection(); + $this->type( TEXT_EDITOR, "" ); + $this->click( LINK_ADDTABLE ); + $this->click( CHK_BOARDER ); + $this->click( CHK_HEADER ); + $this->type( TEXT_ROW, $WIKI_TABLE_ROW ); + $this->type( TEXT_COL, $WIKI_TABLE_COL ); + $this->click( BUTTON_INSERTABLE ); + $this->click( CHK_BOARDER ); + $this->click( CHK_HEADER ); + $this->click( INK_PREVIEW ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $this->assertTrue( $this->isElementPresent( TEXT_TABLEID_OTHER . + TEXT_VALIDATE_TABLE_PART1 . $WIKI_TABLE_ROW . + TEXT_VALIDATE_TABLE_PART2 . $WIKI_TABLE_COL . + TEXT_VALIDATE_TABLE_PART3 ) ); + } + + // Add a table with headers,borders and sort rows + function verifyCreateTableWithAllSpecialEffects() { + $WIKI_TABLE_ROW = 6; + $WIKI_TABLE_COL = "2"; + $this->doExpandAdvanceSection(); + $this->type( TEXT_EDITOR, "" ); + $this->click( LINK_ADDTABLE ); + $this->click( CHK_SORT ); + $this->type( TEXT_ROW, $WIKI_TABLE_ROW ); + $this->type( TEXT_COL, $WIKI_TABLE_COL ); + $this->click( BUTTON_INSERTABLE ); + $this->click( CHK_SORT ); + $this->click( LINK_PREVIEW ); + $this->waitForPageToLoad( WIKI_TEST_WAIT_TIME ); + $WIKI_TABLE_ROW = $WIKI_TABLE_ROW + 1; + $this->assertTrue( $this->isElementPresent( TEXT_TABLEID_WITHALLFEATURES . + TEXT_VALIDATE_TABLE_PART1 . $WIKI_TABLE_ROW . + TEXT_VALIDATE_TABLE_PART2 . $WIKI_TABLE_COL . + TEXT_VALIDATE_TABLE_PART3 ) ); + } + +} diff --git a/extensions/WikiEditor/tests/selenium/WikiEditorConstants.php b/extensions/WikiEditor/tests/selenium/WikiEditorConstants.php new file mode 100644 index 00000000..090f96bf --- /dev/null +++ b/extensions/WikiEditor/tests/selenium/WikiEditorConstants.php @@ -0,0 +1,84 @@ +<?php +define ( 'WIKI_TEST_WAIT_TIME', "3000" ); // Waiting time + +// tool bar, buttons , links +// commonly using links +define ( 'LINK_MAIN_PAGE', "link=Main page" ); +define ( 'LINK_RANDOM_PAGE', "link=Random article" ); +define ( 'TEXT_PAGE_HEADING', "firstHeading" ); +define ( 'LINK_START', "link=" ); +define ( 'LINK_EDITPAGE', "//li[@id='ca-edit']/a/span" ); +define ( 'TEXT_EDITOR', "wpTextbox1" ); +define ( 'LINK_PREVIEW', "wpPreview" ); + +define ( 'WIKI_SEARCH_PAGE', "Hair (musical)" ); // Page name to search +define ( 'WIKI_TEXT_SEARCH', "TV" ); // Text to search +define ( 'WIKI_INTERNAL_LINK', "Wikieditor-Fixture-Page" ); // Exisiting page name to add as an internal tag +define ( 'WIKI_EXTERNAL_LINK', "www.google.com" ); // External web site name +define ( 'WIKI_EXTERNAL_LINK_TITLE', "Google" ); // Page title of the external web site name +define ( 'WIKI_CODE_PATH', getcwd() ); // get the current path of the program +define ( 'WIKI_SCREENSHOTS_PATH', "screenshots" ); // the folder the error screen shots will be saved +define ( 'WIKI_SCREENSHOTS_TYPE', "png" ); // screen print type +define ( 'WIKI_TEMP_NEWPAGE', "TestWikiPage" ); // temporary creating new page name +// for WikiCommonFunction_TC + +// for WikiSearch_TC +define ( 'INPUT_SEARCH_BOX', "searchInput" ); +define ( 'BUTTON_SEARCH', "mw-searchButton" ); +define ( 'TEXT_SEARCH_RESULT_HEADING', " - Search results - Wikipedia, the free encyclopedia" ); + +// for WikiWatchUnWatch_TC +define ( 'LINK_WATCH_PAGE', "link=Watch" ); +define ( 'LINK_WATCH_LIST', "link=My watchlist" ); +define ( 'LINK_WATCH_EDIT', "link=View and edit watchlist" ); +define ( 'LINK_UNWATCH', "link=Unwatch" ); +define ( 'BUTTON_WATCH', "wpWatchthis" ); +define ( 'BUTTON_SAVE_WATCH', "wpSave" ); +define ( 'TEXT_WATCH', "Watch" ); +define ( 'TEXT_UNWATCH', "Unwatch" ); + +// for WikiCommonFunction_TC +define ( 'TEXT_LOGOUT', "Log out" ); +define ( 'LINK_LOGOUT', "link=Log out" ); +define ( 'LINK_LOGIN', "link=Log in / create account" ); +define ( 'TEXT_LOGOUT_CONFIRM', "Log in / create account" ); +define ( 'INPUT_USER_NAME', "wpName1" ); +define ( 'INPUT_PASSWD', "wpPassword1" ); +define ( 'BUTTON_LOGIN', "wpLoginAttempt" ); +define ( 'TEXT_HEADING', "Heading" ); +define ( 'LINK_ADVANCED', "link=Advanced" ); + +// for WikiDialogs_TC +define ( 'LINK_ADDLINK', "//div[@id='wikiEditor-ui-toolbar']/div[1]/div[2]/span[2 ]" ); +define ( 'TEXT_LINKNAME', "wikieditor-toolbar-link-int-target" ); +define ( 'TEXT_LINKDISPLAYNAME', "wikieditor-toolbar-link-int-text" ); +define ( 'TEXT_LINKDISPLAYNAME_APPENDTEXT', " Test" ); +define ( 'ICON_PAGEEXISTS', "wikieditor-toolbar-link-int-target-status-exists" ); +define ( 'ICON_PAGEEXTERNAL', "wikieditor-toolbar-link-int-target-status-external" ); +define ( 'OPT_INTERNAL', "wikieditor-toolbar-link-type-int" ); +define ( 'OPT_EXTERNAL', "wikieditor-toolbar-link-type-ext" ); +define ( 'BUTTON_INSERTLINK', "//div[10]/div[11]/button[1]" ); +define ( 'LINK_ADDTABLE', "//div[@id='wikiEditor-ui-toolbar']/div[3]/div[1]/div[4]/span[2]" ); +define ( 'CHK_HEADER', "wikieditor-toolbar-table-dimensions-header" ); +define ( 'CHK_BOARDER', "wikieditor-toolbar-table-wikitable" ); +define ( 'CHK_SORT', "wikieditor-toolbar-table-sortable" ); +define ( 'TEXT_ROW', "wikieditor-toolbar-table-dimensions-rows" ); +define ( 'TEXT_COL', "wikieditor-toolbar-table-dimensions-columns" ); +define ( 'BUTTON_INSERTABLE', "//div[3]/button[1]" ); +define ( 'TEXT_HEADTABLE_TEXT', "Header text" ); +define ( 'TEXT_TABLEID_WITHALLFEATURES', "//table[@id='sortable_table_id_0']/tbody/" ); +define ( 'TEXT_TABLEID_OTHER', "//div[@id='wikiPreview']/table/tbody/" ); +define ( 'TEXT_VALIDATE_TABLE_PART1', "tr[" ); +define ( 'TEXT_VALIDATE_TABLE_PART2', "]/td[" ); +define ( 'TEXT_VALIDATE_TABLE_PART3', "]" ); +define ( 'LINK_SEARCH', "//div[@id='wikiEditor-ui-toolbar']/div[3]/div[1]/div[5]/span" ); +define ( 'INPUT_SEARCH', "wikieditor-toolbar-replace-search" ); +define ( 'INPUT_REPLACE', "wikieditor-toolbar-replace-replace" ); +define ( 'BUTTON_REPLACEALL', "//button[3]" ); +define ( 'BUTTON_REPLACENEXT', "//button[2]" ); +define ( 'BUTTON_CANCEL', "//button[4]" ); +define ( 'TEXT_PREVIEW_TEXT1', "//div[@id='wikiPreview']/p[1]" ); +define ( 'TEXT_PREVIEW_TEXT2', "//div[@id='wikiPreview']/p[2]" ); +define ( 'TEXT_PREVIEW_TEXT3', "//div[@id='wikiPreview']/p[3]" ); + + diff --git a/extensions/WikiEditor/tests/selenium/WikiEditorSeleniumConfig.php b/extensions/WikiEditor/tests/selenium/WikiEditorSeleniumConfig.php new file mode 100644 index 00000000..137e67b0 --- /dev/null +++ b/extensions/WikiEditor/tests/selenium/WikiEditorSeleniumConfig.php @@ -0,0 +1,24 @@ +<?php + +class WikiEditorSeleniumConfig { + + public static function getSettings( &$includeFiles, &$globalConfigs ) { + $includes = array( + 'extensions/Vector/Vector.php', + 'extensions/WikiEditor/WikiEditor.php' + ); + $configs = array( + 'wgDefaultSkin' => 'vector', + 'wgWikiEditorFeatures' => array( + 'toolbar' => array( 'global' => true, 'user' => true ), + 'dialogs' => array( 'global' => true, 'user' => true ) + ), + 'wgVectorFeatures' => array( + 'editwarning' => array( 'global' => false, 'user' => false ) + ) + ); + $includeFiles = array_merge( $includeFiles, $includes ); + $globalConfigs = array_merge( $globalConfigs, $configs ); + return true; + } +} diff --git a/extensions/WikiEditor/tests/selenium/WikiEditorTestSuite.php b/extensions/WikiEditor/tests/selenium/WikiEditorTestSuite.php new file mode 100644 index 00000000..14a8bf20 --- /dev/null +++ b/extensions/WikiEditor/tests/selenium/WikiEditorTestSuite.php @@ -0,0 +1,32 @@ +<?php + +/** + * To configure MW for these tests + * 1) If you are running multiple test suites, add the following in LocalSettings.php + * require_once("extensions/WikiEditor/tests/selenium/WikiEditorSeleniumConfig.php"); + * $wgSeleniumTestConfigs['WikiEditorTestSuite'] = 'WikiEditorSeleniumConfig::getSettings'; + * OR + * 2) Add the following to your Localsettings.php + * require_once( "$IP/extensions/Vector/Vector.php" ); + * require_once( "$IP/extensions/WikiEditor/WikiEditor.php" ); + * $wgDefaultSkin = 'vector'; + * $wgVectorFeatures['editwarning'] = array( 'global' => false, 'user' => false ); + * $wgWikiEditorFeatures['toolbar'] = array( 'global' => true, 'user' => true ); + * $wgWikiEditorFeatures['dialogs'] = array( 'global' => true, 'user' => true ); + * + */ +class WikiEditorTestSuite extends SeleniumTestSuite +{ + public function setUp() { + $this->setLoginBeforeTests( false ); + parent::setUp(); + } + public function addTests() { + $testFiles = array( + 'extensions/WikiEditor/tests/selenium/WikiDialogs_Links.php' + ); + parent::addTestFiles( $testFiles ); + } + + +} |