From 61be769ce6545ead63dafc3d630d10c767926368 Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 24 Sep 2019 23:01:57 -0400 Subject: [PATCH] test: move source map test to compile.spec.ts --- .../compiler-core/__tests__/codegen.spec.ts | 34 ------------------ .../compiler-core/__tests__/compile.spec.ts | 36 ++++++++++++++++++- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/packages/compiler-core/__tests__/codegen.spec.ts b/packages/compiler-core/__tests__/codegen.spec.ts index 43d5d0b43c..42c73c2b98 100644 --- a/packages/compiler-core/__tests__/codegen.spec.ts +++ b/packages/compiler-core/__tests__/codegen.spec.ts @@ -1,5 +1,4 @@ import { - parse, generate, NodeTypes, RootNode, @@ -13,7 +12,6 @@ import { createArrayExpression, ElementNode } from '../src' -import { SourceMapConsumer, RawSourceMap } from 'source-map' import { CREATE_VNODE, COMMENT, TO_STRING } from '../src/runtimeConstants' const mockLoc: SourceLocation = { @@ -452,36 +450,4 @@ describe('compiler: codegen', () => { ])`) expect(code).toMatchSnapshot() }) - - test('basic source map support', async () => { - const source = `hello {{ world }}` - const ast = parse(source) - const { code, map } = generate(ast, { - sourceMap: true, - filename: `foo.vue` - }) - expect(code).toMatch( - `return function render() { - with (this) { - return [ - "hello ", - toString(world) - ] - } -}` - ) - - expect(map!.sources).toEqual([`foo.vue`]) - expect(map!.sourcesContent).toEqual([source]) - - const consumer = await new SourceMapConsumer(map as RawSourceMap) - const pos = consumer.originalPositionFor({ - line: 5, - column: 15 - }) - expect(pos).toMatchObject({ - line: 1, - column: 6 - }) - }) }) diff --git a/packages/compiler-core/__tests__/compile.spec.ts b/packages/compiler-core/__tests__/compile.spec.ts index b8c736c095..ad28e5653f 100644 --- a/packages/compiler-core/__tests__/compile.spec.ts +++ b/packages/compiler-core/__tests__/compile.spec.ts @@ -1,2 +1,36 @@ +import { compile } from '../src' +import { SourceMapConsumer, RawSourceMap } from 'source-map' + // Integration tests for parser + transform + codegen -test.todo('compile') +test('basic source map support', async () => { + const source = `hello {{ world }}` + const { code, map } = compile(source, { + sourceMap: true, + filename: `foo.vue` + }) + expect(code).toMatch( + `const { toString } = Vue + +return function render() { + with (this) { + return [ + "hello ", + toString(world) + ] + } +}` + ) + + expect(map!.sources).toEqual([`foo.vue`]) + expect(map!.sourcesContent).toEqual([source]) + + const consumer = await new SourceMapConsumer(map as RawSourceMap) + const pos = consumer.originalPositionFor({ + line: 7, + column: 16 + }) + expect(pos).toMatchObject({ + line: 1, + column: 6 + }) +}) -- 2.47.3