Include tests for minimized artifacts
This commit is contained in:
+1
-1
@@ -211,7 +211,7 @@ module.exports = function(grunt) {
|
|||||||
this.registerTask('globals', ['webpack']);
|
this.registerTask('globals', ['webpack']);
|
||||||
this.registerTask('tests', ['concat:tests']);
|
this.registerTask('tests', ['concat:tests']);
|
||||||
|
|
||||||
this.registerTask('release', 'Build final packages', ['eslint', 'amd', 'uglify', 'copy:dist', 'copy:components', 'copy:cdnjs']);
|
this.registerTask('release', 'Build final packages', ['eslint', 'amd', 'uglify', 'test:min', 'copy:dist', 'copy:components', 'copy:cdnjs']);
|
||||||
|
|
||||||
// Load tasks from npm
|
// Load tasks from npm
|
||||||
grunt.loadNpmTasks('grunt-contrib-clean');
|
grunt.loadNpmTasks('grunt-contrib-clean');
|
||||||
|
|||||||
Vendored
+6
-1
@@ -4,7 +4,12 @@ var fs = require('fs'),
|
|||||||
vm = require('vm');
|
vm = require('vm');
|
||||||
|
|
||||||
global.Handlebars = 'no-conflict';
|
global.Handlebars = 'no-conflict';
|
||||||
vm.runInThisContext(fs.readFileSync(__dirname + '/../../dist/handlebars.js'), 'dist/handlebars.js');
|
|
||||||
|
var filename = 'dist/handlebars.js';
|
||||||
|
if (global.minimizedTest) {
|
||||||
|
filename = 'dist/handlebars.min.js';
|
||||||
|
}
|
||||||
|
vm.runInThisContext(fs.readFileSync(__dirname + '/../../' + filename), filename);
|
||||||
|
|
||||||
global.CompilerContext = {
|
global.CompilerContext = {
|
||||||
browser: true,
|
browser: true,
|
||||||
|
|||||||
Vendored
+20
-4
@@ -7,19 +7,35 @@ var errors = 0,
|
|||||||
testDir = path.dirname(__dirname),
|
testDir = path.dirname(__dirname),
|
||||||
grep = process.argv[2];
|
grep = process.argv[2];
|
||||||
|
|
||||||
|
// Lazy hack, but whatever
|
||||||
|
if (grep === '--min') {
|
||||||
|
global.minimizedTest = true;
|
||||||
|
grep = undefined;
|
||||||
|
}
|
||||||
|
|
||||||
var files = fs.readdirSync(testDir)
|
var files = fs.readdirSync(testDir)
|
||||||
.filter(function(name) { return (/.*\.js$/).test(name); })
|
.filter(function(name) { return (/.*\.js$/).test(name); })
|
||||||
.map(function(name) { return testDir + '/' + name; });
|
.map(function(name) { return testDir + '/' + name; });
|
||||||
|
|
||||||
run('./runtime', function() {
|
if (global.minimizedTest) {
|
||||||
run('./browser', function() {
|
run('./runtime', function() {
|
||||||
run('./node', function() {
|
run('./browser', function() {
|
||||||
/* eslint-disable no-process-exit */
|
/* eslint-disable no-process-exit */
|
||||||
process.exit(errors);
|
process.exit(errors);
|
||||||
/* eslint-enable no-process-exit */
|
/* eslint-enable no-process-exit */
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
} else {
|
||||||
|
run('./runtime', function() {
|
||||||
|
run('./browser', function() {
|
||||||
|
run('./node', function() {
|
||||||
|
/* eslint-disable no-process-exit */
|
||||||
|
process.exit(errors);
|
||||||
|
/* eslint-enable no-process-exit */
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function run(env, callback) {
|
function run(env, callback) {
|
||||||
|
|||||||
Vendored
+6
-1
@@ -4,7 +4,12 @@ var fs = require('fs'),
|
|||||||
vm = require('vm');
|
vm = require('vm');
|
||||||
|
|
||||||
global.Handlebars = 'no-conflict';
|
global.Handlebars = 'no-conflict';
|
||||||
vm.runInThisContext(fs.readFileSync(__dirname + '/../../dist/handlebars.runtime.js'), 'dist/handlebars.runtime.js');
|
|
||||||
|
var filename = 'dist/handlebars.runtime.js';
|
||||||
|
if (global.minimizedTest) {
|
||||||
|
filename = 'dist/handlebars.runtime.min.js';
|
||||||
|
}
|
||||||
|
vm.runInThisContext(fs.readFileSync(__dirname + '/../../' + filename), filename);
|
||||||
|
|
||||||
var parse = require('../../dist/cjs/handlebars/compiler/base').parse;
|
var parse = require('../../dist/cjs/handlebars/compiler/base').parse;
|
||||||
var compiler = require('../../dist/cjs/handlebars/compiler/compiler');
|
var compiler = require('../../dist/cjs/handlebars/compiler/compiler');
|
||||||
|
|||||||
@@ -40,6 +40,17 @@ module.exports = function(grunt) {
|
|||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
grunt.registerTask('test:min', function() {
|
||||||
|
var done = this.async();
|
||||||
|
|
||||||
|
var runner = childProcess.fork('./spec/env/runner', ['--min'], {stdio: 'inherit'});
|
||||||
|
runner.on('close', function(code) {
|
||||||
|
if (code != 0) {
|
||||||
|
grunt.fatal(code + ' tests failed');
|
||||||
|
}
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
grunt.registerTask('test:check-cov', function() {
|
grunt.registerTask('test:check-cov', function() {
|
||||||
var done = this.async();
|
var done = this.async();
|
||||||
|
|||||||
Reference in New Issue
Block a user