forked from swiftlang/swift-docc-render
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patharrays.spec.js
50 lines (42 loc) · 1.4 KB
/
arrays.spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/**
* This source file is part of the Swift.org open source project
*
* Copyright (c) 2022 Apple Inc. and the Swift project authors
* Licensed under Apache License v2.0 with Runtime Library Exception
*
* See https://swift.org/LICENSE.txt for license information
* See https://swift.org/CONTRIBUTORS.txt for Swift project authors
*/
import { isEqual, last } from '@/utils/arrays';
describe('arrays', () => {
describe('last', () => {
it('returns the last item in an array', () => {
expect(last([1, 2, 3])).toEqual(3);
expect(last([1])).toEqual(1);
expect(last([])).toEqual(undefined);
});
});
describe('isEqual', () => {
const first = [1, 2, 3];
const second = [1, 2];
const firstStrings = ['1', '2', '3'];
it('returns true, if passed the same array', () => {
expect(isEqual(first, first)).toBe(true);
});
it('returns true, if passed an array, that looks similar', () => {
expect(isEqual(first, first.slice(0))).toBe(true);
});
it('returns false, if the two arrays are different', () => {
expect(isEqual(first, second)).toBe(false);
});
it('returns false, if the array does not have the same item types', () => {
expect(isEqual(first, firstStrings)).toBe(false);
});
it('compares arrays of objects', () => {
expect(isEqual(
[{ foo: 'foo' }],
[{ foo: 'foo' }],
)).toBe(true);
});
});
});