From cab064a183df281e24ef8d4551c4c480f9182b81 Mon Sep 17 00:00:00 2001 From: Timur Date: Thu, 21 Mar 2019 16:20:23 +1000 Subject: [PATCH] Fix tests for Basic JavaScript: Write Reusable JavaScript with Functions (#34345) * Fix tests - fix original log() method restoration - fix case that other userscripts(or extensions) can affect console output and therefore can ruin the test * Update curriculum/challenges/english/02-javascript-algorithms-and-data-structures/basic-javascript/write-reusable-javascript-with-functions.english.md allow function calling without semicolon Co-Authored-By: T1mL3arn --- ...ite-reusable-javascript-with-functions.english.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/basic-javascript/write-reusable-javascript-with-functions.english.md b/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/basic-javascript/write-reusable-javascript-with-functions.english.md index 999a0a5c93..2abe8462aa 100644 --- a/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/basic-javascript/write-reusable-javascript-with-functions.english.md +++ b/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/basic-javascript/write-reusable-javascript-with-functions.english.md @@ -28,9 +28,9 @@ tests: - text: reusableFunction should be a function testString: assert(typeof reusableFunction === 'function', 'reusableFunction should be a function'); - text: reusableFunction should output "Hi World" to the dev console - testString: assert("Hi World" === logOutput, 'reusableFunction should output "Hi World" to the dev console'); + testString: assert(hiWorldWasLogged, 'reusableFunction should output "Hi World" to the dev console'); - text: Call reusableFunction after you define it - testString: assert(/^\s*reusableFunction\(\)\s*;/m.test(code), 'Call reusableFunction after you define it'); + testString: assert(/^\s*reusableFunction\(\)\s*/m.test(code), 'Call reusableFunction after you define it'); ``` @@ -60,10 +60,12 @@ ourReusableFunction(); ```js var logOutput = ""; -var originalConsole = console +var originalConsole = console; +var nativeLog = console.log; +var hiWorldWasLogged = false; function capture() { - var nativeLog = console.log; console.log = function (message) { + if(message === 'Hi World') hiWorldWasLogged = true; if(message && message.trim) logOutput = message.trim(); if(nativeLog.apply) { nativeLog.apply(originalConsole, arguments); @@ -75,7 +77,7 @@ function capture() { } function uncapture() { - console.log = originalConsole.log; + console.log = nativeLog; } capture();