Skip to content

Commit 6174159

Browse files
committed
New: Support displayName property on anonymous functions (ref gulpjs/gulp#858)
1 parent f88223f commit 6174159

File tree

5 files changed

+14
-3
lines changed

5 files changed

+14
-3
lines changed

lib/helpers/buildTree.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ function buildTree(tasks){
1111
return meta.tree;
1212
}
1313

14-
var name = task.name || '<anonymous>';
14+
var name = task.name || task.displayName || '<anonymous>';
1515
meta = {
1616
name: name,
1717
tree: {

lib/task.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ function task(name, fn){
44
/* jshint validthis: true */
55
if(typeof name === 'function'){
66
fn = name;
7-
name = fn.name;
7+
name = fn.name || fn.displayName;
88
}
99

1010
if(!fn){

test/fixtures/taskTree/simple.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ module.exports = [
88
'ser',
99
'par',
1010
'serpar',
11-
'serpar2'
11+
'serpar2',
12+
'<display name>'
1213
];

test/task.js

+8
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@ describe('task', function(){
3636
done();
3737
});
3838

39+
it('should register an anonymous function by displayName property', function(done){
40+
anon.displayName = '<display name>';
41+
taker.task(anon);
42+
expect(taker.task('<display name>')).to.equal(anon);
43+
delete anon.displayName;
44+
done();
45+
});
46+
3947
it('should throw on register an anonymous function without string name', function(done){
4048
function noName(){
4149
taker.task(anon);

test/tree.js

+2
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,13 @@ describe('tree', function(){
3535
var anon = function(cb){
3636
cb();
3737
};
38+
anon.displayName = '<display name>';
3839

3940
taker.task('ser', taker.series('test1', 'test2'));
4041
taker.task('par', taker.parallel('test1', 'test2', 'test3'));
4142
taker.task('serpar', taker.series('ser', 'par'));
4243
taker.task('serpar2', taker.series(ser, anon));
44+
taker.task(anon);
4345

4446
var tree = taker.tree();
4547

0 commit comments

Comments
 (0)