diff --git a/packages/@vue/cli-plugin-pwa/__tests__/pwaGenerator.spec.js b/packages/@vue/cli-plugin-pwa/__tests__/pwaGenerator.spec.js new file mode 100644 index 000000000..c2bb995d3 --- /dev/null +++ b/packages/@vue/cli-plugin-pwa/__tests__/pwaGenerator.spec.js @@ -0,0 +1,26 @@ +const generateWithPlugin = require('@vue/cli-test-utils/generateWithPlugin') + +test('inject import statement for service worker', async () => { + const mockMain = ( + `import Vue from 'vue'\n` + + `import Bar from './Bar.vue'` + ) + const { files } = await generateWithPlugin([ + { + id: 'files', + apply: api => { + api.render(files => { + files['src/main.js'] = mockMain + }) + }, + options: {} + }, + { + id: 'pwa', + apply: require('../generator'), + options: {} + } + ]) + + expect(files['src/main.js']).toMatch(`${mockMain}\nimport './registerServiceWorker'`) +}) diff --git a/packages/@vue/cli-plugin-pwa/__tests__/pwa.spec.js b/packages/@vue/cli-plugin-pwa/__tests__/pwaPlugin.spec.js similarity index 100% rename from packages/@vue/cli-plugin-pwa/__tests__/pwa.spec.js rename to packages/@vue/cli-plugin-pwa/__tests__/pwaPlugin.spec.js diff --git a/packages/@vue/cli-plugin-typescript/__tests__/.eslintrc b/packages/@vue/cli-plugin-typescript/__tests__/.eslintrc new file mode 100644 index 000000000..92b6bda70 --- /dev/null +++ b/packages/@vue/cli-plugin-typescript/__tests__/.eslintrc @@ -0,0 +1,5 @@ +{ + "rules": { + "vue-libs/no-async-functions": 0 + } +} diff --git a/packages/@vue/cli-plugin-typescript/__tests__/tsGenerator.spec.js b/packages/@vue/cli-plugin-typescript/__tests__/tsGenerator.spec.js new file mode 100644 index 000000000..62d1a1700 --- /dev/null +++ b/packages/@vue/cli-plugin-typescript/__tests__/tsGenerator.spec.js @@ -0,0 +1,126 @@ +const generateWithPlugin = require('@vue/cli-test-utils/generateWithPlugin') + +test('generate files', async () => { + const { files } = await generateWithPlugin([ + { + id: 'core', + apply: require('@vue/cli-service/generator'), + options: {} + }, + { + id: 'ts', + apply: require('../generator'), + options: {} + } + ]) + + expect(files['src/main.ts']).toBeTruthy() + expect(files['src/main.js']).toBeFalsy() + expect(files['src/App.vue']).toMatch('