makePopperFactory.js
544 Bytes
import Popper from '../../src/index.js';
/**
* Create a factory function that produces auto-cleanup popper instances.
*
* This function must be called in the context of a `describe`, as it utilises
* the `afterEach` API to schedule cleanup.
*/
export default function makePopperFactory() {
let poppers = [];
afterEach(() => {
poppers.forEach(instance => instance.destroy());
poppers = [];
});
return function factory(...args) {
const popper = new Popper(...args);
poppers.push(popper);
return popper;
};
}