WXL
3 天以前 9bce51f651aad297ef9eb6df832bfdaf1de05d84
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
jest.setTimeout(10 * 60 * 1000)
jest.mock('inquirer')
 
const { createUpgradable } = require('../helper/create')
 
afterEach(() => {
  jest.clearAllMocks()
})
 
test(`javascript project: compostion`, async () => {
  const { expectPrompts } = require('inquirer')
 
  const projectName = `vue-i18n-composition-js`
  const plugins = {
    '@vue/cli-plugin-babel': {}
  }
  expectPrompts([
    {
      useDefault: true
    },
    {
      useDefault: true
    },
    {
      useDefault: true
    },
    {
      useDefault: true
    }
  ])
  const project = await createUpgradable(projectName, {
    vueVersion: '3',
    plugins
  })
  const pkg = JSON.parse(await project.read('package.json'))
 
  expect(project.has('.env')).toBe(true)
  expect(project.has('src/i18n.js')).toBe(true)
  expect(project.has('src/locales/en.json')).toBe(true)
  expect(project.has('src/components/HelloI18n.vue')).toBe(true)
  expect(pkg.dependencies['vue-i18n']).not.toBeUndefined()
  expect(pkg.devDependencies['vue-cli-plugin-i18n']).not.toBeUndefined()
})
 
test(`javascript project: legacy`, async () => {
  const { expectPrompts } = require('inquirer')
 
  const projectName = `vue-i18n-legacy-js`
  const plugins = {
    '@vue/cli-plugin-babel': {}
  }
  expectPrompts([
    {
      useDefault: true
    },
    {
      useDefault: true
    },
    {
      useDefault: true
    },
    {
      confirm: true
    }
  ])
  const project = await createUpgradable(projectName, {
    vueVersion: '3',
    plugins
  })
  const pkg = JSON.parse(await project.read('package.json'))
 
  expect(project.has('.env')).toBe(true)
  expect(project.has('src/i18n.js')).toBe(true)
  expect(project.has('src/locales/en.json')).toBe(true)
  expect(project.has('src/components/HelloI18n.vue')).toBe(true)
  expect(pkg.dependencies['vue-i18n']).not.toBeUndefined()
  expect(pkg.devDependencies['vue-cli-plugin-i18n']).not.toBeUndefined()
})