mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-31 12:47:43 +00:00
49 lines
No EOL
994 B
JavaScript
49 lines
No EOL
994 B
JavaScript
import { assert } from 'chai';
|
|
|
|
import { ManagedPromise } from '@keymanapp/web-utils';
|
|
|
|
describe("ManagedPromise", () => {
|
|
it('<void> resolution', async () => {
|
|
let promise = new ManagedPromise();
|
|
|
|
promise.resolve();
|
|
|
|
await promise.corePromise;
|
|
});
|
|
|
|
it('<string> resolution', async () => {
|
|
let promise = new ManagedPromise();
|
|
|
|
promise.resolve("foobar");
|
|
|
|
let text = await promise.corePromise;
|
|
|
|
assert.equal(text, "foobar");
|
|
});
|
|
|
|
it('rejection', async () => {
|
|
let promise = new ManagedPromise();
|
|
|
|
promise.reject(new Error("foobar"));
|
|
|
|
try {
|
|
await promise.corePromise;
|
|
assert.fail();
|
|
} catch (err) {
|
|
assert.equal(err.message, "foobar");
|
|
}
|
|
});
|
|
|
|
it('then()', async () => {
|
|
let promise = new ManagedPromise();
|
|
|
|
let thenPromise = promise.then((val) => {
|
|
return {text: val + "bar"}
|
|
});
|
|
|
|
promise.resolve("foo");
|
|
let val = await thenPromise;
|
|
|
|
assert.deepEqual(val, {text: "foobar"});
|
|
});
|
|
}); |