From: Rizumu Ayaka Date: Sat, 25 Nov 2023 09:05:00 +0000 (+0800) Subject: test: v-once as root node (#2) X-Git-Tag: v3.6.0-alpha.1~16^2~815 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9b2a6ffe7043c63e64b10995fedb6cce9e208fba;p=thirdparty%2Fvuejs%2Fcore.git test: v-once as root node (#2) --- diff --git a/packages/compiler-vapor/__tests__/__snapshots__/compile.test.ts.snap b/packages/compiler-vapor/__tests__/__snapshots__/compile.test.ts.snap index bba5cbb222..43bd84de08 100644 --- a/packages/compiler-vapor/__tests__/__snapshots__/compile.test.ts.snap +++ b/packages/compiler-vapor/__tests__/__snapshots__/compile.test.ts.snap @@ -75,7 +75,21 @@ export function render() { " `; -exports[`comile > directives > v-once 1`] = ` +exports[`comile > directives > v-once > as root node 1`] = ` +"import { watchEffect } from 'vue'; +import { template, setAttr } from 'vue/vapor'; +const t0 = template(\`
\`); +export function render() { + const n0 = t0(); + watchEffect(() => { + setAttr(n0, 'id', undefined, foo); + }); + return n0; +} +" +`; + +exports[`comile > directives > v-once > basic 1`] = ` "import { template, children, insert, setText, setAttr } from 'vue/vapor'; const t0 = template(\`
\`); export function render() { diff --git a/packages/compiler-vapor/__tests__/compile.test.ts b/packages/compiler-vapor/__tests__/compile.test.ts index 8007911465..2c1eacca5c 100644 --- a/packages/compiler-vapor/__tests__/compile.test.ts +++ b/packages/compiler-vapor/__tests__/compile.test.ts @@ -92,20 +92,28 @@ describe('comile', () => { }) }) - test('v-once', async () => { - const code = await compile( - `
+ describe('v-once', () => { + test('basic', async () => { + const code = await compile( + `
{{ msg }}
`, - { - bindingMetadata: { - msg: BindingTypes.SETUP_REF, - clz: BindingTypes.SETUP_REF, + { + bindingMetadata: { + msg: BindingTypes.SETUP_REF, + clz: BindingTypes.SETUP_REF, + }, }, - }, - ) - expect(code).matchSnapshot() + ) + expect(code).matchSnapshot() + }) + + test.fails('as root node', async () => { + const code = await compile(`
`) + expect(code).toMatchSnapshot() + expect(code).not.contains('watchEffect') + }) }) }) })