mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-27 08:02:01 +00:00
Merge pull request #2158 from clarkdo/dev
test: coverage for webpack config files
This commit is contained in:
commit
a9dcdca0f2
@ -2,6 +2,7 @@ import test from 'ava'
|
||||
import { resolve } from 'path'
|
||||
import fs from 'fs'
|
||||
import pify from 'pify'
|
||||
import stdMocks from 'std-mocks'
|
||||
import { Nuxt, Builder } from '../index.js'
|
||||
|
||||
const readFile = pify(fs.readFile)
|
||||
@ -16,11 +17,13 @@ const checkCache = (lib) => {
|
||||
}
|
||||
}
|
||||
|
||||
let nuxt
|
||||
|
||||
test.before('Init Nuxt.js', async t => {
|
||||
let config = require(resolve(rootDir, 'nuxt.config.js'))
|
||||
config.rootDir = rootDir
|
||||
config.dev = true
|
||||
const nuxt = new Nuxt(config)
|
||||
nuxt = new Nuxt(config)
|
||||
await new Builder(nuxt).build()
|
||||
})
|
||||
|
||||
@ -29,3 +32,17 @@ test('Check vue cache', checkCache('vue'))
|
||||
test('Check vue-meta cache', checkCache('vue-meta'))
|
||||
|
||||
test('Check vue-router cache', checkCache('vue-router'))
|
||||
|
||||
test('Build with DllReferencePlugin', async t => {
|
||||
stdMocks.use()
|
||||
await new Builder(nuxt).build()
|
||||
stdMocks.restore()
|
||||
const output = stdMocks.flush()
|
||||
const dllLog = output.stdout.filter(value => value === 'Using dll for 3 libs\n')
|
||||
t.true(dllLog.length === 1)
|
||||
})
|
||||
|
||||
// Close server and ask nuxt to stop listening to file changes
|
||||
test.after('Closing nuxt.js', t => {
|
||||
nuxt.close()
|
||||
})
|
||||
|
9
test/fixtures/dll/nuxt.config.js
vendored
9
test/fixtures/dll/nuxt.config.js
vendored
@ -1,5 +1,12 @@
|
||||
module.exports = {
|
||||
build: {
|
||||
dll: true
|
||||
dll: true,
|
||||
extend(config, options) {
|
||||
if (options.isClient) {
|
||||
const dlls = config.plugins.filter(plugin => plugin.constructor.name === 'DllReferencePlugin')
|
||||
console.log('Using dll for ' + dlls.length + ' libs') // eslint-disable-line no-console
|
||||
}
|
||||
return config
|
||||
}
|
||||
}
|
||||
}
|
||||
|
6
test/fixtures/with-config/nuxt.config.js
vendored
6
test/fixtures/with-config/nuxt.config.js
vendored
@ -1,3 +1,5 @@
|
||||
const path = require('path')
|
||||
|
||||
module.exports = {
|
||||
srcDir: __dirname,
|
||||
router: {
|
||||
@ -14,6 +16,7 @@ module.exports = {
|
||||
]
|
||||
}
|
||||
},
|
||||
modulesDir: path.join(__dirname, '..', '..', '..', 'node_modules'),
|
||||
transition: 'test',
|
||||
layoutTransition: 'test',
|
||||
offline: true,
|
||||
@ -43,6 +46,9 @@ module.exports = {
|
||||
generateStatsFile: true
|
||||
},
|
||||
extend(config, options) {
|
||||
if (options.dev) {
|
||||
// Please use isDev instead of dev
|
||||
}
|
||||
return Object.assign({}, config, {
|
||||
devtool: 'nosources-source-map'
|
||||
})
|
||||
|
@ -1,5 +1,6 @@
|
||||
import test from 'ava'
|
||||
import { resolve } from 'path'
|
||||
import stdMocks from 'std-mocks'
|
||||
import rp from 'request-promise-native'
|
||||
import { Nuxt, Builder } from '../index.js'
|
||||
|
||||
@ -7,6 +8,7 @@ const port = 4007
|
||||
const url = (route) => 'http://localhost:' + port + route
|
||||
|
||||
let nuxt = null
|
||||
let builtErr = null
|
||||
|
||||
// Init nuxt.js and create server listening on localhost:4000
|
||||
test.before('Init Nuxt.js', async t => {
|
||||
@ -15,7 +17,14 @@ test.before('Init Nuxt.js', async t => {
|
||||
config.rootDir = rootDir
|
||||
config.dev = false
|
||||
nuxt = new Nuxt(config)
|
||||
|
||||
stdMocks.use({
|
||||
stdout: false,
|
||||
stderr: true
|
||||
})
|
||||
await new Builder(nuxt).build()
|
||||
stdMocks.restore()
|
||||
builtErr = stdMocks.flush().stderr
|
||||
|
||||
await nuxt.listen(port, 'localhost')
|
||||
})
|
||||
@ -124,6 +133,12 @@ test('Check /test.txt should return 404', async t => {
|
||||
t.is(err.response.statusCode, 404)
|
||||
})
|
||||
|
||||
test('Check deprecated dev in build.extend()', async t => {
|
||||
const deprecatedMsg = 'dev has been deprecated in build.extend(), please use isDev\n'
|
||||
const errors = builtErr.filter(value => value === deprecatedMsg)
|
||||
t.true(errors.length === 2)
|
||||
})
|
||||
|
||||
// Close server and ask nuxt to stop listening to file changes
|
||||
test.after('Closing server and nuxt.js', t => {
|
||||
nuxt.close()
|
||||
|
Loading…
Reference in New Issue
Block a user