update lolex to 3.1

This commit is contained in:
helloworld111gh
2019-03-04 09:54:14 -08:00
parent c93fc8d31d
commit 91ad301fb0
2 changed files with 25 additions and 1 deletions

View File

@@ -9,7 +9,7 @@
/**
* Names of clock methods that may be faked by install.
*/
type FakeMethod = "setTimeout" | "clearTimeout" | "setImmediate" | "clearImmediate" | "setInterval" | "clearInterval" | "Date" | "nextTick" | "hrtime";
type FakeMethod = "setTimeout" | "clearTimeout" | "setImmediate" | "clearImmediate" | "setInterval" | "clearInterval" | "Date" | "nextTick" | "hrtime" | "requestIdleCallback" | "cancelIdleCallback";
/**
* Global methods avaliable to every clock and also as standalone methods (inside `timers` global object).
@@ -126,6 +126,22 @@ export interface LolexClock<TTimerId extends TimerId> extends GlobalTimers<TTime
*/
cancelAnimationFrame: (id: TTimerId) => void;
/**
* Queues the callback to be fired during idle periods to perform background and low priority work on the main event loop.
*
* @param callback Callback to be fired.
* @param timeout The maximum number of ticks before the callback must be fired.
* @remarks Callbacks which have a timeout option will be fired no later than time in milliseconds.
*/
requestIdleCallback: (callback: () => void, timeout?: number) => TTimerId;
/**
* Clears a timer, as long as it was created using requestIdleCallback.
*
* @param id Timer ID or object.
*/
cancelIdleCallback: (id: TTimerId) => void;
/**
* Get the number of waiting timers.
*

View File

@@ -59,10 +59,14 @@ const browserTimeout: number = browserClock.setTimeout(() => {}, 7);
const browserInterval: number = browserClock.setInterval(() => {}, 7);
const browserImmediate: number = browserClock.setImmediate(() => {});
const browserAnimationFrame: number = browserClock.requestAnimationFrame(() => {});
const browserIdleCallback: number = browserClock.requestIdleCallback(() => {});
const browserIdleCallbackWithTimeout: number = browserClock.requestIdleCallback(() => {}, 7);
const nodeTimeout: lolex.NodeTimer = nodeClock.setTimeout(() => {}, 7);
const nodeInterval: lolex.NodeTimer = nodeClock.setInterval(() => {}, 7);
const nodeImmediate: lolex.NodeTimer = nodeClock.setImmediate(() => {});
const nodeAnimationFrame: lolex.NodeTimer = nodeClock.requestAnimationFrame(() => {});
const nodeIdleCallback: lolex.NodeTimer = nodeClock.requestIdleCallback(() => {});
const nodeIdleCallbackWithTimeout: lolex.NodeTimer = nodeClock.requestIdleCallback(() => {}, 7);
nodeTimeout.ref();
nodeTimeout.unref();
@@ -71,11 +75,15 @@ browserClock.clearTimeout(browserTimeout);
browserClock.clearInterval(browserInterval);
browserClock.clearImmediate(browserImmediate);
browserClock.cancelAnimationFrame(browserAnimationFrame);
browserClock.cancelIdleCallback(browserIdleCallback);
browserClock.cancelIdleCallback(browserIdleCallbackWithTimeout);
nodeClock.clearTimeout(nodeTimeout);
nodeClock.clearInterval(nodeInterval);
nodeClock.clearImmediate(nodeImmediate);
nodeClock.cancelAnimationFrame(nodeAnimationFrame);
nodeClock.cancelIdleCallback(nodeIdleCallback);
nodeClock.cancelIdleCallback(nodeIdleCallbackWithTimeout);
browserClock.tick(7);
browserClock.tick("08");