wix-style-react
Version:
wix-style-react
43 lines (42 loc) • 2.32 kB
JavaScript
;
var _getAppendToElement = require("./getAppendToElement");
var _utils = require("./utils");
describe('getAppendToElement', () => {
it('should append popover host element to body [when] given `window`/`viewport` ', () => {
expect((0, _getAppendToElement.getAppendToElement)('viewport').parentElement).toBe(document.body);
});
it('should return popover host element [when] given `viewport` ', () => {
expect((0, _getAppendToElement.getAppendToElement)('viewport')).toBe(document.querySelector("#".concat(_getAppendToElement.popoverHostElementId)));
});
it('should return popover host element [when] given `window` ', () => {
expect((0, _getAppendToElement.getAppendToElement)('window')).toBe(document.querySelector("#".concat(_getAppendToElement.popoverHostElementId)));
});
it('should return first element with overflow style [when] given `scrollParent` ', () => {
var node = document.createElement('div');
var parent = document.createElement('div');
parent.appendChild(node);
parent.style.overflow = 'auto';
expect((0, _getAppendToElement.getAppendToElement)('scrollParent', node)).toBe((0, _utils.getScrollParent)(node));
});
it('should return null [when] given `random`', () => {
expect((0, _getAppendToElement.getAppendToElement)('random')).toBe(undefined);
});
it('should return matching ancestor by predicate [when] filter function', () => {
var predicate = el => el.getAttribute('some-attr') === 'some-value';
var element = document.createElement('div');
var parent = document.createElement('div');
parent.setAttribute('some-attr', 'some-value');
parent.appendChild(element);
expect((0, _getAppendToElement.getAppendToElement)(predicate, element)).toBe(parent);
});
it('should return undefined [when] predicate is not matched', () => {
var predicate = el => el.getAttribute('some-attr') === 'some-value';
var element = document.createElement('div');
expect((0, _getAppendToElement.getAppendToElement)(predicate, element)).toBe(undefined);
});
it('should return given element [when] element is given', () => {
var element = document.createElement('div');
expect((0, _getAppendToElement.getAppendToElement)(element)).toBe(element);
});
});
//# sourceMappingURL=getAppendToElement.spec.js.map