+ {{ world.burn() }}
yes
no
{{ value + index }}
@@ -55,7 +55,6 @@ describe('compiler: integration tests', () => {
)
expect(code).toMatchSnapshot()
- expect(map).toMatchSnapshot()
expect(map!.sources).toEqual([`foo.vue`])
expect(map!.sourcesContent).toEqual([source])
@@ -77,9 +76,21 @@ describe('compiler: integration tests', () => {
consumer.originalPositionFor(getPositionInCode(code, `bar`))
).toMatchObject(getPositionInCode(source, `bar`))
+ // without prefixIdentifiers: true, identifiers inside compound expressions
+ // are mapped to closest parent expression.
+ expect(
+ consumer.originalPositionFor(getPositionInCode(code, `baz`))
+ ).toMatchObject(getPositionInCode(source, `bar`))
+
expect(
consumer.originalPositionFor(getPositionInCode(code, `world`))
- ).toMatchObject(getPositionInCode(source, `{{ world }}`))
+ ).toMatchObject(getPositionInCode(source, `world`))
+
+ // without prefixIdentifiers: true, identifiers inside compound expressions
+ // are mapped to closest parent expression.
+ expect(
+ consumer.originalPositionFor(getPositionInCode(code, `burn()`))
+ ).toMatchObject(getPositionInCode(source, `world`))
expect(
consumer.originalPositionFor(getPositionInCode(code, `ok`))
@@ -99,7 +110,7 @@ describe('compiler: integration tests', () => {
expect(
consumer.originalPositionFor(getPositionInCode(code, `value + index`))
- ).toMatchObject(getPositionInCode(source, `{{ value + index }}`))
+ ).toMatchObject(getPositionInCode(source, `value + index`))
})
test('function mode w/ prefixIdentifiers: true', async () => {
@@ -112,7 +123,6 @@ describe('compiler: integration tests', () => {
expect(code).toMatch(`const { createVNode, toString, renderList } = Vue`)
expect(code).toMatchSnapshot()
- expect(map).toMatchSnapshot()
expect(map!.sources).toEqual([`foo.vue`])
expect(map!.sourcesContent).toEqual([source])
@@ -136,15 +146,22 @@ describe('compiler: integration tests', () => {
expect(
consumer.originalPositionFor(getPositionInCode(code, `_ctx.bar`, `bar`))
).toMatchObject(getPositionInCode(source, `bar`, true))
+ expect(
+ consumer.originalPositionFor(getPositionInCode(code, `baz`))
+ ).toMatchObject(getPositionInCode(source, `baz`))
expect(
consumer.originalPositionFor(getPositionInCode(code, `world`, true))
- ).toMatchObject(getPositionInCode(source, `{{ world }}`, `world`))
+ ).toMatchObject(getPositionInCode(source, `world`, `world`))
expect(
consumer.originalPositionFor(
getPositionInCode(code, `_ctx.world`, `world`)
)
- ).toMatchObject(getPositionInCode(source, `{{ world }}`, `world`))
+ ).toMatchObject(getPositionInCode(source, `world`, `world`))
+
+ expect(
+ consumer.originalPositionFor(getPositionInCode(code, `burn()`))
+ ).toMatchObject(getPositionInCode(source, `burn()`))
expect(
consumer.originalPositionFor(getPositionInCode(code, `ok`))
@@ -208,15 +225,22 @@ describe('compiler: integration tests', () => {
expect(
consumer.originalPositionFor(getPositionInCode(code, `_ctx.bar`, `bar`))
).toMatchObject(getPositionInCode(source, `bar`, true))
+ expect(
+ consumer.originalPositionFor(getPositionInCode(code, `baz`))
+ ).toMatchObject(getPositionInCode(source, `baz`))
expect(
consumer.originalPositionFor(getPositionInCode(code, `world`, true))
- ).toMatchObject(getPositionInCode(source, `{{ world }}`, `world`))
+ ).toMatchObject(getPositionInCode(source, `world`, `world`))
expect(
consumer.originalPositionFor(
getPositionInCode(code, `_ctx.world`, `world`)
)
- ).toMatchObject(getPositionInCode(source, `{{ world }}`, `world`))
+ ).toMatchObject(getPositionInCode(source, `world`, `world`))
+
+ expect(
+ consumer.originalPositionFor(getPositionInCode(code, `burn()`))
+ ).toMatchObject(getPositionInCode(source, `burn()`))
expect(
consumer.originalPositionFor(getPositionInCode(code, `ok`))
diff --git a/packages/compiler-core/__tests__/parse.spec.ts b/packages/compiler-core/__tests__/parse.spec.ts
index d948f9ef9..cd99f3b95 100644
--- a/packages/compiler-core/__tests__/parse.spec.ts
+++ b/packages/compiler-core/__tests__/parse.spec.ts
@@ -298,9 +298,9 @@ describe('compiler: parse', () => {
isStatic: false,
isInterpolation: true,
loc: {
- start: { offset: 0, line: 1, column: 1 },
- end: { offset: 11, line: 1, column: 12 },
- source: '{{message}}'
+ start: { offset: 2, line: 1, column: 3 },
+ end: { offset: 9, line: 1, column: 10 },
+ source: 'message'
}
})
})
@@ -315,9 +315,9 @@ describe('compiler: parse', () => {
isStatic: false,
isInterpolation: true,
loc: {
- start: { offset: 0, line: 1, column: 1 },
- end: { offset: 9, line: 1, column: 10 },
- source: '{{ a
{
isStatic: false,
isInterpolation: true,
loc: {
- start: { offset: 0, line: 1, column: 1 },
- end: { offset: 9, line: 1, column: 10 },
- source: '{{ a {
isStatic: false,
isInterpolation: true,
loc: {
- start: { offset: 9, line: 1, column: 10 },
- end: { offset: 18, line: 1, column: 19 },
- source: '{{ c>d }}'
+ start: { offset: 12, line: 1, column: 13 },
+ end: { offset: 15, line: 1, column: 16 },
+ source: 'c>d'
}
})
})
@@ -362,9 +362,9 @@ describe('compiler: parse', () => {
isStatic: false,
isInterpolation: true,
loc: {
- start: { offset: 5, line: 1, column: 6 },
- end: { offset: 19, line: 1, column: 20 },
- source: '{{ "" }}'
+ start: { offset: 8, line: 1, column: 9 },
+ end: { offset: 16, line: 1, column: 17 },
+ source: '"