Fix Range Error : Maximum Call Stack Size Exceeded

This commit fixes the `capture` console.log, with an alternate logic
to resolve the objects with correct scope.

Refer the PR FreeCodeCamp/FreeCodeCamp#6681 discussion for details.
Tested locally.

Updated fix to resolve broken CI
This commit is contained in:
Mrugesh Mohapatra
2016-02-02 23:23:09 +05:30
parent 23aa1db530
commit 0608c759e2

View File

@ -1831,16 +1831,22 @@
],
"tail": [
"var logOutput = \"\";",
"var oldLog = console.log;",
"var originalConsole = console",
"function capture() {",
" var nativeLog = console.log;",
" console.log = function (message) {",
" logOutput = message.trim();",
" oldLog.apply(console, arguments);",
" if(message && message.trim) logOutput = message.trim();",
" if(nativeLog.apply) {",
" nativeLog.apply(originalConsole, arguments);",
" } else {",
" var nativeMsg = Array.prototype.slice.apply(arguments).join(' ');",
" nativeLog(nativeMsg);",
" }",
" };",
"}",
"",
"function uncapture() {",
" console.log = oldLog;",
" console.log = originalConsole.log;",
"}",
"",
"if (typeof myFunction !== \"function\") { ",
@ -1891,16 +1897,22 @@
"releasedOn": "January 1, 2016",
"head": [
"var logOutput = \"\";",
"var oldLog = console.log;",
"var originalConsole = console",
"function capture() {",
" var nativeLog = console.log;",
" console.log = function (message) {",
" logOutput = message + ''.trim();",
" oldLog.apply(console, arguments);",
" if(message) logOutput = JSON.stringify(message).trim();",
" if(nativeLog.apply) {",
" nativeLog.apply(originalConsole, arguments);",
" } else {",
" var nativeMsg = Array.prototype.slice.apply(arguments).join(' ');",
" nativeLog(nativeMsg);",
" }",
" };",
"}",
"",
"function uncapture() {",
" console.log = oldLog;",
" console.log = originalConsole.log;",
"}",
"",
"capture();"
@ -1950,16 +1962,22 @@
"releasedOn": "January 1, 2016",
"head": [
"var logOutput = \"\";",
"var oldLog = console.log;",
"var originalConsole = console",
"function capture() {",
" var nativeLog = console.log;",
" console.log = function (message) {",
" logOutput = message;",
" oldLog.apply(console, arguments);",
" if(nativeLog.apply) {",
" nativeLog.apply(originalConsole, arguments);",
" } else {",
" var nativeMsg = Array.prototype.slice.apply(arguments).join(' ');",
" nativeLog(nativeMsg);",
" }",
" };",
"}",
"",
"function uncapture() {",
" console.log = oldLog;",
" console.log = originalConsole.log;",
"}",
"var oopsGlobal;",
"capture();"
@ -2018,16 +2036,22 @@
"releasedOn": "January 1, 2016",
"head": [
"var logOutput = \"\";",
"var oldLog = console.log;",
"var originalConsole = console",
"function capture() {",
" var nativeLog = console.log;",
" console.log = function (message) {",
" logOutput = message;",
" oldLog.apply(console, arguments);",
" if(nativeLog.apply) {",
" nativeLog.apply(originalConsole, arguments);",
" } else {",
" var nativeMsg = Array.prototype.slice.apply(arguments).join(' ');",
" nativeLog(nativeMsg);",
" }",
" };",
"}",
"",
"function uncapture() {",
" console.log = oldLog;",
" console.log = originalConsole.log;",
"}",
""
],
@ -2192,16 +2216,22 @@
"releasedOn": "January 1, 2016",
"head": [
"var logOutput = [];",
"var oldLog = console.log;",
"var originalConsole = console",
"function capture() {",
" var nativeLog = console.log;",
" console.log = function (message) {",
" logOutput.push(message);",
" oldLog.apply(console, arguments);",
" if(nativeLog.apply) {",
" nativeLog.apply(originalConsole, arguments);",
" } else {",
" var nativeMsg = Array.prototype.slice.apply(arguments).join(' ');",
" nativeLog(nativeMsg);",
" }",
" };",
"}",
"",
"function uncapture() {",
" console.log = oldLog;",
" console.log = originalConsole.log;",
"}",
"",
"capture();"