mixpanel / mixpanel-js

Official Mixpanel JavaScript Client Library
https://mixpanel.com/help/reference/javascript
Other
862 stars 308 forks source link

Issue with jest #389

Open elmarini opened 8 months ago

elmarini commented 8 months ago

TypeError: Cannot redefine property: onload

When using jest's createMockFromModule it seems to trigger some code where a DOM element's non-configurable attribute is being redefined?

Object.register_event (node_modules/mixpanel-browser/dist/mixpanel.cjs.js:1170:29) var register_event = function(element, type, handler, oldSchool, useCapture) { if (!element) { console.error('No valid element provided to register_event'); return; }

    if (element.addEventListener && !oldSchool) {
        element.addEventListener(type, handler, !!useCapture);
    } else {
        var ontype = 'on' + type;
        var old_handler = element[ontype]; // can be undefined
        element[ontype] = makeHandler(element, handler, old_handler);
    }
};