]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
wip(vitest-migration): runtime-dom tests passing + use environmentMatchGlobs
authorEvan You <yyx990803@gmail.com>
Thu, 26 Jan 2023 13:35:50 +0000 (21:35 +0800)
committerEvan You <yyx990803@gmail.com>
Thu, 26 Jan 2023 13:35:50 +0000 (21:35 +0800)
14 files changed:
packages/runtime-dom/__tests__/customElement.spec.ts
packages/runtime-dom/__tests__/patchEvents.spec.ts
packages/vue-compat/__tests__/compiler.spec.ts
packages/vue-compat/__tests__/componentAsync.spec.ts
packages/vue-compat/__tests__/componentFunctional.spec.ts
packages/vue-compat/__tests__/componentVModel.spec.ts
packages/vue-compat/__tests__/filters.spec.ts
packages/vue-compat/__tests__/global.spec.ts
packages/vue-compat/__tests__/globalConfig.spec.ts
packages/vue-compat/__tests__/instance.spec.ts
packages/vue-compat/__tests__/misc.spec.ts
packages/vue-compat/__tests__/options.spec.ts
packages/vue-compat/__tests__/renderFn.spec.ts
vitest.config.ts

index 0e4cdb0ce58970c28df036d9f87acd95be8c6650..13f682c08eb7091364b9bea010e1d89e1dcc03fe 100644 (file)
@@ -367,11 +367,8 @@ describe('defineCustomElement', () => {
     })
 
     test('emit from within async component wrapper', async () => {
-      const E = defineCustomElement(
-        defineAsyncComponent(
-          () => new Promise<typeof CompDef>(res => res(CompDef as any))
-        )
-      )
+      const p = new Promise<typeof CompDef>(res => res(CompDef as any))
+      const E = defineCustomElement(defineAsyncComponent(() => p))
       customElements.define('my-async-el-emits', E)
       container.innerHTML = `<my-async-el-emits></my-async-el-emits>`
       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({
index 501f8183f6cb13cbb29e07c1a6494ab3b7d2c2df..044f385ba17c35ce1da27405ad1b0f11f49c240f 100644 (file)
@@ -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()
index cddd0453cbf756d50fec276bca9a9d8233f62f47..a82e460b59bcb48f66b775cbc04ac9a6bb425912 100644 (file)
@@ -1,6 +1,3 @@
-/**
- * @vitest-environment jsdom
- */
 import { vi } from 'vitest'
 import Vue from '@vue/compat'
 import { nextTick } from '@vue/runtime-core'
index b94ee670144f736d4efc191a4c06ae3fd4c6ec65..9e7316a6ce4c5e9d4556517790c8f40fc18f64e1 100644 (file)
@@ -1,6 +1,3 @@
-/**
- * @vitest-environment jsdom
- */
 import Vue from '@vue/compat'
 import {
   DeprecationTypes,
index aa4b9ae15f608ff24fa380b58d6cdd91d25497f0..8ee0b3cd96b36300ed7276c74ff1dc2dfe6638e4 100644 (file)
@@ -1,6 +1,3 @@
-/**
- * @vitest-environment jsdom
- */
 import Vue from '@vue/compat'
 import {
   DeprecationTypes,
index a314048c8ea7e592221935da1865fb4b6003a6d3..05043b018d206975e44020c4b1b78770ce4d3a4e 100644 (file)
@@ -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'
index 9c137be9917b6442bd221804e2ef6964938757c4..819ccc5d3efc6b7da1136ea29195f31cdf3cd86b 100644 (file)
@@ -1,6 +1,3 @@
-/**
- * @vitest-environment jsdom
- */
 import Vue from '@vue/compat'
 import { CompilerDeprecationTypes } from '../../compiler-core/src'
 import {
index c9d50a7186ccb7c9dd8aee831cd82e11059accbf..78753b9fa1b12cf07c8cfb2d378803af0d445556 100644 (file)
@@ -1,6 +1,3 @@
-/**
- * @vitest-environment jsdom
- */
 import { vi } from 'vitest'
 import Vue from '@vue/compat'
 import { effect, isReactive } from '@vue/reactivity'
index 0cb6e0e5066acbcbe1dd58d0aa4097af480e16df..2a3adddba389490871c15c390e334405a37273bc 100644 (file)
@@ -1,6 +1,3 @@
-/**
- * @vitest-environment jsdom
- */
 import { vi } from 'vitest'
 import Vue from '@vue/compat'
 import {
index 4db848b3f107faf827207dfbd627860282c34f91..04066fb403c2af05d62216411c94d72061ccd17b 100644 (file)
@@ -1,6 +1,3 @@
-/**
- * @vitest-environment jsdom
- */
 import { vi, Mock } from 'vitest'
 import Vue from '@vue/compat'
 import { Slots } from '../../runtime-core/src/componentSlots'
index 9dcd8fa4fe76ce78fd39e25342f446760f7f6d88..4bb7e384e1939160948fe97e4811420c705caadc 100644 (file)
@@ -1,6 +1,3 @@
-/**
- * @vitest-environment jsdom
- */
 import { vi } from 'vitest'
 import Vue from '@vue/compat'
 import { nextTick } from '../../runtime-core/src/scheduler'
index 65162b7a0345c28791039bbb192a38d7d54ed592..75b5a440d3c3fb1fd10db27dc304cd829ad2a7af 100644 (file)
@@ -1,6 +1,3 @@
-/**
- * @vitest-environment jsdom
- */
 import { vi } from 'vitest'
 import Vue from '@vue/compat'
 import { nextTick } from '../../runtime-core/src/scheduler'
index ef5caeaf52d124c57db6dee0131db3171c2bdb14..73876b4cf22d80050b158be7c41fe669f4b40fd0 100644 (file)
@@ -1,6 +1,3 @@
-/**
- * @vitest-environment jsdom
- */
 import { ShapeFlags } from '@vue/shared'
 import Vue from '@vue/compat'
 import { createComponentInstance } from '../../runtime-core/src/component'
index 422766c9d4d5392627bf3e9a8b6cfe3ac8f571ef..8ddd8e52c56d9345ab2aaee0adaeff0ec719c732 100644 (file)
@@ -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']]
   }
 })