|
| 1 | +import validateSpec from './validate'; |
1 | 2 | import validatePadding from './validate_padding'; |
2 | 3 |
|
3 | 4 | describe('Validate Padding', () => { |
4 | 5 | test('Should return error if type is not number or array', () => { |
5 | | - let errors = validatePadding({key: 'padding', value: '3'}); |
| 6 | + let errors = validatePadding({validateSpec, key: 'padding', value: '3'}); |
6 | 7 | expect(errors).toHaveLength(1); |
7 | 8 | expect(errors[0].message).toBe('padding: number expected, string found'); |
8 | 9 |
|
9 | | - errors = validatePadding({key: 'padding', value: true}); |
| 10 | + errors = validatePadding({validateSpec, key: 'padding', value: true}); |
10 | 11 | expect(errors).toHaveLength(1); |
11 | 12 | expect(errors[0].message).toBe('padding: number expected, boolean found'); |
12 | 13 |
|
13 | | - errors = validatePadding({key: 'padding', value: null}); |
| 14 | + errors = validatePadding({validateSpec, key: 'padding', value: null}); |
14 | 15 | expect(errors).toHaveLength(1); |
15 | 16 | expect(errors[0].message).toBe('padding: number expected, null found'); |
16 | 17 |
|
17 | | - errors = validatePadding({key: 'padding', value: {x: 1, y: 1}}); |
| 18 | + errors = validatePadding({validateSpec, key: 'padding', value: {x: 1, y: 1}}); |
18 | 19 | expect(errors).toHaveLength(1); |
19 | 20 | expect(errors[0].message).toBe('padding: number expected, object found'); |
20 | 21 |
|
21 | | - errors = validatePadding({key: 'padding', value: NaN}); |
| 22 | + errors = validatePadding({validateSpec, key: 'padding', value: NaN}); |
22 | 23 | expect(errors).toHaveLength(1); |
23 | 24 | expect(errors[0].message).toBe('padding: number expected, NaN found'); |
24 | 25 | }); |
25 | 26 |
|
26 | 27 | test('Should pass if type is number', () => { |
27 | | - const errors = validatePadding({key: 'padding', value: 1}); |
| 28 | + const errors = validatePadding({validateSpec, key: 'padding', value: 1}); |
28 | 29 | expect(errors).toHaveLength(0); |
29 | 30 | }); |
30 | 31 |
|
31 | 32 | test('Should return error if array length is invalid', () => { |
32 | | - let errors = validatePadding({key: 'padding', value: []}); |
| 33 | + let errors = validatePadding({validateSpec, key: 'padding', value: []}); |
33 | 34 | expect(errors).toHaveLength(1); |
34 | 35 | expect(errors[0].message).toBe('padding: padding requires 1 to 4 values; 0 values found'); |
35 | 36 |
|
36 | | - errors = validatePadding({key: 'padding', value: [1, 1, 1, 1, 1]}); |
| 37 | + errors = validatePadding({validateSpec, key: 'padding', value: [1, 1, 1, 1, 1]}); |
37 | 38 | expect(errors).toHaveLength(1); |
38 | 39 | expect(errors[0].message).toBe('padding: padding requires 1 to 4 values; 5 values found'); |
39 | 40 |
|
40 | | - errors = validatePadding({key: 'padding', value: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}); |
| 41 | + errors = validatePadding({validateSpec, key: 'padding', value: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}); |
41 | 42 | expect(errors).toHaveLength(1); |
42 | 43 | expect(errors[0].message).toBe('padding: padding requires 1 to 4 values; 12 values found'); |
43 | 44 | }); |
44 | 45 |
|
45 | 46 | test('Should return error if array contains non-numeric values', () => { |
46 | | - let errors = validatePadding({key: 'padding', value: ['1']}); |
| 47 | + let errors = validatePadding({validateSpec, key: 'padding', value: ['1']}); |
47 | 48 | expect(errors).toHaveLength(1); |
48 | 49 | expect(errors[0].message).toBe('padding[0]: number expected, string found'); |
49 | 50 |
|
50 | | - errors = validatePadding({key: 'padding', value: [true]}); |
| 51 | + errors = validatePadding({validateSpec, key: 'padding', value: [true]}); |
51 | 52 | expect(errors).toHaveLength(1); |
52 | 53 | expect(errors[0].message).toBe('padding[0]: number expected, boolean found'); |
53 | 54 |
|
54 | | - errors = validatePadding({key: 'padding', value: [NaN]}); |
| 55 | + errors = validatePadding({validateSpec, key: 'padding', value: [NaN]}); |
55 | 56 | expect(errors).toHaveLength(1); |
56 | 57 | expect(errors[0].message).toBe('padding[0]: number expected, NaN found'); |
57 | 58 |
|
58 | | - errors = validatePadding({key: 'padding', value: [{x: 1}]}); |
| 59 | + errors = validatePadding({validateSpec, key: 'padding', value: [{x: 1}]}); |
59 | 60 | expect(errors).toHaveLength(1); |
60 | 61 | expect(errors[0].message).toBe('padding[0]: number expected, object found'); |
61 | 62 |
|
62 | | - errors = validatePadding({key: 'padding', value: [1, 3, false]}); |
| 63 | + errors = validatePadding({validateSpec, key: 'padding', value: [1, 3, false]}); |
63 | 64 | expect(errors).toHaveLength(1); |
64 | 65 | expect(errors[0].message).toBe('padding[2]: number expected, boolean found'); |
65 | 66 |
|
66 | | - errors = validatePadding({key: 'padding', value: ['1', 3, false]}); |
| 67 | + errors = validatePadding({validateSpec, key: 'padding', value: ['1', 3, false]}); |
67 | 68 | expect(errors).toHaveLength(2); |
68 | 69 | expect(errors[0].message).toBe('padding[0]: number expected, string found'); |
69 | 70 | expect(errors[1].message).toBe('padding[2]: number expected, boolean found'); |
70 | 71 | }); |
71 | 72 |
|
72 | 73 | test('Should pass if type is numeric array', () => { |
73 | | - let errors = validatePadding({key: 'padding', value: [1]}); |
| 74 | + let errors = validatePadding({validateSpec, key: 'padding', value: [1]}); |
74 | 75 | expect(errors).toHaveLength(0); |
75 | | - errors = validatePadding({key: 'padding', value: [1, 1]}); |
| 76 | + errors = validatePadding({validateSpec, key: 'padding', value: [1, 1]}); |
76 | 77 | expect(errors).toHaveLength(0); |
77 | | - errors = validatePadding({key: 'padding', value: [1, 1, 1]}); |
| 78 | + errors = validatePadding({validateSpec, key: 'padding', value: [1, 1, 1]}); |
78 | 79 | expect(errors).toHaveLength(0); |
79 | | - errors = validatePadding({key: 'padding', value: [1, 1, 1, 1]}); |
| 80 | + errors = validatePadding({validateSpec, key: 'padding', value: [1, 1, 1, 1]}); |
80 | 81 | expect(errors).toHaveLength(0); |
81 | 82 | }); |
82 | 83 | }); |
0 commit comments