diff --git a/packages/compiler-dom/__tests__/transforms/__snapshots__/vModel.spec.ts.snap b/packages/compiler-dom/__tests__/transforms/__snapshots__/vModel.spec.ts.snap index d2c9aaa785f..039d259b564 100644 --- a/packages/compiler-dom/__tests__/transforms/__snapshots__/vModel.spec.ts.snap +++ b/packages/compiler-dom/__tests__/transforms/__snapshots__/vModel.spec.ts.snap @@ -127,6 +127,38 @@ return function render(_ctx, _cache) { }" `; +exports[`compiler: transform v-model > simple expression for details 1`] = ` +"const _Vue = Vue + +return function render(_ctx, _cache) { + with (_ctx) { + const { vModelDetails: _vModelDetails, withDirectives: _withDirectives, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue + + return _withDirectives((_openBlock(), _createElementBlock(\\"details\\", { + \\"onUpdate:modelValue\\": $event => ((model) = $event) + }, null, 8 /* PROPS */, [\\"onUpdate:modelValue\\"])), [ + [_vModelDetails, model] + ]) + } +}" +`; + +exports[`compiler: transform v-model > simple expression for dialog 1`] = ` +"const _Vue = Vue + +return function render(_ctx, _cache) { + with (_ctx) { + const { vModelDialog: _vModelDialog, withDirectives: _withDirectives, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue + + return _withDirectives((_openBlock(), _createElementBlock(\\"dialog\\", { + \\"onUpdate:modelValue\\": $event => ((model) = $event) + }, null, 8 /* PROPS */, [\\"onUpdate:modelValue\\"])), [ + [_vModelDialog, model] + ]) + } +}" +`; + exports[`compiler: transform v-model > simple expression for input (checkbox) 1`] = ` "const _Vue = Vue diff --git a/packages/compiler-dom/__tests__/transforms/vModel.spec.ts b/packages/compiler-dom/__tests__/transforms/vModel.spec.ts index dce8f09b02c..2e43546bc89 100644 --- a/packages/compiler-dom/__tests__/transforms/vModel.spec.ts +++ b/packages/compiler-dom/__tests__/transforms/vModel.spec.ts @@ -9,6 +9,8 @@ import { transformElement } from '../../../compiler-core/src/transforms/transfor import { DOMErrorCodes } from '../../src/errors' import { V_MODEL_CHECKBOX, + V_MODEL_DETAILS, + V_MODEL_DIALOG, V_MODEL_DYNAMIC, V_MODEL_RADIO, V_MODEL_SELECT, @@ -83,6 +85,20 @@ describe('compiler: transform v-model', () => { expect(generate(root).code).toMatchSnapshot() }) + test('simple expression for details', () => { + const root = transformWithModel('
') + + expect(root.helpers).toContain(V_MODEL_DETAILS) + expect(generate(root).code).toMatchSnapshot() + }) + + test('simple expression for dialog', () => { + const root = transformWithModel('') + + expect(root.helpers).toContain(V_MODEL_DIALOG) + expect(generate(root).code).toMatchSnapshot() + }) + test('simple expression for textarea', () => { const root = transformWithModel('