module Cucumber::JsConsoleErrors
Constants
- VERSION
Public Class Methods
inject_script()
click to toggle source
# File lib/cucumber/js_console_errors.rb, line 6 def self.inject_script return '' unless ::Rails.env == 'test' <<-EOF <script type="text/javascript"> window.onerror = function(message, url, linenumber) { // We want to avoid a dependency on jQuery or any other library in case // the error we are capturing is due to those libraries blowing up var escapeHtml = function (str) { return String(str) .replace(/&/g, "&") .replace(/</g, "<") .replace(/>/g, ">") .replace(/"/g, """) .replace(/'/g, "'") .replace(/\\//g, "/"); }; var errorReport = '*** JavaScript Console Error: ' + message + ' on line ' + linenumber + ' for ' + url + ' (error location may' + ' be in a different file/linenumber if the test environment is' + ' running minified Javascript) ***'; var elemDiv = document.createElement('div'); elemDiv.className = 'debug-captured-javascript-console-errors'; elemDiv.innerHTML = escapeHtml(errorReport); // The body may not be defined yet if (document.body) { document.body.appendChild(elemDiv); } else { window.onload = function() { document.body.appendChild(elemDiv); }; } }; </script> EOF end