forked from floating-ui/floating-ui
/
getBoundaries.padding.js
57 lines (50 loc) · 1.72 KB
/
getBoundaries.padding.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
51
52
53
54
55
56
57
import getBoundaries from '../../src/utils/getBoundaries';
import getFixedPositionOffsetParent from '../../src/utils/getFixedPositionOffsetParent';
describe('utils/getBoundaries-padding-offset', () => {
let node;
beforeEach(() => {
node = document.createElement('div');
document.body.appendChild(node);
});
afterEach(() => {
document.body.removeChild(node);
});
it('returns a boundary with a single value padding offset.', () => {
const padding = 50;
const result = getBoundaries(null, null, padding, 'viewport', true);
expect(result.top).toBe(50);
expect(result.left).toBe(50);
expect(result.right).toBe(735);
expect(result.bottom).toBe(550);
});
it('returns a boundary with a top and left componentized padding offset.', () => {
const padding = {
top: 50,
left: 100,
};
const result = getBoundaries(null, null, padding, 'viewport', true);
expect(result.top).toBe(50);
expect(result.left).toBe(100);
expect(result.right).toBe(785);
expect(result.bottom).toBe(600);
});
it('returns a boundary with a bottom and right componentized padding offset.', () => {
const padding = {
bottom: 50,
right: 85,
};
const result = getBoundaries(null, null, padding, 'viewport', true);
expect(result.top).toBe(0);
expect(result.left).toBe(0);
expect(result.right).toBe(700);
expect(result.bottom).toBe(550);
});
it('returns a boundary with a null padding offset.', () => {
const padding = null;
const result = getBoundaries(null, null, padding, 'viewport', true);
expect(result.top).toBe(0);
expect(result.left).toBe(0);
expect(result.right).toBe(785);
expect(result.bottom).toBe(600);
});
});