@alu0101140469/addlogging
Version:
103 lines (97 loc) • 3.15 kB
JavaScript
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);
});
});