From 0fd9774d1150737a4890be2bcbb5a31569e3d89b Mon Sep 17 00:00:00 2001 From: Clark Du Date: Mon, 20 Nov 2017 10:54:37 +0800 Subject: [PATCH] test: build with DllReferencePlugin --- test/dll.test.js | 19 ++++++++++++++++++- test/fixtures/dll/nuxt.config.js | 9 ++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/test/dll.test.js b/test/dll.test.js index 70137c950a..98d33bef99 100644 --- a/test/dll.test.js +++ b/test/dll.test.js @@ -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() +}) diff --git a/test/fixtures/dll/nuxt.config.js b/test/fixtures/dll/nuxt.config.js index 51f3132191..d2f540265b 100644 --- a/test/fixtures/dll/nuxt.config.js +++ b/test/fixtures/dll/nuxt.config.js @@ -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 + } } }