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

Reply via email to