Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
test(`does not throw error and generates same tree[${f}]`, () => {
let passSrc = fs.readFileSync(passTestFile, 'utf8');
let passTree, passLocations, passComments;
expect(() => {
({ tree: passTree, locations: passLocations, comments: passComments } = parse(passSrc, isModule(f), true));
}).to.not.throwError();
locationSanityCheck(passTree, passLocations);
let passExplicitSrc = fs.readFileSync(passExplicitTestFile, 'utf8');
let passExplicitTree;
expect(() => {
passExplicitTree = parse(passExplicitSrc, isModule(f), true).tree;
}).to.not.throwError();
expect.eql(passTree, passExplicitTree);
let treeExpectation = JSON.parse(fs.readFileSync(expectationsDir + '/' + f + '-tree.json', 'utf8'));
expect(decorateWithLocations(passTree, passLocations)).to.eql(treeExpectation);
let commentExpectation = JSON.parse(fs.readFileSync(expectationsDir + '/' + f + '-comments.json', 'utf8'));
expect(passComments).to.eql(commentExpectation);
});
}
ao.typeEqual = function(list){
if(typeof list == 'string') list = list.split(',')
var types = this.obj.map(function(item){
return item.type
});
this.assert(
expect.eql(types, list)
, function(){ return 'expected ' + list + ' to equal ' + types }
, function(){ return 'expected ' + list + ' to not equal ' + types });
return this;
}
function parseModule(name) {
let source = require('fs').readFileSync(require.resolve(name), 'utf-8');
let tree = ShiftParser.parseModule(source, { earlyErrors: true });
let tree2 = ShiftParser.parseModule(source, { earlyErrors: false });
expect.eql(tree, tree2);
}
function parseScript(name) {
let source = require('fs').readFileSync(require.resolve(name), 'utf-8');
let tree = ShiftParser.parseScript(source, { earlyErrors: true });
let tree2 = ShiftParser.parseScript(source, { earlyErrors: false });
expect.eql(tree, tree2);
}