fix(compat): enum coercion warning (#3755)

This commit is contained in:
Cédric Exbrayat 2021-05-12 23:47:00 +02:00 committed by GitHub
parent 93ec52d74e
commit f01aadf2a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 9 deletions

View File

@ -51,7 +51,7 @@ export const enum DeprecationTypes {
CUSTOM_DIR = 'CUSTOM_DIR',
ATTR_FALSE_VALUE = 'ATTR_FALSE_VALUE',
ATTR_ENUMERATED_COERSION = 'ATTR_ENUMERATED_COERSION',
ATTR_ENUMERATED_COERCION = 'ATTR_ENUMERATED_COERCION',
TRANSITION_CLASSES = 'TRANSITION_CLASSES',
TRANSITION_GROUP_ROOT = 'TRANSITION_GROUP_ROOT',
@ -323,7 +323,7 @@ export const deprecationData: Record<DeprecationTypes, DeprecationData> = {
link: `https://v3.vuejs.org/guide/migration/attribute-coercion.html`
},
[DeprecationTypes.ATTR_ENUMERATED_COERSION]: {
[DeprecationTypes.ATTR_ENUMERATED_COERCION]: {
message: (name: string, value: any, coerced: string) =>
`Enumerated attribute "${name}" with v-bind value \`${value}\` will ` +
`${
@ -333,7 +333,7 @@ export const deprecationData: Record<DeprecationTypes, DeprecationData> = {
`If the usage is intended, ` +
`you can disable the compat behavior and suppress this warning with:` +
`\n\n configureCompat({ ${
DeprecationTypes.ATTR_ENUMERATED_COERSION
DeprecationTypes.ATTR_ENUMERATED_COERCION
}: false })\n`,
link: `https://v3.vuejs.org/guide/migration/attribute-coercion.html`
},

View File

@ -57,7 +57,7 @@ export function compatCoerceAttr(
if (
v2CocercedValue &&
compatUtils.softAssertCompatEnabled(
DeprecationTypes.ATTR_ENUMERATED_COERSION,
DeprecationTypes.ATTR_ENUMERATED_COERCION,
instance,
key,
value,

View File

@ -340,7 +340,7 @@ Features that start with `COMPILER_` are compiler-specific: if you are using the
| V_ON_KEYCODE_MODIFIER | ● | `v-on` no longer supports keyCode modifiers | [link](https://v3.vuejs.org/guide/migration/keycode-modifiers.html) |
| CUSTOM_DIR | ● | Custom directive hook names changed | [link](https://v3.vuejs.org/guide/migration/custom-directives.html) |
| ATTR_FALSE_VALUE | ● | No longer removes attribute if binding value is boolean `false` | [link](https://v3.vuejs.org/guide/migration/attribute-coercion.html) |
| ATTR_ENUMERATED_COERSION | ● | No longer special case enumerated attributes | [link](https://v3.vuejs.org/guide/migration/attribute-coercion.html) |
| ATTR_ENUMERATED_COERCION | ● | No longer special case enumerated attributes | [link](https://v3.vuejs.org/guide/migration/attribute-coercion.html) |
| TRANSITION_GROUP_ROOT | ● | `<transition-group>` no longer renders a root element by default | [link](https://v3.vuejs.org/guide/migration/transition-group.html) |
| COMPONENT_ASYNC | ● | Async component API changed (now requires `defineAsyncComponent`) | [link](https://v3.vuejs.org/guide/migration/async-components.html) |
| COMPONENT_FUNCTIONAL | ● | Functional component API changed (now must be plain functions) | [link](https://v3.vuejs.org/guide/migration/functional-components.html) |

View File

@ -205,7 +205,7 @@ test('ATTR_FALSE_VALUE', () => {
).toHaveBeenWarned()
})
test('ATTR_ENUMERATED_COERSION', () => {
test('ATTR_ENUMERATED_COERCION', () => {
const vm = new Vue({
template: `<div :draggable="null" :spellcheck="0" contenteditable="foo" />`
}).$mount()
@ -213,15 +213,15 @@ test('ATTR_ENUMERATED_COERSION', () => {
expect(vm.$el.getAttribute('spellcheck')).toBe('true')
expect(vm.$el.getAttribute('contenteditable')).toBe('true')
expect(
(deprecationData[DeprecationTypes.ATTR_ENUMERATED_COERSION]
(deprecationData[DeprecationTypes.ATTR_ENUMERATED_COERCION]
.message as Function)('draggable', null, 'false')
).toHaveBeenWarned()
expect(
(deprecationData[DeprecationTypes.ATTR_ENUMERATED_COERSION]
(deprecationData[DeprecationTypes.ATTR_ENUMERATED_COERCION]
.message as Function)('spellcheck', 0, 'true')
).toHaveBeenWarned()
expect(
(deprecationData[DeprecationTypes.ATTR_ENUMERATED_COERSION]
(deprecationData[DeprecationTypes.ATTR_ENUMERATED_COERCION]
.message as Function)('contenteditable', 'foo', 'true')
).toHaveBeenWarned()
})