Skip to content

Commit

Permalink
test(accumulate): add test suite for accumulate function (#15159)
Browse files Browse the repository at this point in the history
* refactor(typo): remove typo 'be'

* test(accumulate): add test suite for accumulate function
  • Loading branch information
jberry93 authored and cpojer committed Apr 25, 2019
1 parent a187e9b commit d61da93
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 1 deletion.
49 changes: 49 additions & 0 deletions packages/events/__tests__/accumulate-test.internal.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @emails react-core
*/

'use strict';

let accumulate;

describe('accumulate', () => {
beforeEach(() => {
accumulate = require('events/accumulate').default;
});

it('throws if the second item is null', () => {
expect(function() {
accumulate([], null);
}).toThrowError(
'accumulate(...): Accumulated items must not be null or undefined.',
);
});

it('return second item if first item is null', () => {
const a = [];
expect(accumulate(null, a)).toBe(a);
});

it('return concatenation of items if first item is an array', () => {
const a = ['hello'];
const b = 'world';
expect(accumulate(a, b)).toEqual(['hello', 'world']);
});

it('return concatenation of items if second item is an array', () => {
const a = 'hello';
const b = ['world'];
expect(accumulate(a, b)).toEqual(['hello', 'world']);
});

it('return an array containing both items if neither item is an array', () => {
const a = 'hello';
const b = 'world';
expect(accumulate(a, b)).toEqual(['hello', 'world']);
});
});
2 changes: 1 addition & 1 deletion packages/events/accumulate.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ function accumulate<T>(
): T | Array<T> {
invariant(
next != null,
'accumulate(...): Accumulated items must be not be null or undefined.',
'accumulate(...): Accumulated items must not be null or undefined.',
);

if (current == null) {
Expand Down

0 comments on commit d61da93

Please sign in to comment.