Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/vitest-dev/vscode. VS Code extension for Vitest vitest.dev/vscode
testing vitest vscode
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344import { describe, expect, it } from 'vitest';
(Symbol as any).dispose ??= Symbol('Symbol.dispose');(Symbol as any).asyncDispose ??= Symbol('Symbol.asyncDispose')
describe('using keyword', () => { it('dispose', () => { function getDisposableResource() { using resource = new SomeDisposableResource() return resource }
const resource = getDisposableResource() expect(resource.isDisposed).toBe(true) })
it('asyncDispose', async () => { async function getAsyncDisposableResource() { await using resource = new SomeAsyncDisposableResource() return resource }
const resource = await getAsyncDisposableResource() expect(resource.isDisposed).toBe(true) })})
class SomeDisposableResource implements Disposable { public isDisposed = false;
[Symbol.dispose](): void { this.isDisposed = true }}
class SomeAsyncDisposableResource implements AsyncDisposable { public isDisposed = false
async [Symbol.asyncDispose](): Promise<void> { await new Promise<void>(resolve => setTimeout(resolve, 0)) this.isDisposed = true }}