mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-01-31 15:27:50 +00:00
* Enable strings category methods tests * Ensure escape, pad, padEnd, padStart, trim, trimEnd, trimStart, unescape return an empty string for falsey values * Coerce value to string using toString in truncate, capitalize and case methods * Ensure createCaseFirst returns an empty string for falsey values
84 lines
1.8 KiB
JavaScript
84 lines
1.8 KiB
JavaScript
import assert from 'assert';
|
|
import lodashStable from 'lodash';
|
|
import { stubString } from './utils.js';
|
|
|
|
import camelCase from '../camelCase.js';
|
|
import capitalize from '../capitalize.js';
|
|
import escape from '../escape.js';
|
|
import kebabCase from '../kebabCase.js';
|
|
import lowerCase from '../lowerCase.js';
|
|
import lowerFirst from '../lowerFirst.js';
|
|
import pad from '../pad.js';
|
|
import padEnd from '../padEnd.js';
|
|
import padStart from '../padStart.js';
|
|
import repeat from '../repeat.js';
|
|
import snakeCase from '../snakeCase.js';
|
|
import trim from '../trim.js';
|
|
import trimStart from '../trimStart.js';
|
|
import trimEnd from '../trimEnd.js';
|
|
import truncate from '../truncate.js';
|
|
import unescape from '../unescape.js';
|
|
import upperCase from '../upperCase.js';
|
|
import upperFirst from '../upperFirst';
|
|
|
|
|
|
const methods = {
|
|
camelCase,
|
|
capitalize,
|
|
escape,
|
|
kebabCase,
|
|
lowerCase,
|
|
lowerFirst,
|
|
pad,
|
|
padEnd,
|
|
padStart,
|
|
repeat,
|
|
snakeCase,
|
|
trim,
|
|
trimStart,
|
|
trimEnd,
|
|
truncate,
|
|
unescape,
|
|
upperCase,
|
|
upperFirst
|
|
}
|
|
|
|
|
|
describe('"Strings" category methods', function() {
|
|
var stringMethods = [
|
|
'camelCase',
|
|
'capitalize',
|
|
'escape',
|
|
'kebabCase',
|
|
'lowerCase',
|
|
'lowerFirst',
|
|
'pad',
|
|
'padEnd',
|
|
'padStart',
|
|
'repeat',
|
|
'snakeCase',
|
|
'trim',
|
|
'trimEnd',
|
|
'trimStart',
|
|
'truncate',
|
|
'unescape',
|
|
'upperCase',
|
|
'upperFirst'
|
|
];
|
|
|
|
lodashStable.each(stringMethods, function(methodName) {
|
|
var func = methods[methodName];
|
|
|
|
it('`_.' + methodName + '` should return an empty string for empty values', function() {
|
|
var values = [, null, undefined, ''],
|
|
expected = lodashStable.map(values, stubString);
|
|
|
|
var actual = lodashStable.map(values, function(value, index) {
|
|
return index ? func(value) : func();
|
|
});
|
|
|
|
assert.deepStrictEqual(actual, expected);
|
|
});
|
|
});
|
|
});
|