Test migration to jest by hand
Apparently using regular expressions is way easier.
This commit is contained in:
10
test/pullBy/pullBy.js
Normal file
10
test/pullBy/pullBy.js
Normal file
@ -0,0 +1,10 @@
|
||||
const pullBy = (arr, ...args) => {
|
||||
const length = args.length;
|
||||
let fn = length > 1 ? args[length - 1] : undefined;
|
||||
fn = typeof fn == 'function' ? (args.pop(), fn) : undefined;
|
||||
let argState = (Array.isArray(args[0]) ? args[0] : args).map(val => fn(val));
|
||||
let pulled = arr.filter((v, i) => !argState.includes(fn(v)));
|
||||
arr.length = 0;
|
||||
pulled.forEach(v => arr.push(v));
|
||||
};
|
||||
module.exports = pullBy;
|
||||
12
test/pullBy/pullBy.test.js
Normal file
12
test/pullBy/pullBy.test.js
Normal file
@ -0,0 +1,12 @@
|
||||
const expect = require('expect');
|
||||
const pullBy = require('./pullBy.js');
|
||||
|
||||
|
||||
test('pullBy is a Function', () => {
|
||||
expect(pullBy).toBeInstanceOf(Function);
|
||||
});
|
||||
var myArray = [{ x: 1 }, { x: 2 }, { x: 3 }, { x: 1 }];
|
||||
pullBy(myArray, [{ x: 1 }, { x: 3 }], o => o.x);
|
||||
t.deepEqual(myArray, [{ x: 2 }], 'Pulls the specified values');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user