diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2011-12-03 13:29:22 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2011-12-03 13:29:22 +0100 |
commit | ca32f08966f1b51fcb19460f0996bb0c4048e6fe (patch) | |
tree | ec04cc15b867bc21eedca904cea9af0254531a11 /extensions/WikiEditor/tests | |
parent | a22fbfc60f36f5f7ee10d5ae6fe347340c2ee67c (diff) |
Update to MediaWiki 1.18.0
* also update ArchLinux skin to chagnes in MonoBook
* Use only css to hide our menu bar when printing
Diffstat (limited to 'extensions/WikiEditor/tests')
5 files changed, 510 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..07f1b41b --- /dev/null +++ b/extensions/WikiEditor/tests/selenium/WikiDialogs_Links.php @@ -0,0 +1,68 @@ +<?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..7e399a03 --- /dev/null +++ b/extensions/WikiEditor/tests/selenium/WikiDialogs_Links_Setup.php @@ -0,0 +1,296 @@ +<?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)); + } + +} +?>
\ No newline at end of file diff --git a/extensions/WikiEditor/tests/selenium/WikiEditorConstants.php b/extensions/WikiEditor/tests/selenium/WikiEditorConstants.php new file mode 100644 index 00000000..11eeb01e --- /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..534d1351 --- /dev/null +++ b/extensions/WikiEditor/tests/selenium/WikiEditorSeleniumConfig.php @@ -0,0 +1,27 @@ +<?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 ), + 'toc' => array( 'global' => false, 'user' => false ), + 'highlight' => array( 'global' => false, 'user' => false ), + 'templateEditor' => array( 'global' => false, 'user' => false ), + '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; + } +}
\ No newline at end of file diff --git a/extensions/WikiEditor/tests/selenium/WikiEditorTestSuite.php b/extensions/WikiEditor/tests/selenium/WikiEditorTestSuite.php new file mode 100644 index 00000000..90537654 --- /dev/null +++ b/extensions/WikiEditor/tests/selenium/WikiEditorTestSuite.php @@ -0,0 +1,35 @@ +<?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['templateEditor'] = array( 'global' => false, 'user' => false ); + * $wgWikiEditorFeatures['toolbar'] = array( 'global' => true, 'user' => true ); + * $wgWikiEditorFeatures['toc'] = array( 'global' => false, 'user' => false ); + * $wgWikiEditorFeatures['highlight'] = array( 'global' => false, 'user' => false ); + * $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 ); + } + + +} |