Skip to content

Commit

Permalink
fix(compiler-core): relax error on unknown entities
Browse files Browse the repository at this point in the history
close #663
  • Loading branch information
yyx990803 committed Jan 29, 2020
1 parent 93eba43 commit 730d329
Show file tree
Hide file tree
Showing 4 changed files with 3 additions and 86 deletions.
69 changes: 0 additions & 69 deletions packages/compiler-core/__tests__/__snapshots__/parse.spec.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -6956,75 +6956,6 @@ Object {
}
`;
exports[`compiler: parse Errors UNKNOWN_NAMED_CHARACTER_REFERENCE <template>&unknown;</template> 1`] = `
Object {
"cached": 0,
"children": Array [
Object {
"children": Array [
Object {
"content": "&unknown;",
"loc": Object {
"end": Object {
"column": 20,
"line": 1,
"offset": 19,
},
"source": "&unknown;",
"start": Object {
"column": 11,
"line": 1,
"offset": 10,
},
},
"type": 2,
},
],
"codegenNode": undefined,
"isSelfClosing": false,
"loc": Object {
"end": Object {
"column": 31,
"line": 1,
"offset": 30,
},
"source": "<template>&unknown;</template>",
"start": Object {
"column": 1,
"line": 1,
"offset": 0,
},
},
"ns": 0,
"props": Array [],
"tag": "template",
"tagType": 3,
"type": 1,
},
],
"codegenNode": undefined,
"components": Array [],
"directives": Array [],
"helpers": Array [],
"hoists": Array [],
"imports": Array [],
"loc": Object {
"end": Object {
"column": 31,
"line": 1,
"offset": 30,
},
"source": "<template>&unknown;</template>",
"start": Object {
"column": 1,
"line": 1,
"offset": 0,
},
},
"type": 0,
}
`;
exports[`compiler: parse Errors X_INVALID_END_TAG <svg><![CDATA[</div>]]></svg> 1`] = `
Object {
"cached": 0,
Expand Down
11 changes: 0 additions & 11 deletions packages/compiler-core/__tests__/parse.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2594,17 +2594,6 @@ foo
]
}
],
UNKNOWN_NAMED_CHARACTER_REFERENCE: [
{
code: '<template>&unknown;</template>',
errors: [
{
type: ErrorCodes.UNKNOWN_NAMED_CHARACTER_REFERENCE,
loc: { offset: 10, line: 1, column: 11 }
}
]
}
],
X_INVALID_END_TAG: [
{
code: '<template></div></template>',
Expand Down
2 changes: 0 additions & 2 deletions packages/compiler-core/src/errors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ export const enum ErrorCodes {
UNEXPECTED_NULL_CHARACTER,
UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME,
UNEXPECTED_SOLIDUS_IN_TAG,
UNKNOWN_NAMED_CHARACTER_REFERENCE,

// Vue-specific parse errors
X_INVALID_END_TAG,
Expand Down Expand Up @@ -141,7 +140,6 @@ export const errorMessages: { [code: number]: string } = {
[ErrorCodes.UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME]:
"'<?' is allowed only in XML context.",
[ErrorCodes.UNEXPECTED_SOLIDUS_IN_TAG]: "Illegal '/' in tags.",
[ErrorCodes.UNKNOWN_NAMED_CHARACTER_REFERENCE]: 'Unknown entity name.',

// Vue-specific parse errors
[ErrorCodes.X_INVALID_END_TAG]: 'Invalid end tag.',
Expand Down
7 changes: 3 additions & 4 deletions packages/compiler-core/src/parse.ts
Original file line number Diff line number Diff line change
Expand Up @@ -820,8 +820,8 @@ function parseTextData(

if (head[0] === '&') {
// Named character reference.
let name = '',
value: string | undefined = undefined
let name = ''
let value: string | undefined = undefined
if (/[0-9a-z]/i.test(rawText[1])) {
for (
let length = context.options.maxCRNameLength;
Expand All @@ -836,7 +836,7 @@ function parseTextData(
if (
mode === TextModes.ATTRIBUTE_VALUE &&
!semi &&
/[=a-z0-9]/i.test(rawText[1 + name.length] || '')
/[=a-z0-9]/i.test(rawText[name.length + 1] || '')
) {
decodedText += '&' + name
advance(1 + name.length)
Expand All @@ -851,7 +851,6 @@ function parseTextData(
}
}
} else {
emitError(context, ErrorCodes.UNKNOWN_NAMED_CHARACTER_REFERENCE)
decodedText += '&' + name
advance(1 + name.length)
}
Expand Down

0 comments on commit 730d329

Please sign in to comment.