MDL-48063 behat: Fixed JS Exception
M is not created on all pages, like cron and Steps which check for exported data. So we need to ensure M is defined, before using it in behat_hooks::wait_for_pending_js()
This commit is contained in:
@@ -406,7 +406,18 @@ class behat_hooks extends behat_base {
|
||||
for ($i = 0; $i < self::EXTENDED_TIMEOUT * 10; $i++) {
|
||||
$pending = '';
|
||||
try {
|
||||
$jscode = 'return ' . self::PAGE_READY_JS . ' ? "" : M.util.pending_js.join(":");';
|
||||
$jscode =
|
||||
'if (typeof M === "undefined") {
|
||||
if (document.readyState === "complete") {
|
||||
return "";
|
||||
} else {
|
||||
return "incomplete";
|
||||
}
|
||||
} else if (' . self::PAGE_READY_JS . ') {
|
||||
return "";
|
||||
} else {
|
||||
return M.util.pending_js.join(":");
|
||||
}';
|
||||
$pending = $this->getSession()->evaluateScript($jscode);
|
||||
} catch (NoSuchWindow $nsw) {
|
||||
// We catch an exception here, in case we just closed the window we were interacting with.
|
||||
|
||||
Reference in New Issue
Block a user