Skip to content

Commit 6893b7d

Browse files
create Utilities spec
1 parent fa35e4b commit 6893b7d

File tree

1 file changed

+3
-100
lines changed

1 file changed

+3
-100
lines changed

spec/Utilities.spec.ts

Lines changed: 3 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,5 @@
1-
import test from 'ava';
1+
import test from 'ava'
22

3-
import { Arg } from '../src';
4-
import { areArgumentArraysEqual } from '../src/Utilities';
5-
6-
const testObject = { "foo": "bar" };
7-
const testArray = ["a", 1, true];
8-
9-
// #90: Infinite recursion in deepEqual https://github.com/ffMathy/FluffySpoon.JavaScript.Testing.Faking/blob/master/spec/issues/90.test.ts
10-
const parent = {} as any;
11-
parent.child = parent;
12-
const root = {} as any;
13-
root.path = { to: { nested: root } };
14-
15-
const testFunc = () => { };
16-
17-
//#region areArgumentArraysEqual
183
test('areArgumentArraysEqual should return valid result for primitive arguments', t => {
19-
// single
20-
t.true(areArgumentArraysEqual([''], ['']));
21-
t.true(areArgumentArraysEqual(['a'], ['a']));
22-
t.true(areArgumentArraysEqual([0], [0]));
23-
t.true(areArgumentArraysEqual([1], [1]));
24-
t.true(areArgumentArraysEqual([true], [true]));
25-
t.true(areArgumentArraysEqual([false], [false]));
26-
t.true(areArgumentArraysEqual([undefined], [undefined]));
27-
t.true(areArgumentArraysEqual([null], [null]));
28-
t.true(areArgumentArraysEqual([testObject], [testObject]));
29-
t.true(areArgumentArraysEqual([testArray], [testArray]));
30-
t.true(areArgumentArraysEqual([testFunc], [testFunc]));
31-
t.true(areArgumentArraysEqual([parent], [parent]));
32-
t.true(areArgumentArraysEqual([root], [root]));
33-
34-
t.false(areArgumentArraysEqual(['a'], ['b']));
35-
t.false(areArgumentArraysEqual([1], [2]));
36-
t.false(areArgumentArraysEqual([true], [false]));
37-
t.false(areArgumentArraysEqual([undefined], [null]));
38-
t.false(areArgumentArraysEqual([testObject], [testArray]));
39-
40-
// multi
41-
t.true(areArgumentArraysEqual([1, 2, 3], [1, 2, 3]));
42-
43-
t.false(areArgumentArraysEqual([1, 2, 3], [3, 2, 1]));
44-
t.false(areArgumentArraysEqual([1, 2, 3, 4], [1, 2, 3]));
45-
t.false(areArgumentArraysEqual([1, 2, 3], [1, 2, 3, 4]));
46-
});
47-
48-
test('areArgumentArraysEqual should return valid result using Arg.all()', t => {
49-
t.true(areArgumentArraysEqual([Arg.all()], []));
50-
t.true(areArgumentArraysEqual([Arg.all()], [0]));
51-
t.true(areArgumentArraysEqual([Arg.all()], [1]));
52-
t.true(areArgumentArraysEqual([Arg.all()], ['string']));
53-
t.true(areArgumentArraysEqual([Arg.all()], [true]));
54-
t.true(areArgumentArraysEqual([Arg.all()], [false]));
55-
t.true(areArgumentArraysEqual([Arg.all()], [null]));
56-
t.true(areArgumentArraysEqual([Arg.all()], [undefined]));
57-
t.true(areArgumentArraysEqual([Arg.all()], [1, 2]));
58-
t.true(areArgumentArraysEqual([Arg.all()], ['string1', 'string2']));
59-
t.true(areArgumentArraysEqual([Arg.all()], [parent, root]));
60-
})
61-
62-
test('areArgumentArraysEqual should return valid result using Arg', t => {
63-
t.true(areArgumentArraysEqual([Arg.any()], ['hi']));
64-
t.true(areArgumentArraysEqual([Arg.any()], [1]));
65-
t.true(areArgumentArraysEqual([Arg.any()], [0]));
66-
t.true(areArgumentArraysEqual([Arg.any()], [false]));
67-
t.true(areArgumentArraysEqual([Arg.any()], [true]));
68-
t.true(areArgumentArraysEqual([Arg.any()], [null]));
69-
t.true(areArgumentArraysEqual([Arg.any()], [undefined]));
70-
t.true(areArgumentArraysEqual([Arg.any()], [testObject]));
71-
t.true(areArgumentArraysEqual([Arg.any()], [testArray]));
72-
t.true(areArgumentArraysEqual([Arg.any()], [testFunc]));
73-
t.true(areArgumentArraysEqual([Arg.any()], []));
74-
t.true(areArgumentArraysEqual([Arg.any()], [parent]));
75-
t.true(areArgumentArraysEqual([Arg.any()], [root]));
76-
77-
t.true(areArgumentArraysEqual([Arg.any('string')], ['foo']));
78-
t.true(areArgumentArraysEqual([Arg.any('number')], [1]));
79-
t.true(areArgumentArraysEqual([Arg.any('boolean')], [true]));
80-
t.true(areArgumentArraysEqual([Arg.any('symbol')], [Symbol()]));
81-
t.true(areArgumentArraysEqual([Arg.any('undefined')], [undefined]));
82-
t.true(areArgumentArraysEqual([Arg.any('object')], [testObject]));
83-
t.true(areArgumentArraysEqual([Arg.any('array')], [testArray]));
84-
t.true(areArgumentArraysEqual([Arg.any('function')], [testFunc]));
85-
t.true(areArgumentArraysEqual([Arg.any('object')], [parent]));
86-
t.true(areArgumentArraysEqual([Arg.any('object')], [root]));
87-
88-
t.false(areArgumentArraysEqual([Arg.any('string')], [1]));
89-
t.false(areArgumentArraysEqual([Arg.any('number')], ['string']));
90-
t.false(areArgumentArraysEqual([Arg.any('boolean')], [null]));
91-
t.false(areArgumentArraysEqual([Arg.any('object')], ['foo']));
92-
t.false(areArgumentArraysEqual([Arg.any('array')], ['bar']));
93-
t.false(areArgumentArraysEqual([Arg.any('function')], ['foo']));
94-
})
95-
96-
test('areArgumentArraysEqual should return valid result using Arg.is()', t => {
97-
t.true(areArgumentArraysEqual([Arg.is(x => x === 'foo')], ['foo']));
98-
t.true(areArgumentArraysEqual([Arg.is(x => x % 2 == 0)], [4]));
99-
100-
t.false(areArgumentArraysEqual([Arg.is(x => x === 'foo')], ['bar']));
101-
t.false(areArgumentArraysEqual([Arg.is(x => x % 2 == 0)], [3]));
102-
});
4+
t.pass()
5+
})

0 commit comments

Comments
 (0)