From 4e87195739f2a5d9a05451b48773c8afdc680765 Mon Sep 17 00:00:00 2001 From: akiyamn Date: Sun, 24 Sep 2023 23:22:21 +1000 Subject: Initial commit (by create-cloudflare CLI) --- .../blake3-wasm/esm/base/disposable.test.js | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 node_modules/blake3-wasm/esm/base/disposable.test.js (limited to 'node_modules/blake3-wasm/esm/base/disposable.test.js') diff --git a/node_modules/blake3-wasm/esm/base/disposable.test.js b/node_modules/blake3-wasm/esm/base/disposable.test.js new file mode 100644 index 0000000..94175ba --- /dev/null +++ b/node_modules/blake3-wasm/esm/base/disposable.test.js @@ -0,0 +1,68 @@ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +import { using } from '../node.js'; +import { expect } from 'chai.js'; +describe('disposable', () => { + describe('using', () => { + let disposed; + let disposable; + beforeEach(() => { + disposed = false; + disposable = { dispose: () => (disposed = true) }; + }); + it('disposes after sync call', () => { + const v = using(disposable, d => { + expect(d).to.equal(disposable); + expect(disposed).to.be.false; + return 42; + }); + expect(v).to.equal(42); + expect(disposed).to.be.true; + }); + it('disposes after sync throw', () => { + const err = new Error(); + try { + using(disposable, () => { + throw err; + }); + throw new Error('expected to throw'); + } + catch (e) { + expect(e).to.equal(err); + } + expect(disposed).to.be.true; + }); + it('disposes after promise resolve', () => __awaiter(void 0, void 0, void 0, function* () { + const v = yield using(disposable, () => __awaiter(void 0, void 0, void 0, function* () { + yield Promise.resolve(); + expect(disposed).to.be.false; + return 42; + })); + expect(v).to.equal(42); + expect(disposed).to.be.true; + })); + it('disposes after promise reject', () => __awaiter(void 0, void 0, void 0, function* () { + const err = new Error(); + try { + yield using(disposable, () => __awaiter(void 0, void 0, void 0, function* () { + yield Promise.resolve(); + expect(disposed).to.be.false; + throw err; + })); + throw new Error('expected to throw'); + } + catch (e) { + expect(e).to.equal(err); + } + expect(disposed).to.be.true; + })); + }); +}); +//# sourceMappingURL=disposable.test.js.map \ No newline at end of file -- cgit v1.2.3