mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-08 02:17:48 +00:00
Add build tests for build command checks.
Former-commit-id: 3f43b83f07ded116e0ae667f9c809bd1b7b4f30a
This commit is contained in:
2
build.js
2
build.js
@@ -2498,7 +2498,7 @@
|
|||||||
if (isTemplate) {
|
if (isTemplate) {
|
||||||
invalidArgs.push('template');
|
invalidArgs.push('template');
|
||||||
}
|
}
|
||||||
if (invalidArgs.length > 2) {
|
if (invalidArgs.length > 1) {
|
||||||
warnings.push('The `' + invalidArgs.slice(0, -1).join('`, `') + '`' + (invalidArgs.length > 2 ? ',' : '') + ' and `' + invalidArgs.slice(-1) + '` commands may not be combined.');
|
warnings.push('The `' + invalidArgs.slice(0, -1).join('`, `') + '`' + (invalidArgs.length > 2 ? ',' : '') + ' and `' + invalidArgs.slice(-1) + '` commands may not be combined.');
|
||||||
}
|
}
|
||||||
// report invalid command entries
|
// report invalid command entries
|
||||||
|
|||||||
@@ -482,6 +482,48 @@
|
|||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
QUnit.module('build command checks');
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
var reHelp = /lodash --help/,
|
||||||
|
write = process.stdout.write;
|
||||||
|
|
||||||
|
var commands = [
|
||||||
|
'node.EXE build -s modern',
|
||||||
|
'-s strict underscore'
|
||||||
|
];
|
||||||
|
|
||||||
|
commands.forEach(function(command) {
|
||||||
|
asyncTest('`lodash ' + command +'` is valid', function() {
|
||||||
|
var start = _.after(2, _.once(function() {
|
||||||
|
ok(true, 'should be valid');
|
||||||
|
QUnit.start();
|
||||||
|
}));
|
||||||
|
|
||||||
|
build(command.split(' '), start);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
commands = [
|
||||||
|
'mobile underscore',
|
||||||
|
'modern template=./*.jst'
|
||||||
|
];
|
||||||
|
|
||||||
|
commands.forEach(function(command) {
|
||||||
|
asyncTest('`lodash ' + command +'` is not valid', function() {
|
||||||
|
process.stdout.write = _.once(function(string) {
|
||||||
|
ok(reHelp.test(string));
|
||||||
|
process.stdout.write = write;
|
||||||
|
QUnit.start();
|
||||||
|
});
|
||||||
|
|
||||||
|
build(command.split(' '), function() {});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}());
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
QUnit.module('minified AMD snippet');
|
QUnit.module('minified AMD snippet');
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
@@ -1388,6 +1430,8 @@
|
|||||||
QUnit.module('stdout option');
|
QUnit.module('stdout option');
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
|
var write = process.stdout.write;
|
||||||
|
|
||||||
var commands = [
|
var commands = [
|
||||||
'-c',
|
'-c',
|
||||||
'-c -d',
|
'-c -d',
|
||||||
@@ -1397,19 +1441,18 @@
|
|||||||
commands.forEach(function(command, index) {
|
commands.forEach(function(command, index) {
|
||||||
asyncTest('`lodash ' + command +'`', function() {
|
asyncTest('`lodash ' + command +'`', function() {
|
||||||
var written,
|
var written,
|
||||||
start = _.once(QUnit.start),
|
start = _.once(QUnit.start);
|
||||||
write = process.stdout.write;
|
|
||||||
|
|
||||||
process.stdout.write = function(string) {
|
process.stdout.write = function(string) {
|
||||||
written = string;
|
written = string;
|
||||||
};
|
};
|
||||||
|
|
||||||
build(['exports=', 'include='].concat(command.split(' ')), function(data) {
|
build(['exports=', 'include='].concat(command.split(' ')), function(data) {
|
||||||
process.stdout.write = write;
|
|
||||||
|
|
||||||
strictEqual('outputPath' in data, false);
|
strictEqual('outputPath' in data, false);
|
||||||
equal(written, data.source);
|
equal(written, data.source);
|
||||||
equal(arguments.length, 1);
|
equal(arguments.length, 1);
|
||||||
|
|
||||||
|
process.stdout.write = write;
|
||||||
start();
|
start();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -1621,8 +1664,8 @@
|
|||||||
|
|
||||||
// expand categories to function names
|
// expand categories to function names
|
||||||
funcNames.slice().forEach(function(category) {
|
funcNames.slice().forEach(function(category) {
|
||||||
var otherNames = _.filter(categoryMap[category], function(identifier) {
|
var otherNames = _.filter(categoryMap[category], function(key) {
|
||||||
return typeof _[identifier] == 'function';
|
return typeof _[key] == 'function';
|
||||||
});
|
});
|
||||||
|
|
||||||
// limit function names to those available for specific builds
|
// limit function names to those available for specific builds
|
||||||
|
|||||||
Reference in New Issue
Block a user