UNPKG

@alu0101140469/addlogging

Version:
103 lines (97 loc) 3.15 kB
let {addLogging} = require('../src/logging-sol-daniel.js'); let chai = require('chai'); let should = chai.should(); describe('#addLogging', function() { it('test-1-no-pattern', function() { const input = "function foo(a, b) {\n" + "var x = 'blah';\n" + "var y = (function (z) {\n" + "return z+3;\n" + "})(2);\n" + "}\n" + "foo(1, 'wut', 3);" const output = "function foo(a, b) {\n" + " console.log(`Entering foo(${ a },${ b }) at line 1`);\n" + " var x = 'blah';\n" + " var y = function (z) {\n" + " console.log(`Entering <anonymous function>(${ z }) at line 3`);\n" + " return z + 3;\n" + " }(2);\n" + "}\n" + "foo(1, 'wut', 3);" addLogging(input).should.equal(output); }); it('test-2-no-pattern', function() { const input = `function foo(a, b) { var x = 'blah'; var y = ((z) => { return z+3; })(2); } foo(1, 'wut', 3);` const output = "function foo(a, b) {\n" + " console.log(`Entering foo(${ a },${ b }) at line 1`);\n" + " var x = 'blah';\n" + " var y = (z => {\n" + " console.log(`Entering <anonymous function>(${ z }) at line 3`);\n" + " return z + 3;\n" + " })(2);\n" + "}\n" + "foo(1, 'wut', 3);" addLogging(input).should.equal(output); }); it('test-3-pattern', function() { const input = "function foo(a, b) {\n" + "var x = 'blah';\n" + "var y = (function (z) {\n" + "return z+3;\n" + "})(2);\n" + "}\n" + "foo(1, 'wut', 3);" const output = "function foo(a, b) {\n" + " console.log(`Entering foo(${ a },${ b }) at line 1`);\n" + " var x = 'blah';\n" + " var y = function (z) {\n" + " return z + 3;\n" + " }(2);\n" + "}\n" + "foo(1, 'wut', 3);" addLogging(input, 'foo').should.equal(output); }); it('test-4-pattern', function() { const input = `function foo(a, b) { var x = 'blah'; var y = ((z) => { return z+3; })(2); } foo(1, 'wut', 3);` const output = "function foo(a, b) {\n" + " console.log(`Entering foo(${ a },${ b }) at line 1`);\n" + " var x = 'blah';\n" + " var y = (z => {\n" + " return z + 3;\n" + " })(2);\n" + "}\n" + "foo(1, 'wut', 3);" addLogging(input, 'foo').should.equal(output); }); it('test-5-incomplete-pattern', function() { const input = `function foo(a, b) { var x = 'blah'; var y = ((z) => { return z+3; })(2); } foo(1, 'wut', 3);` const output = "function foo(a, b) {\n" + " console.log(`Entering foo(${ a },${ b }) at line 1`);\n" + " var x = 'blah';\n" + " var y = (z => {\n" + " return z + 3;\n" + " })(2);\n" + "}\n" + "foo(1, 'wut', 3);" addLogging(input, 'fo').should.equal(output); }); });