Updated flattenObject tests
This commit is contained in:
@ -1,11 +1,7 @@
|
|||||||
const flattenObject = (obj, prefix = '') =>
|
const flattenObject = (obj, prefix = '') =>
|
||||||
Object.keys(obj).reduce((acc, k) => {
|
Object.keys(obj).reduce((acc, k) => {
|
||||||
const pre = prefix.length ? (prefix + '.') : '';
|
const pre = prefix.length ? prefix + '.' : '';
|
||||||
if (typeof obj[k] === 'object')
|
if (typeof obj[k] === 'object') Object.assign(acc, flattenObject(obj[k], pre + k));
|
||||||
Object.assign(
|
|
||||||
acc,
|
|
||||||
flattenObject(obj[k], pre + k)
|
|
||||||
);
|
|
||||||
else acc[pre + k] = obj[k];
|
else acc[pre + k] = obj[k];
|
||||||
return acc;
|
return acc;
|
||||||
}, {});
|
}, {});
|
||||||
|
|||||||
@ -6,6 +6,7 @@ test('Testing flattenObject', (t) => {
|
|||||||
//Please go to https://github.com/substack/tape
|
//Please go to https://github.com/substack/tape
|
||||||
t.true(typeof flattenObject === 'function', 'flattenObject is a Function');
|
t.true(typeof flattenObject === 'function', 'flattenObject is a Function');
|
||||||
t.deepEqual(flattenObject({ a: { b: { c: 1 } }, d: 1 }), { 'a.b.c': 1, d: 1 }, 'Flattens an object with the paths for keys');
|
t.deepEqual(flattenObject({ a: { b: { c: 1 } }, d: 1 }), { 'a.b.c': 1, d: 1 }, 'Flattens an object with the paths for keys');
|
||||||
|
t.deepEqual(flattenObject([0,1,[2,[1]],1]), { 0: 0, 1: 1, 3: 1, '2.0': 2, '2.1.0': 1 }, 'Works with arrays');
|
||||||
//t.deepEqual(flattenObject(args..), 'Expected');
|
//t.deepEqual(flattenObject(args..), 'Expected');
|
||||||
//t.equal(flattenObject(args..), 'Expected');
|
//t.equal(flattenObject(args..), 'Expected');
|
||||||
//t.false(flattenObject(args..), 'Expected');
|
//t.false(flattenObject(args..), 'Expected');
|
||||||
|
|||||||
@ -6,7 +6,7 @@ test('Testing shuffle', (t) => {
|
|||||||
//Please go to https://github.com/substack/tape
|
//Please go to https://github.com/substack/tape
|
||||||
t.true(typeof shuffle === 'function', 'shuffle is a Function');
|
t.true(typeof shuffle === 'function', 'shuffle is a Function');
|
||||||
const arr = [1,2,3,4,5,6];
|
const arr = [1,2,3,4,5,6];
|
||||||
t.notDeepEqual(shuffle(arr), arr, 'Shuffles the array');
|
//t.notDeepEqual(shuffle(arr), arr, 'Shuffles the array'); Does not work always (got a test failing once)
|
||||||
//t.deepEqual(shuffle(args..), 'Expected');
|
//t.deepEqual(shuffle(args..), 'Expected');
|
||||||
//t.equal(shuffle(args..), 'Expected');
|
//t.equal(shuffle(args..), 'Expected');
|
||||||
//t.false(shuffle(args..), 'Expected');
|
//t.false(shuffle(args..), 'Expected');
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
Test log for: Wed Feb 07 2018 11:29:34 GMT+0200 (GTB Standard Time)
|
Test log for: Wed Feb 07 2018 11:34:35 GMT+0200 (GTB Standard Time)
|
||||||
|
|
||||||
> 30-seconds-of-code@0.0.1 test G:\My Files\git Repositories\30-seconds-of-code
|
> 30-seconds-of-code@0.0.1 test G:\My Files\git Repositories\30-seconds-of-code
|
||||||
> tape test/**/*.test.js | tap-spec
|
> tape test/**/*.test.js | tap-spec
|
||||||
@ -416,6 +416,7 @@ Test log for: Wed Feb 07 2018 11:29:34 GMT+0200 (GTB Standard Time)
|
|||||||
|
|
||||||
√ flattenObject is a Function
|
√ flattenObject is a Function
|
||||||
√ Flattens an object with the paths for keys
|
√ Flattens an object with the paths for keys
|
||||||
|
√ Works with arrays
|
||||||
|
|
||||||
Testing flip
|
Testing flip
|
||||||
|
|
||||||
@ -1740,8 +1741,8 @@ Test log for: Wed Feb 07 2018 11:29:34 GMT+0200 (GTB Standard Time)
|
|||||||
√ Works with multiple promises
|
√ Works with multiple promises
|
||||||
|
|
||||||
|
|
||||||
total: 841
|
total: 842
|
||||||
passing: 841
|
passing: 842
|
||||||
duration: 2.4s
|
duration: 2.4s
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -6,9 +6,7 @@ Object.assign(
|
|||||||
acc,
|
acc,
|
||||||
JSON.parse(
|
JSON.parse(
|
||||||
'{' +
|
'{' +
|
||||||
keys
|
keys.map((v, i) => (i !== keys.length - 1 ? `"${v}":{` : `"${v}":`)).join('') +
|
||||||
.map((v, i) => (i !== keys.length - 1 ? `"${v}":{` : `"${v}":`))
|
|
||||||
.join('') +
|
|
||||||
obj[k] +
|
obj[k] +
|
||||||
'}'.repeat(keys.length)
|
'}'.repeat(keys.length)
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user