From: zhoulixiang <18366276315@163.com>
Date: Mon, 8 Jan 2024 08:36:27 +0000 (+0800)
Subject: fix(hydration): avoid hydration mismatch warning for styles with different order...
X-Git-Tag: v3.4.6~7
X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2701355e8eb07ab664e398d9fc05d6c4e2e9b20e;p=thirdparty%2Fvuejs%2Fcore.git
fix(hydration): avoid hydration mismatch warning for styles with different order (#10011)
close #10000
close #10006
---
diff --git a/packages/runtime-core/__tests__/hydration.spec.ts b/packages/runtime-core/__tests__/hydration.spec.ts
index 303db51cb4..0d7df43f6a 100644
--- a/packages/runtime-core/__tests__/hydration.spec.ts
+++ b/packages/runtime-core/__tests__/hydration.spec.ts
@@ -1431,11 +1431,35 @@ describe('SSR hydration', () => {
mountWithHydration(`
`, () =>
h('div', { style: `color:red;` }),
)
+ mountWithHydration(
+ ``,
+ () => h('div', { style: `font-size: 12px; color:red;` }),
+ )
+ mountWithHydration(``, () =>
+ withDirectives(createVNode('div', { style: 'color: red' }, ''), [
+ [vShow, false],
+ ]),
+ )
expect(`Hydration style mismatch`).not.toHaveBeenWarned()
mountWithHydration(``, () =>
h('div', { style: { color: 'green' } }),
)
- expect(`Hydration style mismatch`).toHaveBeenWarned()
+ expect(`Hydration style mismatch`).toHaveBeenWarnedTimes(1)
+ })
+
+ test('style mismatch w/ v-show', () => {
+ mountWithHydration(``, () =>
+ withDirectives(createVNode('div', { style: 'color: red' }, ''), [
+ [vShow, false],
+ ]),
+ )
+ expect(`Hydration style mismatch`).not.toHaveBeenWarned()
+ mountWithHydration(``, () =>
+ withDirectives(createVNode('div', { style: 'color: red' }, ''), [
+ [vShow, false],
+ ]),
+ )
+ expect(`Hydration style mismatch`).toHaveBeenWarnedTimes(1)
})
test('attr mismatch', () => {
@@ -1451,6 +1475,12 @@ describe('SSR hydration', () => {
mountWithHydration(`