From 8d2b7a1056a58202506dcaf9858dccba351a4cee Mon Sep 17 00:00:00 2001 From: HcySunYang Date: Tue, 19 Jan 2021 11:46:49 +0800 Subject: [PATCH] fix(compiler-sfc): the empty lang attribute should be treated as no lang specified --- packages/compiler-sfc/__tests__/parse.spec.ts | 9 +++++++++ packages/compiler-sfc/src/parse.ts | 1 + 2 files changed, 10 insertions(+) diff --git a/packages/compiler-sfc/__tests__/parse.spec.ts b/packages/compiler-sfc/__tests__/parse.spec.ts index dc25c848c41..aa4b5b48be5 100644 --- a/packages/compiler-sfc/__tests__/parse.spec.ts +++ b/packages/compiler-sfc/__tests__/parse.spec.ts @@ -139,6 +139,15 @@ h1 { color: red } expect(descriptor.template!.content).toBe(content) }) + test('treat empty lang attribute as the html', () => { + const content = `
` + const { descriptor, errors } = parse( + `` + ) + expect(descriptor.template!.content).toBe(content) + expect(errors.length).toBe(0) + }) + // #1120 test('alternative template lang should be treated as plain text', () => { const content = `p(v-if="1 < 2") test` diff --git a/packages/compiler-sfc/src/parse.ts b/packages/compiler-sfc/src/parse.ts index ac3456e645b..303babe18f0 100644 --- a/packages/compiler-sfc/src/parse.ts +++ b/packages/compiler-sfc/src/parse.ts @@ -121,6 +121,7 @@ export function parse( p.type === NodeTypes.ATTRIBUTE && p.name === 'lang' && p.value && + p.value.content && p.value.content !== 'html' )) ) {