Fix esprima tests.

This commit is contained in:
Yury Delendik 2017-05-03 12:16:37 -05:00
parent 74ba3033e8
commit c9d3c20e2c
5 changed files with 57 additions and 50 deletions

View File

@ -1,28 +1,17 @@
function f1() { function f1() {
/* head */
"1"; "1";
/* mid */
"2"; "2";
} }
/* tail */
function f2() { function f2() {
// head
"1"; "1";
// mid
"2"; "2";
} }
// tail
function f2() { function f2() {
if ("1") { if ("1") {
// begin block
"1"; "1";
} }
"2"; "2";
// trailing if ("3") {
if (/* s */ "4";
"3") }
/*e*/
{
"4";
}
} }

View File

@ -1,17 +1,20 @@
'use strict'; 'use strict';
require('shelljs/make');
var builder = require('./builder'); var builder = require('./builder');
var fs = require('fs'); var fs = require('fs');
var path = require('path');
var errors = 0; var errors = 0;
cd(__dirname); var baseDir = path.join(__dirname, 'fixtures');
cd('fixtures'); var files = fs.readdirSync(baseDir).filter(function (name) {
ls('*-expected.*').forEach(function(expectationFilename) { return /-expected\./.test(name);
}).map(function (name) {
return path.join(baseDir, name);
});
files.forEach(function(expectationFilename) {
var inFilename = expectationFilename.replace('-expected', ''); var inFilename = expectationFilename.replace('-expected', '');
var expectation = cat(expectationFilename).trim() var expectation = fs.readFileSync(expectationFilename).toString().trim()
.replace(/__filename/g, fs.realpathSync(inFilename)); .replace(/__filename/g, fs.realpathSync(inFilename));
var outLines = []; var outLines = [];
@ -32,20 +35,22 @@ ls('*-expected.*').forEach(function(expectationFilename) {
if (out !== expectation) { if (out !== expectation) {
errors++; errors++;
echo('Assertion failed for ' + inFilename); console.log('Assertion failed for ' + inFilename);
echo('--------------------------------------------------'); console.log('--------------------------------------------------');
echo('EXPECTED:'); console.log('EXPECTED:');
echo(expectation); console.log(expectation);
echo('--------------------------------------------------'); console.log('--------------------------------------------------');
echo('ACTUAL'); console.log('ACTUAL');
echo(out); console.log(out);
echo('--------------------------------------------------'); console.log('--------------------------------------------------');
echo(); console.log();
} }
}); });
if (errors) { if (errors) {
echo('Found ' + errors + ' expectation failures.'); console.error('Found ' + errors + ' expectation failures.');
process.exit(1);
} else { } else {
echo('All tests completed without errors.'); console.log('All tests completed without errors.');
process.exit(0);
} }

View File

@ -1,17 +1,20 @@
'use strict'; 'use strict';
require('shelljs/make');
var p2 = require('./preprocessor2.js'); var p2 = require('./preprocessor2.js');
var fs = require('fs'); var fs = require('fs');
var path = require('path');
var errors = 0; var errors = 0;
cd(__dirname); var baseDir = path.join(__dirname, 'fixtures_esprima');
cd('fixtures_esprima'); var files = fs.readdirSync(baseDir).filter(function (name) {
ls('*-expected.*').forEach(function(expectationFilename) { return /-expected\./.test(name);
}).map(function (name) {
return path.join(baseDir, name);
});
files.forEach(function(expectationFilename) {
var inFilename = expectationFilename.replace('-expected', ''); var inFilename = expectationFilename.replace('-expected', '');
var expectation = cat(expectationFilename).trim() var expectation = fs.readFileSync(expectationFilename).toString().trim()
.replace(/__filename/g, fs.realpathSync(inFilename)); .replace(/__filename/g, fs.realpathSync(inFilename));
var input = fs.readFileSync(inFilename).toString(); var input = fs.readFileSync(inFilename).toString();
@ -24,7 +27,6 @@ ls('*-expected.*').forEach(function(expectationFilename) {
var ctx = { var ctx = {
defines: defines, defines: defines,
rootPath: __dirname + '/../..', rootPath: __dirname + '/../..',
saveComments: true
}; };
var out; var out;
try { try {
@ -35,20 +37,22 @@ ls('*-expected.*').forEach(function(expectationFilename) {
if (out !== expectation) { if (out !== expectation) {
errors++; errors++;
echo('Assertion failed for ' + inFilename); console.log('Assertion failed for ' + inFilename);
echo('--------------------------------------------------'); console.log('--------------------------------------------------');
echo('EXPECTED:'); console.log('EXPECTED:');
echo(expectation); console.log(expectation);
echo('--------------------------------------------------'); console.log('--------------------------------------------------');
echo('ACTUAL'); console.log('ACTUAL');
echo(out); console.log(out);
echo('--------------------------------------------------'); console.log('--------------------------------------------------');
echo(); console.log();
} }
}); });
if (errors) { if (errors) {
echo('Found ' + errors + ' expectation failures.'); console.error('Found ' + errors + ' expectation failures.');
process.exit(1);
} else { } else {
echo('All tests completed without errors.'); console.log('All tests completed without errors.');
process.exit(0);
} }

View File

@ -1424,3 +1424,12 @@ gulp.task('mozcentraldiff', ['mozcentral', 'mozcentralbaseline'],
}); });
}); });
}); });
gulp.task('externaltest', function () {
gutil.log('Running test-fixtures.js');
safeSpawnSync('node', ['external/builder/test-fixtures.js'],
{stdio: 'inherit'});
gutil.log('Running test-fixtures_esprima.js');
safeSpawnSync('node', ['external/builder/test-fixtures_esprima.js'],
{stdio: 'inherit'});
});

View File

@ -35,7 +35,7 @@
"yargs": "^3.14.0" "yargs": "^3.14.0"
}, },
"scripts": { "scripts": {
"test": "gulp lint unittestcli" "test": "gulp lint unittestcli externaltest"
}, },
"repository": { "repository": {
"type": "git", "type": "git",