Skip to content

Commit a20e702

Browse files
committed
tests: add tests for multiple env
1 parent 9c8b4ad commit a20e702

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
console.log('chuntaro');
2+
// eslint-disable-next-line no-undef
3+
console.log(envMessage || 'env message absent');

test/config/type/function-with-env/function-with-env.test.js

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
'use strict';
2-
const { existsSync } = require('fs');
2+
const { existsSync, readFile } = require('fs');
33
const { resolve } = require('path');
44
const { run } = require('../../../utils/test-utils');
55

@@ -18,12 +18,17 @@ describe('function configuration', () => {
1818
// Should generate the appropriate files
1919
expect(existsSync(resolve(__dirname, './bin/dev.js'))).toBeTruthy();
2020
});
21-
it('is able to understand multiple env flags', () => {
22-
const { stderr, stdout } = run(__dirname, ['--env', 'isDev', '--env', 'verboseStats']);
21+
it('is able to understand multiple env flags', (done) => {
22+
const { stderr, stdout } = run(__dirname, ['--env', 'isDev', '--env', 'verboseStats', '--env', 'envMessage']);
2323
expect(stderr).toBeFalsy();
2424
expect(stdout).toBeTruthy();
25+
// check that the verbose env is respected
2526
expect(stdout).toContain('LOG from webpack.buildChunkGraph.visitModules');
26-
// Should generate the appropriate files
27-
expect(existsSync(resolve(__dirname, './bin/dev.js'))).toBeTruthy();
27+
// check if the values from DefinePlugin make it to the compiled code
28+
readFile(resolve(__dirname, './bin/dev.js'), 'utf-8', (err, data) => {
29+
expect(err).toBe(null);
30+
expect(data).toContain('env message present');
31+
done();
32+
});
2833
});
2934
});

test/config/type/function-with-env/webpack.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
const { DefinePlugin } = require('webpack');
2+
13
module.exports = (env) => {
24
if (env.isProd) {
35
return {
@@ -11,6 +13,7 @@ module.exports = (env) => {
1113
entry: './a.js',
1214
mode: 'development',
1315
stats: env.verboseStats ? 'verbose' : 'normal',
16+
plugins: [new DefinePlugin({ envMessage: env.envMessage ? 'env message present' : '' })],
1417
output: {
1518
filename: 'dev.js',
1619
},

0 commit comments

Comments
 (0)