Files
owl/tests/helpers.ts
T
2019-05-27 11:49:09 +02:00

56 lines
1.2 KiB
TypeScript

import { Env } from "../src/component";
import { QWeb, UTILS } from "../src/qweb_core";
import "../src/qweb_directives";
import "../src/qweb_extensions";
export function nextMicroTick(): Promise<void> {
return Promise.resolve();
}
export function nextTick(): Promise<void> {
return new Promise(resolve => setTimeout(resolve));
}
export function makeTestFixture() {
let fixture = document.createElement("div");
document.body.appendChild(fixture);
return fixture;
}
export function normalize(str: string): string {
return str.replace(/\s+/g, "");
}
interface Deferred extends Promise<any> {
resolve(val?: any): void;
reject(): void;
}
export function makeDeferred(): Deferred {
let resolve, reject;
let def = new Promise((_resolve, _reject) => {
resolve = _resolve;
reject = _reject;
});
(<Deferred>def).resolve = resolve;
(<Deferred>def).reject = reject;
return <Deferred>def;
}
export function makeTestEnv(): Env {
return {
qweb: new QWeb()
};
}
let nextFrame = UTILS.nextFrame;
export function patchNextFrame(f: Function): void {
UTILS.nextFrame = (cb: () => void) => {
setTimeout(() => f(cb));
};
}
export function unpatchNextFrame(): void {
UTILS.nextFrame = nextFrame;
}