@gameye/sdk
Version:
Node.js SDK for Gameye
72 lines • 3.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const test = require("blue-tape");
const stream_1 = require("stream");
const stream_utils_1 = require("./stream-utils");
test("with-timeout", async (t) => {
{
const resolvedPromise = Promise.resolve("a");
t.equal(await stream_utils_1.withTimeout(resolvedPromise), "a");
}
{
const pendingPromise = new Promise(resolve => 0);
t.equal(await stream_utils_1.withTimeout(pendingPromise), stream_utils_1.timeoutToken);
}
{
const rejectedPromise = Promise.reject("a");
try {
await stream_utils_1.withTimeout(rejectedPromise);
t.fail();
}
catch (error) {
t.equal(error, "a");
}
}
});
test("read-all", async (t) => {
const pass = new stream_1.PassThrough();
const promise = stream_utils_1.readAll(pass);
t.equal(await stream_utils_1.withTimeout(promise), stream_utils_1.timeoutToken);
pass.write("a");
t.equal(await stream_utils_1.withTimeout(promise), stream_utils_1.timeoutToken);
pass.end("b");
t.equal(await stream_utils_1.withTimeout(promise), "ab");
});
test("streamify data event", async (t) => {
const pass = new stream_1.PassThrough({ objectMode: true });
const streamPromise = Promise.resolve(pass);
const stream = stream_utils_1.streamify(streamPromise);
const dataPromise = new Promise(resolve => stream.once("data", resolve));
pass.write("a");
t.equal(await dataPromise, "a");
});
test("streamify end event", async (t) => {
const pass = new stream_1.PassThrough({ objectMode: true });
const streamPromise = Promise.resolve(pass);
const stream = stream_utils_1.streamify(streamPromise);
const dataPromise = new Promise(resolve => stream.once("data", resolve));
pass.write("data");
await dataPromise;
const endPromise = new Promise(resolve => stream.once("end", resolve));
pass.end();
t.notEqual(await stream_utils_1.withTimeout(endPromise), stream_utils_1.timeoutToken);
});
test("streamify close event", async (t) => {
const pass = new stream_1.PassThrough({ objectMode: true });
const streamPromise = Promise.resolve(pass);
const stream = stream_utils_1.streamify(streamPromise);
t.notEqual(await stream_utils_1.withTimeout(streamPromise), stream_utils_1.timeoutToken);
const closePromise = new Promise(resolve => stream.once("close", resolve));
pass.destroy();
t.notEqual(await stream_utils_1.withTimeout(closePromise), stream_utils_1.timeoutToken);
});
test("streamify error event", async (t) => {
const pass = new stream_1.PassThrough({ objectMode: true });
const streamPromise = Promise.resolve(pass);
const stream = stream_utils_1.streamify(streamPromise);
t.notEqual(await stream_utils_1.withTimeout(streamPromise), stream_utils_1.timeoutToken);
const errorPromise = new Promise(resolve => stream.once("error", resolve));
pass.emit("error", "a");
t.equal(await stream_utils_1.withTimeout(errorPromise), "a");
});
//# sourceMappingURL=stream-utils.spec.js.map