Amire80 has uploaded a new change for review.
https://gerrit.wikimedia.org/r/102943
Change subject: WIP: Tracking beginning and end of DOM changing for testability
......................................................................
WIP: Tracking beginning and end of DOM changing for testability
Adding a mw.updatingDom variable to track when does
JavaScript begin and end changing the DOM.
This is done to facilitate testing changing elements using
Watir::Wait.while { @browser.execute_script "return mw.updatingDom" }
Change-Id: I4db63906b240ce71503fd2bb1ac579b5c221ce9f
---
M resources/js/ext.translate.special.managetranslatorsandbox.js
M tests/browser/features/support/pages/manage_translator_sandbox_page.rb
2 files changed, 36 insertions(+), 5 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Translate
refs/changes/43/102943/1
diff --git a/resources/js/ext.translate.special.managetranslatorsandbox.js
b/resources/js/ext.translate.special.managetranslatorsandbox.js
index a8ca2b3..8179fad 100644
--- a/resources/js/ext.translate.special.managetranslatorsandbox.js
+++ b/resources/js/ext.translate.special.managetranslatorsandbox.js
@@ -95,6 +95,8 @@
.addClass( 'send-reminder link'
)
.text( mw.msg(
'tsb-reminder-link-text' ) )
.on( 'click', function ( e ) {
+ mw.updatingDom = true;
+
e.preventDefault();
$reminderStatus
@@ -105,8 +107,12 @@
userid:
request.userid
} ).done( function () {
$reminderStatus.text( mw.msg( 'tsb-reminder-sent-new' ) );
+
+ mw.updatingDom
= false;
} ).fail( function () {
$reminderStatus.text( mw.msg( 'tsb-reminder-failed' ) );
+
+ mw.updatingDom
= false;
} );
} ),
$reminderStatus
@@ -122,19 +128,31 @@
.addClass( 'accept primary
green button' )
.text( mw.msg(
'tsb-accept-button-label' ) )
.on( 'click', function () {
+ mw.updatingDom = true;
+
doApiAction( {
userid:
request.userid,
'do': 'promote'
- } ).done(
removeSelectedRequests );
+ } ).done( function () {
+
removeSelectedRequests();
+
+ mw.updatingDom
= false;
+ } );
} ),
$( '<button>' )
.addClass( 'delete destructive
button' )
.text( mw.msg(
'tsb-reject-button-label' ) )
.on( 'click', function () {
+ mw.updatingDom = true;
+
doApiAction( {
userid:
request.userid,
'do': 'delete'
- } ).done(
removeSelectedRequests );
+ } ).done( function () {
+
removeSelectedRequests();
+
+ mw.updatingDom
= false;
+ } );
} )
),
$( '<div>' )
@@ -169,6 +187,7 @@
// @todo: move higher in the tree
storage = new mw.translate.TranslationStashStorage();
+ mw.updatingDom = true;
storage.getUserTranslations( request.username ).done(
showTranslations );
}
@@ -265,19 +284,31 @@
.addClass( 'accept primary
green button' )
.text( mw.msg(
'tsb-accept-all-button-label' ) )
.on( 'click', function () {
+ mw.updatingDom = true;
+
doApiAction( {
userid:
selectedUserIDs,
'do': 'promote'
- } ).done(
removeSelectedRequests );
+ } ).done( function () {
+
removeSelectedRequests();
+
+ mw.updatingDom
= false;
+ } );
} ),
$( '<button>' )
.addClass( 'delete destructive
button' )
.text( mw.msg(
'tsb-reject-all-button-label' ) )
.on( 'click', function () {
+ mw.updatingDom = true;
+
doApiAction( {
userid:
selectedUserIDs,
'do': 'delete'
- } ).done(
removeSelectedRequests );
+ } ).done( function () {
+
removeSelectedRequests();
+
+ mw.updatingDom
= false;
+ } );
} )
)
);
diff --git
a/tests/browser/features/support/pages/manage_translator_sandbox_page.rb
b/tests/browser/features/support/pages/manage_translator_sandbox_page.rb
index 68341a2..13bfd19 100644
--- a/tests/browser/features/support/pages/manage_translator_sandbox_page.rb
+++ b/tests/browser/features/support/pages/manage_translator_sandbox_page.rb
@@ -132,7 +132,7 @@
# It takes a few moments until Accept and Reject buttons
# finish performing the action, and this action always
# removes the currently displayed users and changes the header
- Watir::Wait.until { details_header.text != initial_header_text
}
+ Watir::Wait.while { @browser.execute_script "return
mw.updatingDom" }
end
def only_request_with_username_is_selected?(username)
--
To view, visit https://gerrit.wikimedia.org/r/102943
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I4db63906b240ce71503fd2bb1ac579b5c221ce9f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Amire80 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits