Merge "rdbms: remove some dead code in LoadBalancer::setDomainPrefix"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Thu, 16 Aug 2018 17:22:03 +0000 (17:22 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 16 Aug 2018 17:22:03 +0000 (17:22 +0000)
includes/editpage/TextConflictHelper.php
includes/specials/SpecialJavaScriptTest.php
tests/phpunit/includes/TitlePermissionTest.php
tests/selenium/pageobjects/undo.page.js [new file with mode: 0644]
tests/selenium/specs/page.js

index b447b18..f7d0945 100644 (file)
@@ -165,10 +165,10 @@ class TextConflictHelper {
        /**
         * HTML to build the textbox1 on edit conflicts
         *
-        * @param mixed[]|null $customAttribs
+        * @param array $customAttribs
         * @return string HTML
         */
-       public function getEditConflictMainTextBox( $customAttribs = [] ) {
+       public function getEditConflictMainTextBox( array $customAttribs = [] ) {
                $builder = new TextboxBuilder();
                $classes = $builder->getTextboxProtectionCSSClasses( $this->title );
 
index f858f5c..87bd2ed 100644 (file)
@@ -142,7 +142,7 @@ class SpecialJavaScriptTest extends SpecialPage {
                // Things like "dependency missing" or "unknown module".
                // Re-throw so that they are reported as global exceptions by QUnit and Karma.
                setTimeout( function () {
-                       throw e;
+                       throw err;
                } );
        } );
 JAVASCRIPT
index 63803cc..dd84b7e 100644 (file)
@@ -99,6 +99,10 @@ class TitlePermissionTest extends MediaWikiLangTestCase {
        /**
         * @todo This test method should be split up into separate test methods and
         * data providers
+        *
+        * This test is failing per T201776.
+        *
+        * @group Broken
         * @covers Title::checkQuickPermissions
         */
        public function testQuickPermissions() {
@@ -643,6 +647,10 @@ class TitlePermissionTest extends MediaWikiLangTestCase {
        /**
         * @todo This test method should be split up into separate test methods and
         * data providers
+        *
+        * This test is failing per T201776.
+        *
+        * @group Broken
         * @covers Title::checkPageRestrictions
         */
        public function testPageRestrictions() {
diff --git a/tests/selenium/pageobjects/undo.page.js b/tests/selenium/pageobjects/undo.page.js
new file mode 100644 (file)
index 0000000..f0eff3f
--- /dev/null
@@ -0,0 +1,14 @@
+const Page = require( 'wdio-mediawiki/Page' );
+
+class UndoPage extends Page {
+
+       get save() { return browser.element( '#wpSave' ); }
+
+       undo( title, previousRev, undoRev ) {
+               super.openTitle( title, { action: 'edit', undoafter: previousRev, undo: undoRev } );
+               this.save.click();
+       }
+
+}
+
+module.exports = new UndoPage();
index 032cbf0..6a394d8 100644 (file)
@@ -4,6 +4,7 @@ const assert = require( 'assert' ),
        RestorePage = require( '../pageobjects/restore.page' ),
        EditPage = require( '../pageobjects/edit.page' ),
        HistoryPage = require( '../pageobjects/history.page' ),
+       UndoPage = require( '../pageobjects/undo.page' ),
        UserLoginPage = require( '../pageobjects/userlogin.page' ),
        Util = require( 'wdio-mediawiki/Util' );
 
@@ -118,4 +119,26 @@ describe( 'Page', function () {
                // check
                assert.strictEqual( RestorePage.displayedContent.getText(), name + ' has been restored\nConsult the deletion log for a record of recent deletions and restorations.' );
        } );
+
+       it( 'should be undoable', function () {
+               // create
+               browser.call( function () {
+                       return Api.edit( name, content );
+               } );
+
+               // edit
+               let previousRev, undoRev;
+               browser.call( function () {
+                       return Api.edit( name, Util.getTestString( 'editContent-' ) )
+                               .then( ( response ) => {
+                                       previousRev = response.edit.oldrevid;
+                                       undoRev = response.edit.newrevid;
+                               } );
+               } );
+
+               UndoPage.undo( name, previousRev, undoRev );
+
+               assert.strictEqual( EditPage.displayedContent.getText(), content );
+       } );
+
 } );