jenkins-bot has submitted this change and it was merged. Change subject: Make it possible to check for ResourceLoader errors anywhere ......................................................................
Make it possible to check for ResourceLoader errors anywhere Intended usage: Given I am on Foo Page Then page has no ResourceLoader errors Change-Id: I183755fb211e5b1ca0cafdbb6f570c4799cf90b5 --- A lib/mediawiki_selenium/step_definitions/resource_loader_steps.rb 1 file changed, 45 insertions(+), 0 deletions(-) Approvals: Zfilipin: Looks good to me, approved jenkins-bot: Verified diff --git a/lib/mediawiki_selenium/step_definitions/resource_loader_steps.rb b/lib/mediawiki_selenium/step_definitions/resource_loader_steps.rb new file mode 100644 index 0000000..00a4208 --- /dev/null +++ b/lib/mediawiki_selenium/step_definitions/resource_loader_steps.rb @@ -0,0 +1,45 @@ +=begin +This file is subject to the license terms in the LICENSE file found in the +mediawiki_selenium top-level directory and at +https://git.wikimedia.org/blob/mediawiki%2Fselenium/HEAD/LICENSE. No part of +mediawiki_selenium, including this file, may be copied, modified, propagated, or +distributed except according to the terms contained in the LICENSE file. +Copyright 2013 by the Mediawiki developers. See the CREDITS file in the +mediawiki_selenium top-level directory and at +https://git.wikimedia.org/blob/mediawiki%2Fselenium/HEAD/CREDITS. +=end + +Then(/^page has no ResourceLoader errors$/) do + @browser.execute_script(" +return (function() { + // Returns a string listing problem modules, + // or empty string if all OK (or not a MediaWiki page). + // MediaWiki registers many JS modules that are not loaded on average pages. + var i, len, state, + modules = mw.loader.getModuleNames(), + error = [], + missing = [], + ret = ''; + if ( ( typeof mediaWiki === 'undefined' ) || !mediaWiki.loader ) { + return ret; + } + + for ( i = 0, len = modules.length; i < len; i++ ) { + state = mw.loader.getState( modules[i] ); + if ( state === 'error' ) { + error.push( modules[i] ); + } + if ( state === 'missing' ) { + missing.push( modules[i] ); + } + } + if ( error.length ) { + ret += 'Error modules: ' + error.join( '; ') + '.'; + } + if ( missing.length ) { + ret += 'Missing modules: ' + missing.join( '; ') + '.'; + } + return ret; +}) (); +").should == "" +end -- To view, visit https://gerrit.wikimedia.org/r/115643 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I183755fb211e5b1ca0cafdbb6f570c4799cf90b5 Gerrit-PatchSet: 6 Gerrit-Project: mediawiki/selenium Gerrit-Branch: master Gerrit-Owner: Cmcmahon <cmcma...@wikimedia.org> Gerrit-Reviewer: Zfilipin <zfili...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits