Merge pull request #232 from ALE-Rainbow/master

Fix #180 - Custom with multi attr failure
This commit is contained in:
DABH 2018-07-22 14:29:06 -07:00 committed by GitHub
commit ba56f52c62
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 10 deletions

View File

@ -73,19 +73,17 @@ module['exports'] = function() {
} else {
if (typeof(theme[prop]) === 'string') {
colors[prop] = colors[theme[prop]];
addProperty(prop, function() {
return colors[theme[prop]](this);
});
} else {
var tmp = colors[theme[prop][0]];
for (var t = 1; t < theme[prop].length; t++) {
tmp = tmp[theme[prop][t]];
}
colors[prop] = tmp;
}
addProperty(prop, function() {
var ret = this;
for (var t = 0; t < theme[prop].length; t++) {
ret = colors[theme[prop][t]](ret);
}
return ret;
return colors[prop](this);
});
}
}
});
}

View File

@ -61,3 +61,13 @@ assert.equal(typeof ('astring'.red), 'string');
assert.equal(typeof ('astring'.error), 'string');
assert.equal(s, 'string');
colors.setTheme({custom: ['blue', 'bold', 'underline']});
assert.equal(colors.custom(s),
'\x1b[34m' + '\x1b[1m' + '\x1b[4m' + s +
'\x1b[24m' + '\x1b[22m' + '\x1b[39m' );
colors.setTheme({custom: ['red', 'italic', 'inverse']});
assert.equal(colors.custom(s),
'\x1b[31m' + '\x1b[3m' + '\x1b[7m' + s +
'\x1b[27m' + '\x1b[23m' + '\x1b[39m' );

View File

@ -57,3 +57,12 @@ colors.setTheme({error: 'red'});
assert.equal(typeof (colors.red('astring')), 'string');
assert.equal(typeof (colors.error('astring')), 'string');
colors.setTheme({custom: ['blue', 'bold', 'underline']});
assert.equal(colors.custom(s),
'\x1b[4m' + '\x1b[1m' + '\x1b[34m' + s +
'\x1b[39m' + '\x1b[22m' + '\x1b[24m' );
colors.setTheme({custom: ['red', 'italic', 'inverse']});
assert.equal(colors.custom(s),
'\x1b[7m' + '\x1b[3m' + '\x1b[31m' + s +
'\x1b[39m' + '\x1b[23m' + '\x1b[27m' );