|
1 | 1 | import Vue from 'vue'
|
2 |
| -import Hello from './resources/Basic.vue' |
| 2 | +import Basic from './resources/Basic.vue' |
3 | 3 | import jestVue from '../jest-vue'
|
4 | 4 | import { resolve } from 'path'
|
5 |
| -import { readFileSync } from 'fs' |
| 5 | +import { readFileSync, writeFileSync } from 'fs' |
6 | 6 |
|
7 | 7 | test('processes .vue files', () => {
|
8 |
| - const vm = new Vue(Hello).$mount() |
| 8 | + const vm = new Vue(Basic).$mount() |
9 | 9 | expect(typeof vm.$el).toBe('object')
|
10 | 10 | })
|
11 | 11 |
|
| 12 | +test('processes .vue files using .babelrc if it exists in route', () => { |
| 13 | + const babelRcPath = resolve(__dirname, '../.babelrc') |
| 14 | + const babelRcOriginal = readFileSync(babelRcPath, { encoding: 'utf8' }) |
| 15 | + writeFileSync(babelRcPath, '{"presets": ["es2015", "stage-2"],"plugins": ["istanbul"]}') |
| 16 | + const filePath = resolve(__dirname, './resources/Basic.vue') |
| 17 | + const fileString = readFileSync(filePath, { encoding: 'utf8' }) |
| 18 | + |
| 19 | + const output = jestVue.process(fileString, filePath) |
| 20 | + writeFileSync(babelRcPath, babelRcOriginal) |
| 21 | + // coverageData.hash is added by babel-plugin-istanbul, added to root .babelrc for this test only |
| 22 | + expect(output).toContain('coverageData.hash') |
| 23 | +}) |
| 24 | + |
12 | 25 | test('generates inline sourcemap', () => {
|
13 | 26 | const expectedMap = '//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJhc2ljLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFLQTtBQVBBO0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQWpCQTs7OztBQVBBO0FBQUEiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImhlbGxvXCI+XG4gICAgICAgIDxoMSA6Y2xhc3M9XCJoZWFkaW5nQ2xhc3Nlc1wiPnt7IG1zZyB9fTwvaDE+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ2Jhc2ljJyxcbiAgICAgICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgICAgIGhlYWRpbmdDbGFzc2VzOiBmdW5jdGlvbiBoZWFkaW5nQ2xhc3NlcygpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICByZWQ6IHRoaXMuaXNDcmF6eSxcbiAgICAgICAgICAgICAgICAgICAgYmx1ZTogIXRoaXMuaXNDcmF6eSxcbiAgICAgICAgICAgICAgICAgICAgc2hhZG93OiB0aGlzLmlzQ3JhenksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG1zZzogJ1dlbGNvbWUgdG8gWW91ciBWdWUuanMgQXBwJyxcbiAgICAgICAgICAgICAgICBpc0NyYXp5OiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgICAgIG1ldGhvZHM6IHtcbiAgICAgICAgICAgIHRvZ2dsZUNsYXNzOiBmdW5jdGlvbiB0b2dnbGVDbGFzcygpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzQ3JhenkgPSAhdGhpcy5pc0NyYXp5O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICB9O1xuPC9zY3JpcHQ+XG4iXX0='
|
14 | 27 | const filePath = resolve(__dirname, './resources/Basic.vue')
|
|
0 commit comments