if (key === 'class') {
// classes might be in different order, but that doesn't affect cascade
// so we just need to check if the class lists contain the same classes.
- actual = toClassSet(el.getAttribute('class') || '')
- expected = toClassSet(normalizeClass(clientValue))
- if (!isSetEqual(actual, expected)) {
+ actual = el.getAttribute('class')
+ expected = normalizeClass(clientValue)
+ if (!isSetEqual(toClassSet(actual || ''), toClassSet(expected))) {
mismatchType = mismatchKey = `class`
}
} else if (key === 'style') {
// style might be in different order, but that doesn't affect cascade
- actual = toStyleMap(el.getAttribute('style') || '')
- expected = toStyleMap(
- isString(clientValue)
- ? clientValue
- : stringifyStyle(normalizeStyle(clientValue)),
- )
+ actual = el.getAttribute('style')
+ expected = isString(clientValue)
+ ? clientValue
+ : stringifyStyle(normalizeStyle(clientValue))
+ const actualMap = toStyleMap(actual)
+ const expectedMap = toStyleMap(expected)
// If `v-show=false`, `display: 'none'` should be added to expected
if (vnode.dirs) {
for (const { dir, value } of vnode.dirs) {
// @ts-expect-error only vShow has this internal name
if (dir.name === 'show' && !value) {
- expected.set('display', 'none')
+ expectedMap.set('display', 'none')
}
}
}
- if (!isMapEqual(actual, expected)) {
+ if (!isMapEqual(actualMap, expectedMap)) {
mismatchType = mismatchKey = 'style'
}
} else if (