Skip to content

Commit 2bbce81

Browse files
committed
Tweaks thanks to Stof, including combining Unix & windows tests
1 parent a7573a5 commit 2bbce81

File tree

1 file changed

+15
-52
lines changed

1 file changed

+15
-52
lines changed

test/config/path-util.js

Lines changed: 15 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -30,62 +30,36 @@ function createConfig() {
3030
*
3131
* @returns {boolean}
3232
*/
33-
function isWindows() {
34-
return process.platform === 'win32';
35-
}
33+
const isWindows = (process.platform === 'win32');
3634

3735
describe('path-util getContentBase()', () => {
3836
describe('getContentBase()', () => {
3937
it('contentBase is calculated correctly', function() {
40-
if (isWindows()) {
41-
this.skip();
42-
}
43-
4438
const config = createConfig();
4539
config.runtimeConfig.useDevServer = true;
4640
config.runtimeConfig.devServerUrl = 'http://localhost:8080/';
47-
config.outputPath = '/tmp/public/build';
41+
config.outputPath = isWindows ? 'C:\\tmp\\public\\build': '/tmp/public/build';
4842
config.setPublicPath('/build/');
4943
config.addEntry('main', './main');
5044

5145
const actualContentBase = pathUtil.getContentBase(config);
5246
// contentBase should point to the "document root", which
5347
// is calculated as outputPath, but without the publicPath portion
54-
expect(actualContentBase).to.equal('/tmp/public');
48+
expect(actualContentBase).to.equal(isWindows ? 'C:\\tmp\\public' : '/tmp/public');
5549
});
5650

5751
it('contentBase works ok with manifestKeyPrefix', function() {
58-
if (isWindows()) {
59-
this.skip();
60-
}
61-
6252
const config = createConfig();
6353
config.runtimeConfig.useDevServer = true;
6454
config.runtimeConfig.devServerUrl = 'http://localhost:8080/';
65-
config.outputPath = '/tmp/public/build';
55+
config.outputPath = isWindows ? 'C:\\tmp\\public\\build' : '/tmp/public/build';
6656
config.setPublicPath('/subdirectory/build');
6757
// this "fixes" the incompatibility between outputPath and publicPath
6858
config.setManifestKeyPrefix('/build/');
6959
config.addEntry('main', './main');
7060

7161
const actualContentBase = pathUtil.getContentBase(config);
72-
expect(actualContentBase).to.equal('/tmp/public');
73-
});
74-
75-
it('contentBase is calculated correctly on Windows', function() {
76-
if (!isWindows()) {
77-
this.skip();
78-
}
79-
80-
const config = createConfig();
81-
config.runtimeConfig.useDevServer = true;
82-
config.runtimeConfig.devServerUrl = 'http://localhost:8080/';
83-
config.outputPath = 'C:\\projects\\webpack-encore\\public\\build';
84-
config.setPublicPath('/build/');
85-
config.addEntry('main', './main');
86-
87-
const actualContentBase = pathUtil.getContentBase(config);
88-
expect(actualContentBase).to.equal('C:\\projects\\webpack-encore\\public');
62+
expect(actualContentBase).to.equal(isWindows ? 'C:\\tmp\\public' : '/tmp/public');
8963
});
9064
});
9165

@@ -114,7 +88,8 @@ describe('path-util getContentBase()', () => {
11488

11589
it('when outputPath and publicPath are incompatible, manifestKeyPrefix must be set', () => {
11690
const config = createConfig();
117-
config.outputPath = '/tmp/public/build';
91+
92+
config.outputPath = isWindows ? 'C:\\tmp\\public\\build' : '/tmp/public/build';
11893
config.addEntry('main', './main');
11994
// pretend we're installed to a subdirectory
12095
config.setPublicPath('/subdirectory/build');
@@ -126,30 +101,18 @@ describe('path-util getContentBase()', () => {
126101
});
127102

128103
describe('getRelativeOutputPath', () => {
129-
it('Works with Unix paths', function() {
130-
if (isWindows()) {
131-
this.skip();
132-
}
133-
104+
it('basic usage', function() {
134105
const config = createConfig();
135-
config.runtimeConfig.context = '/tmp/webpack-encore';
136-
config.outputPath = '/tmp/webpack-encore/public/build';
137-
138-
const actualPath = pathUtil.getRelativeOutputPath(config);
139-
expect(actualPath).to.equal('public/build');
140-
});
141-
142-
it('Works with Windows paths', function() {
143-
if (!isWindows()) {
144-
this.skip();
106+
if (isWindows) {
107+
config.runtimeConfig.context = 'C:\\projects\\webpack-encore';
108+
config.outputPath = 'C:\\projects\\webpack-encore\\public\\build';
109+
} else {
110+
config.runtimeConfig.context = '/tmp/webpack-encore';
111+
config.outputPath = '/tmp/webpack-encore/public/build';
145112
}
146113

147-
const config = createConfig();
148-
config.runtimeConfig.context = 'C:\\projects\\webpack-encore';
149-
config.outputPath = 'C:\\projects\\webpack-encore\\public\\build';
150-
151114
const actualPath = pathUtil.getRelativeOutputPath(config);
152-
expect(actualPath).to.equal('public\\build');
115+
expect(actualPath).to.equal(isWindows ? 'public\\build' : 'public/build');
153116
});
154117
});
155118
});

0 commit comments

Comments
 (0)