From: Evan You Date: Thu, 26 Jan 2023 13:35:50 +0000 (+0800) Subject: wip(vitest-migration): runtime-dom tests passing + use environmentMatchGlobs X-Git-Tag: v3.2.46~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4ee0dad0fe47ff918c5201173a5cde8cb3778c64;p=thirdparty%2Fvuejs%2Fcore.git wip(vitest-migration): runtime-dom tests passing + use environmentMatchGlobs --- diff --git a/packages/runtime-dom/__tests__/customElement.spec.ts b/packages/runtime-dom/__tests__/customElement.spec.ts index 0e4cdb0ce5..13f682c08e 100644 --- a/packages/runtime-dom/__tests__/customElement.spec.ts +++ b/packages/runtime-dom/__tests__/customElement.spec.ts @@ -367,11 +367,8 @@ describe('defineCustomElement', () => { }) test('emit from within async component wrapper', async () => { - const E = defineCustomElement( - defineAsyncComponent( - () => new Promise(res => res(CompDef as any)) - ) - ) + const p = new Promise(res => res(CompDef as any)) + const E = defineCustomElement(defineAsyncComponent(() => p)) customElements.define('my-async-el-emits', E) container.innerHTML = `` const e = container.childNodes[0] as VueElement @@ -379,6 +376,8 @@ describe('defineCustomElement', () => { e.addEventListener('my-click', spy) // this feels brittle but seems necessary to reach the node in the DOM. await customElements.whenDefined('my-async-el-emits') + await nextTick() + await nextTick() e.shadowRoot!.childNodes[0].dispatchEvent(new CustomEvent('click')) expect(spy).toHaveBeenCalled() expect(spy.mock.calls[0][0]).toMatchObject({ @@ -398,6 +397,8 @@ describe('defineCustomElement', () => { const spy = vi.fn() e.addEventListener('my-click', spy) await customElements.whenDefined('my-async-el-props-emits') + await nextTick() + await nextTick() e.shadowRoot!.childNodes[0].dispatchEvent(new CustomEvent('click')) expect(spy).toHaveBeenCalled() expect(spy.mock.calls[0][0]).toMatchObject({ diff --git a/packages/runtime-dom/__tests__/patchEvents.spec.ts b/packages/runtime-dom/__tests__/patchEvents.spec.ts index 501f8183f6..044f385ba1 100644 --- a/packages/runtime-dom/__tests__/patchEvents.spec.ts +++ b/packages/runtime-dom/__tests__/patchEvents.spec.ts @@ -85,15 +85,14 @@ describe(`runtime-dom: events patching`, () => { const el = document.createElement('div') // string should be set as attribute - const fn = ((window as any).__globalSpy = vi.fn()) - patchProp(el, 'onclick', null, '__globalSpy(1)') + const fn = ((el as any).spy = vi.fn()) + patchProp(el, 'onclick', null, 'this.spy(1)') el.dispatchEvent(new Event('click')) await timeout() - delete (window as any).__globalSpy expect(fn).toHaveBeenCalledWith(1) const fn2 = vi.fn() - patchProp(el, 'onclick', '__globalSpy(1)', fn2) + patchProp(el, 'onclick', 'this.spy(1)', fn2) const event = new Event('click') el.dispatchEvent(event) await timeout() diff --git a/packages/vue-compat/__tests__/compiler.spec.ts b/packages/vue-compat/__tests__/compiler.spec.ts index cddd0453cb..a82e460b59 100644 --- a/packages/vue-compat/__tests__/compiler.spec.ts +++ b/packages/vue-compat/__tests__/compiler.spec.ts @@ -1,6 +1,3 @@ -/** - * @vitest-environment jsdom - */ import { vi } from 'vitest' import Vue from '@vue/compat' import { nextTick } from '@vue/runtime-core' diff --git a/packages/vue-compat/__tests__/componentAsync.spec.ts b/packages/vue-compat/__tests__/componentAsync.spec.ts index b94ee67014..9e7316a6ce 100644 --- a/packages/vue-compat/__tests__/componentAsync.spec.ts +++ b/packages/vue-compat/__tests__/componentAsync.spec.ts @@ -1,6 +1,3 @@ -/** - * @vitest-environment jsdom - */ import Vue from '@vue/compat' import { DeprecationTypes, diff --git a/packages/vue-compat/__tests__/componentFunctional.spec.ts b/packages/vue-compat/__tests__/componentFunctional.spec.ts index aa4b9ae15f..8ee0b3cd96 100644 --- a/packages/vue-compat/__tests__/componentFunctional.spec.ts +++ b/packages/vue-compat/__tests__/componentFunctional.spec.ts @@ -1,6 +1,3 @@ -/** - * @vitest-environment jsdom - */ import Vue from '@vue/compat' import { DeprecationTypes, diff --git a/packages/vue-compat/__tests__/componentVModel.spec.ts b/packages/vue-compat/__tests__/componentVModel.spec.ts index a314048c8e..05043b018d 100644 --- a/packages/vue-compat/__tests__/componentVModel.spec.ts +++ b/packages/vue-compat/__tests__/componentVModel.spec.ts @@ -1,6 +1,3 @@ -/** - * @vitest-environment jsdom - */ import Vue from '@vue/compat' import { ComponentOptions } from '../../runtime-core/src/component' import { nextTick } from '../../runtime-core/src/scheduler' diff --git a/packages/vue-compat/__tests__/filters.spec.ts b/packages/vue-compat/__tests__/filters.spec.ts index 9c137be991..819ccc5d3e 100644 --- a/packages/vue-compat/__tests__/filters.spec.ts +++ b/packages/vue-compat/__tests__/filters.spec.ts @@ -1,6 +1,3 @@ -/** - * @vitest-environment jsdom - */ import Vue from '@vue/compat' import { CompilerDeprecationTypes } from '../../compiler-core/src' import { diff --git a/packages/vue-compat/__tests__/global.spec.ts b/packages/vue-compat/__tests__/global.spec.ts index c9d50a7186..78753b9fa1 100644 --- a/packages/vue-compat/__tests__/global.spec.ts +++ b/packages/vue-compat/__tests__/global.spec.ts @@ -1,6 +1,3 @@ -/** - * @vitest-environment jsdom - */ import { vi } from 'vitest' import Vue from '@vue/compat' import { effect, isReactive } from '@vue/reactivity' diff --git a/packages/vue-compat/__tests__/globalConfig.spec.ts b/packages/vue-compat/__tests__/globalConfig.spec.ts index 0cb6e0e506..2a3adddba3 100644 --- a/packages/vue-compat/__tests__/globalConfig.spec.ts +++ b/packages/vue-compat/__tests__/globalConfig.spec.ts @@ -1,6 +1,3 @@ -/** - * @vitest-environment jsdom - */ import { vi } from 'vitest' import Vue from '@vue/compat' import { diff --git a/packages/vue-compat/__tests__/instance.spec.ts b/packages/vue-compat/__tests__/instance.spec.ts index 4db848b3f1..04066fb403 100644 --- a/packages/vue-compat/__tests__/instance.spec.ts +++ b/packages/vue-compat/__tests__/instance.spec.ts @@ -1,6 +1,3 @@ -/** - * @vitest-environment jsdom - */ import { vi, Mock } from 'vitest' import Vue from '@vue/compat' import { Slots } from '../../runtime-core/src/componentSlots' diff --git a/packages/vue-compat/__tests__/misc.spec.ts b/packages/vue-compat/__tests__/misc.spec.ts index 9dcd8fa4fe..4bb7e384e1 100644 --- a/packages/vue-compat/__tests__/misc.spec.ts +++ b/packages/vue-compat/__tests__/misc.spec.ts @@ -1,6 +1,3 @@ -/** - * @vitest-environment jsdom - */ import { vi } from 'vitest' import Vue from '@vue/compat' import { nextTick } from '../../runtime-core/src/scheduler' diff --git a/packages/vue-compat/__tests__/options.spec.ts b/packages/vue-compat/__tests__/options.spec.ts index 65162b7a03..75b5a440d3 100644 --- a/packages/vue-compat/__tests__/options.spec.ts +++ b/packages/vue-compat/__tests__/options.spec.ts @@ -1,6 +1,3 @@ -/** - * @vitest-environment jsdom - */ import { vi } from 'vitest' import Vue from '@vue/compat' import { nextTick } from '../../runtime-core/src/scheduler' diff --git a/packages/vue-compat/__tests__/renderFn.spec.ts b/packages/vue-compat/__tests__/renderFn.spec.ts index ef5caeaf52..73876b4cf2 100644 --- a/packages/vue-compat/__tests__/renderFn.spec.ts +++ b/packages/vue-compat/__tests__/renderFn.spec.ts @@ -1,6 +1,3 @@ -/** - * @vitest-environment jsdom - */ import { ShapeFlags } from '@vue/shared' import Vue from '@vue/compat' import { createComponentInstance } from '../../runtime-core/src/component' diff --git a/vitest.config.ts b/vitest.config.ts index 422766c9d4..8ddd8e52c5 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -42,6 +42,7 @@ export default defineConfig({ }, test: { globals: true, - setupFiles: 'scripts/setupVitest.ts' + setupFiles: 'scripts/setupVitest.ts', + environmentMatchGlobs: [['packages/{vue-compat,runtime-dom}/**', 'jsdom']] } })