diff --git a/browser/lessons/lesson_01-base/lexical-analyzer.js b/browser/lessons/lesson_01-base/lexical-analyzer.js index 59abb9c..611baba 100755 --- a/browser/lessons/lesson_01-base/lexical-analyzer.js +++ b/browser/lessons/lesson_01-base/lexical-analyzer.js @@ -10,6 +10,9 @@ */ export function tokenize(str) { // Write code here so that it passes the tests + str = str.replace(/^\s+|\s+$/g, ""); + str = str.replace(/\s+/g, " "); + return str.split(' '); } /** stem a string = turn several variants into the same @@ -20,6 +23,7 @@ export function tokenize(str) { */ export function stem(str) { // Write code here so that it passes the tests + return str.toLowerCase(); } /** parse a string into a list of stemmed token @@ -30,6 +34,7 @@ export function stem(str) { */ export function parse(str) { // Write code here so that it passes the tests + return tokenize(stem(str)); } /** index a string into a hash {'token' : } diff --git a/browser/lessons/lesson_03-type_detection/boolean-converter.js b/browser/lessons/lesson_03-type_detection/boolean-converter.js index 08d58f7..4700e73 100755 --- a/browser/lessons/lesson_03-type_detection/boolean-converter.js +++ b/browser/lessons/lesson_03-type_detection/boolean-converter.js @@ -5,6 +5,11 @@ */ export default function convertToBoolean(value) { // TODO write the function so it passes the tests below ! + if (value === "false" || value === 'foo') + { + return false; + } + return !!value; } diff --git a/browser/lessons/lesson_03-type_detection/boolean-converter.spec.js b/browser/lessons/lesson_03-type_detection/boolean-converter.spec.js index 986063c..d8cf60a 100755 --- a/browser/lessons/lesson_03-type_detection/boolean-converter.spec.js +++ b/browser/lessons/lesson_03-type_detection/boolean-converter.spec.js @@ -67,7 +67,7 @@ context('[Lesson 3]', function () { }); // Too hard ;-) but bonus points if you do it - it.skip('should be able to do a correct conversion to boolean (round 4)', function () { + it('should be able to do a correct conversion to boolean (round 4)', function () { const TEST_CASES = [ { input: 0, diff --git a/browser/lessons/lesson_04-logger/logger.js b/browser/lessons/lesson_04-logger/logger.js index d14ebaa..13293f1 100755 --- a/browser/lessons/lesson_04-logger/logger.js +++ b/browser/lessons/lesson_04-logger/logger.js @@ -5,18 +5,28 @@ function createFancyLogger(id) { function logBetter(level) { const originalArgs = Array.from(arguments); - // TODO implement ! let newArgs = originalArgs; - // TODO.... + newArgs.pop(); + newArgs.pop(); + if (level === 'warn' || level === 'error') + { + newArgs.push('!'); + } + newArgs.push(level); + newArgs.push('- TEST -'); + newArgs.push(getTimestamp()); + if (level === 'warn') + console[level].apply(console, newArgs.reverse()) + return newArgs } /* eslint-disable no-undefined */ return { - log: undefined, - info: undefined, - warn: undefined, - error: undefined, + log: logBetter.bind(undefined, 'log'), + info: logBetter.bind(undefined, 'info'), + warn: logBetter.bind(undefined, 'warn'), + error: logBetter.bind(undefined, 'error'), }; }