| 1234567891011121314151617181920212223242526272829303132333435 |
- import { parse, generate } from '../src'
- import { SourceMapConsumer, RawSourceMap } from 'source-map'
- describe('compiler: codegen', () => {
- test('basic source map support', async () => {
- const source = `hello {{ world }}`
- const ast = parse(source)
- const { code, map } = generate(ast, {
- filename: `foo.vue`
- })
- expect(code).toBe(
- `return function render() {
- with (this) {
- return [
- "hello ",
- 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: 6
- })
- expect(pos).toMatchObject({
- line: 1,
- column: 6
- })
- })
- })
|