UNPKG

@analogjs/vitest-angular

Version:

Vitest Builder for Angular

26 lines 4.59 kB
import { __decorate } from "tslib"; import { NgModule, provideZonelessChangeDetection } from '@angular/core'; import { ɵgetCleanupHook as getCleanupHook, getTestBed, } from '@angular/core/testing'; import { BrowserTestingModule, platformBrowserTesting, } from '@angular/platform-browser/testing'; import { afterEach, beforeEach } from 'vitest'; const ANGULAR_TESTBED_SETUP = Symbol.for('testbed-setup'); export function setupTestBed({ zoneless = true, providers = [], browserMode = false, } = {}) { beforeEach(getCleanupHook(false)); afterEach(getCleanupHook(true)); if (!globalThis[ANGULAR_TESTBED_SETUP]) { globalThis[ANGULAR_TESTBED_SETUP] = true; let ZonelessTestModule = class ZonelessTestModule { }; ZonelessTestModule = __decorate([ NgModule({ providers: zoneless ? [provideZonelessChangeDetection()] : [], }) ], ZonelessTestModule); getTestBed().initTestEnvironment([ BrowserTestingModule, ...(zoneless ? [ZonelessTestModule] : []), ...(providers || []), ], platformBrowserTesting(), browserMode ? { teardown: { destroyAfterEach: false } } : undefined); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtdGVzdGJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3ZpdGVzdC1hbmd1bGFyL3NldHVwLXRlc3RiZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsOEJBQThCLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUNMLGVBQWUsSUFBSSxjQUFjLEVBQ2pDLFVBQVUsR0FDWCxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsc0JBQXNCLEdBQ3ZCLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFL0MsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBUTFELE1BQU0sVUFBVSxZQUFZLENBQUMsRUFDM0IsUUFBUSxHQUFHLElBQUksRUFDZixTQUFTLEdBQUcsRUFBRSxFQUNkLFdBQVcsR0FBRyxLQUFLLE1BQ0ksRUFBRTtJQUN6QixVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRWhDLElBQUksQ0FBRSxVQUFrQixDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztRQUMvQyxVQUFrQixDQUFDLHFCQUFxQixDQUFDLEdBQUcsSUFBSSxDQUFDO1FBS2xELElBQU0sa0JBQWtCLEdBQXhCLE1BQU0sa0JBQWtCO1NBQUcsQ0FBQTtRQUFyQixrQkFBa0I7WUFIdkIsUUFBUSxDQUFDO2dCQUNSLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsOEJBQThCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2FBQzlELENBQUM7V0FDSSxrQkFBa0IsQ0FBRztRQUUzQixVQUFVLEVBQUUsQ0FBQyxtQkFBbUIsQ0FDOUI7WUFDRSxvQkFBb0I7WUFDcEIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDekMsR0FBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQWlCO1NBQ3RDLEVBQ0Qsc0JBQXNCLEVBQUUsRUFDeEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDcEUsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIHByb3ZpZGVab25lbGVzc0NoYW5nZURldGVjdGlvbiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgybVnZXRDbGVhbnVwSG9vayBhcyBnZXRDbGVhbnVwSG9vayxcbiAgZ2V0VGVzdEJlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7XG4gIEJyb3dzZXJUZXN0aW5nTW9kdWxlLFxuICBwbGF0Zm9ybUJyb3dzZXJUZXN0aW5nLFxufSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL3Rlc3RpbmcnO1xuaW1wb3J0IHsgYWZ0ZXJFYWNoLCBiZWZvcmVFYWNoIH0gZnJvbSAndml0ZXN0JztcblxuY29uc3QgQU5HVUxBUl9URVNUQkVEX1NFVFVQID0gU3ltYm9sLmZvcigndGVzdGJlZC1zZXR1cCcpO1xuXG50eXBlIFRlc3RCZWRTZXR1cE9wdGlvbnMgPSB7XG4gIHpvbmVsZXNzPzogYm9vbGVhbjtcbiAgcHJvdmlkZXJzPzogVHlwZTxhbnk+W107XG4gIGJyb3dzZXJNb2RlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cFRlc3RCZWQoe1xuICB6b25lbGVzcyA9IHRydWUsXG4gIHByb3ZpZGVycyA9IFtdLFxuICBicm93c2VyTW9kZSA9IGZhbHNlLFxufTogVGVzdEJlZFNldHVwT3B0aW9ucyA9IHt9KSB7XG4gIGJlZm9yZUVhY2goZ2V0Q2xlYW51cEhvb2soZmFsc2UpKTtcbiAgYWZ0ZXJFYWNoKGdldENsZWFudXBIb29rKHRydWUpKTtcblxuICBpZiAoIShnbG9iYWxUaGlzIGFzIGFueSlbQU5HVUxBUl9URVNUQkVEX1NFVFVQXSkge1xuICAgIChnbG9iYWxUaGlzIGFzIGFueSlbQU5HVUxBUl9URVNUQkVEX1NFVFVQXSA9IHRydWU7XG5cbiAgICBATmdNb2R1bGUoe1xuICAgICAgcHJvdmlkZXJzOiB6b25lbGVzcyA/IFtwcm92aWRlWm9uZWxlc3NDaGFuZ2VEZXRlY3Rpb24oKV0gOiBbXSxcbiAgICB9KVxuICAgIGNsYXNzIFpvbmVsZXNzVGVzdE1vZHVsZSB7fVxuXG4gICAgZ2V0VGVzdEJlZCgpLmluaXRUZXN0RW52aXJvbm1lbnQoXG4gICAgICBbXG4gICAgICAgIEJyb3dzZXJUZXN0aW5nTW9kdWxlLFxuICAgICAgICAuLi4oem9uZWxlc3MgPyBbWm9uZWxlc3NUZXN0TW9kdWxlXSA6IFtdKSxcbiAgICAgICAgLi4uKChwcm92aWRlcnMgfHwgW10pIGFzIFR5cGU8YW55PltdKSxcbiAgICAgIF0sXG4gICAgICBwbGF0Zm9ybUJyb3dzZXJUZXN0aW5nKCksXG4gICAgICBicm93c2VyTW9kZSA/IHsgdGVhcmRvd246IHsgZGVzdHJveUFmdGVyRWFjaDogZmFsc2UgfSB9IDogdW5kZWZpbmVkLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==