From 33bfa8f9613677a71a000d15a7d2ab062b4841f4 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Tue, 2 Feb 2016 08:31:40 -0800 Subject: [PATCH] Add `trimChars` fp mapping. --- fp/_mapping.js | 11 +++++++---- test/test-fp.js | 26 ++++++++++++++++++++++++++ test/test.js | 4 ++-- 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/fp/_mapping.js b/fp/_mapping.js index 3fe602629..43db268a7 100644 --- a/fp/_mapping.js +++ b/fp/_mapping.js @@ -60,9 +60,9 @@ exports.aryMethod = { 'repeat', 'result', 'sampleSize', 'some', 'sortBy', 'sortedIndex', 'sortedIndexOf', 'sortedLastIndex', 'sortedLastIndexOf', 'sortedUniqBy', 'split', 'startsWith', 'subtract', 'sumBy', 'take', 'takeRight', 'takeRightWhile', - 'takeWhile', 'tap', 'throttle', 'thru', 'times', 'truncate', 'union', 'uniqBy', - 'uniqWith', 'unset', 'unzipWith', 'without', 'wrap', 'xor', 'zip', 'zipObject', - 'zipObjectDeep' + 'takeWhile', 'tap', 'throttle', 'thru', 'times', 'trimChars', 'trimCharsEnd', + 'trimCharsStart', 'truncate', 'union', 'uniqBy', 'uniqWith', 'unset', + 'unzipWith', 'without', 'wrap', 'xor', 'zip', 'zipObject', 'zipObjectDeep' ], 3: [ 'assignInWith', 'assignWith', 'clamp', 'differenceBy', 'differenceWith', @@ -212,7 +212,10 @@ exports.realToAlias = (function() { exports.rename = { 'curryN': 'curry', 'curryRightN': 'curryRight', - 'getOr': 'get' + 'getOr': 'get', + 'trimChars': 'trim', + 'trimCharsEnd': 'trimEnd', + 'trimCharsStart': 'trimStart' }; /** Used to track methods that skip `_.rearg`. */ diff --git a/test/test-fp.js b/test/test-fp.js index dc6a6f3a6..3763e7f2f 100644 --- a/test/test-fp.js +++ b/test/test-fp.js @@ -993,6 +993,32 @@ /*--------------------------------------------------------------------------*/ + QUnit.module('fp.trimChars'); + + _.each(['trimChars', 'trimCharsStart', 'trimCharsEnd'], function(methodName, index) { + var func = fp[methodName], + parts = []; + + if (index != 2) { + parts.push('leading'); + } + if (index != 1) { + parts.push('trailing'); + } + parts = parts.join(' and '); + + QUnit.test('`_.' + methodName + '` should remove ' + parts + ' `chars`', function(assert) { + assert.expect(1); + + var string = '-_-a-b-c-_-', + expected = (index == 2 ? '-_-' : '') + 'a-b-c' + (index == 1 ? '-_-' : ''); + + assert.strictEqual(func('_-')(string), expected); + }); + }); + + /*--------------------------------------------------------------------------*/ + QUnit.module('fp.uniqBy'); (function() { diff --git a/test/test.js b/test/test.js index df554b7c9..988df5c81 100644 --- a/test/test.js +++ b/test/test.js @@ -21457,9 +21457,9 @@ QUnit.module('trim methods'); lodashStable.each(['trim', 'trimStart', 'trimEnd'], function(methodName, index) { - var func = _[methodName]; + var func = _[methodName], + parts = []; - var parts = []; if (index != 2) { parts.push('leading'); }