UNPKG

@ngneat/spectator

Version:

A powerful tool to simplify your Angular tests

19 lines 3.75 kB
// This is a public API surface of @ngneat/spectator/internals. It's not intended to be used // by consumers. Please, don't import anything from this entry-point. // This is done to prevent tests, that are being run in a `fakeAsync` zone, from failing randomly. // jQuery setups a timer internally if the `document.readyState` is `complete` by doing // `window.setTimeout(jQuery.ready)` (see its source code). Unit tests might fail randomly that // there're still timers in the queue, but the timer has been scheduled by jQuery, so we don't // want to allow that to happen. const patchedSetTimeout = window.setTimeout; // The unpatched `setTimeout` can be retrieved through this property. // We might have used `Zone.__symbol__('OriginalDelegate')`, which would also give us // the current string, but accessing `Zone` requires messing up with types (like declaring it // globally through `declare const Zone`). This is the safest way of doing that. // This is done before importing jQuery since it will use the unpatched timer // when its code is executed, which will not be captured by zone.js. window.setTimeout = patchedSetTimeout['__zone_symbol__OriginalDelegate'] || patchedSetTimeout; export function restoreSetTimeout() { window.setTimeout = patchedSetTimeout; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWN0YXRvci9pbnRlcm5hbHMvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEZBQTRGO0FBQzVGLHFFQUFxRTtBQUVyRSxrR0FBa0c7QUFDbEcsdUZBQXVGO0FBQ3ZGLCtGQUErRjtBQUMvRiw4RkFBOEY7QUFDOUYsZ0NBQWdDO0FBQ2hDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztBQUM1QyxxRUFBcUU7QUFDckUscUZBQXFGO0FBQ3JGLDZGQUE2RjtBQUM3RixnRkFBZ0Y7QUFDaEYsNkVBQTZFO0FBQzdFLG9FQUFvRTtBQUNwRSxNQUFNLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLGlDQUFpQyxDQUFDLElBQUksaUJBQWlCLENBQUM7QUFFOUYsTUFBTSxVQUFVLGlCQUFpQjtJQUMvQixNQUFNLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGlzIGEgcHVibGljIEFQSSBzdXJmYWNlIG9mIEBuZ25lYXQvc3BlY3RhdG9yL2ludGVybmFscy4gSXQncyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZFxuLy8gYnkgY29uc3VtZXJzLiBQbGVhc2UsIGRvbid0IGltcG9ydCBhbnl0aGluZyBmcm9tIHRoaXMgZW50cnktcG9pbnQuXG5cbi8vIFRoaXMgaXMgZG9uZSB0byBwcmV2ZW50IHRlc3RzLCB0aGF0IGFyZSBiZWluZyBydW4gaW4gYSBgZmFrZUFzeW5jYCB6b25lLCBmcm9tIGZhaWxpbmcgcmFuZG9tbHkuXG4vLyBqUXVlcnkgc2V0dXBzIGEgdGltZXIgaW50ZXJuYWxseSBpZiB0aGUgYGRvY3VtZW50LnJlYWR5U3RhdGVgIGlzIGBjb21wbGV0ZWAgYnkgZG9pbmdcbi8vIGB3aW5kb3cuc2V0VGltZW91dChqUXVlcnkucmVhZHkpYCAoc2VlIGl0cyBzb3VyY2UgY29kZSkuIFVuaXQgdGVzdHMgbWlnaHQgZmFpbCByYW5kb21seSB0aGF0XG4vLyB0aGVyZSdyZSBzdGlsbCB0aW1lcnMgaW4gdGhlIHF1ZXVlLCBidXQgdGhlIHRpbWVyIGhhcyBiZWVuIHNjaGVkdWxlZCBieSBqUXVlcnksIHNvIHdlIGRvbid0XG4vLyB3YW50IHRvIGFsbG93IHRoYXQgdG8gaGFwcGVuLlxuY29uc3QgcGF0Y2hlZFNldFRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dDtcbi8vIFRoZSB1bnBhdGNoZWQgYHNldFRpbWVvdXRgIGNhbiBiZSByZXRyaWV2ZWQgdGhyb3VnaCB0aGlzIHByb3BlcnR5LlxuLy8gV2UgbWlnaHQgaGF2ZSB1c2VkIGBab25lLl9fc3ltYm9sX18oJ09yaWdpbmFsRGVsZWdhdGUnKWAsIHdoaWNoIHdvdWxkIGFsc28gZ2l2ZSB1c1xuLy8gdGhlIGN1cnJlbnQgc3RyaW5nLCBidXQgYWNjZXNzaW5nIGBab25lYCByZXF1aXJlcyBtZXNzaW5nIHVwIHdpdGggdHlwZXMgKGxpa2UgZGVjbGFyaW5nIGl0XG4vLyBnbG9iYWxseSB0aHJvdWdoIGBkZWNsYXJlIGNvbnN0IFpvbmVgKS4gVGhpcyBpcyB0aGUgc2FmZXN0IHdheSBvZiBkb2luZyB0aGF0LlxuLy8gVGhpcyBpcyBkb25lIGJlZm9yZSBpbXBvcnRpbmcgalF1ZXJ5IHNpbmNlIGl0IHdpbGwgdXNlIHRoZSB1bnBhdGNoZWQgdGltZXJcbi8vIHdoZW4gaXRzIGNvZGUgaXMgZXhlY3V0ZWQsIHdoaWNoIHdpbGwgbm90IGJlIGNhcHR1cmVkIGJ5IHpvbmUuanMuXG53aW5kb3cuc2V0VGltZW91dCA9IHBhdGNoZWRTZXRUaW1lb3V0WydfX3pvbmVfc3ltYm9sX19PcmlnaW5hbERlbGVnYXRlJ10gfHwgcGF0Y2hlZFNldFRpbWVvdXQ7XG5cbmV4cG9ydCBmdW5jdGlvbiByZXN0b3JlU2V0VGltZW91dCgpIHtcbiAgd2luZG93LnNldFRpbWVvdXQgPSBwYXRjaGVkU2V0VGltZW91dDtcbn1cbiJdfQ==