Skip to content
This repository was archived by the owner on May 29, 2019. It is now read-only.

Commit c0534a1

Browse files
committed
refactor: Convert specs to Jest
1 parent bc07c0e commit c0534a1

File tree

5 files changed

+222
-213
lines changed

5 files changed

+222
-213
lines changed

test/TestCases.test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/* eslint-disable */
12
var fs = require("fs");
23
var vm = require("vm");
34
var path = require("path");

test/define-fallback.test.js

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
// import ExtractTextPlugin from '../src';
2+
// const loader = require.resolve('../src/loader');
3+
/* eslint-disable */
4+
var ExtractTextPlugin = require("../");
5+
var loader = require.resolve('../loader');
6+
7+
describe('Define Fallback', () => {
8+
it('accepts a fallback string', () => {
9+
expect(ExtractTextPlugin.extract({
10+
fallback: 'style-loader',
11+
use: 'css-loader'
12+
})).toEqual([
13+
{ loader, options: { omit: 1, remove: true } },
14+
{ loader: 'style-loader' },
15+
{ loader: 'css-loader' }
16+
]);
17+
});
18+
19+
it('accepts a fallback string with legacy fallbackLoader option', () => {
20+
expect(ExtractTextPlugin.extract({
21+
fallback: 'style-loader',
22+
use: 'css-loader'
23+
})).toEqual([
24+
{ loader, options: { omit: 1, remove: true } },
25+
{ loader: 'style-loader' },
26+
{ loader: 'css-loader' }
27+
]);
28+
});
29+
30+
it('accepts a chained fallback string', () => {
31+
expect(ExtractTextPlugin.extract({
32+
fallback: 'something-loader!style-loader',
33+
use: 'css-loader'
34+
})).toEqual([
35+
{ loader, options: { omit: 2, remove: true } },
36+
{ loader: 'something-loader' },
37+
{ loader: 'style-loader' },
38+
{ loader: 'css-loader' }
39+
]);
40+
});
41+
42+
it('accepts a fallback object', () => {
43+
expect(ExtractTextPlugin.extract({
44+
fallback: { loader: 'style-loader' },
45+
use: 'css-loader'
46+
})).toEqual([
47+
{ loader, options: { omit: 1, remove: true } },
48+
{ loader: 'style-loader' },
49+
{ loader: 'css-loader' }
50+
]);
51+
});
52+
53+
it('accepts an array of fallback objects', () => {
54+
expect(ExtractTextPlugin.extract({
55+
fallback: [
56+
{ loader: 'something-loader' },
57+
{ loader: 'style-loader' }
58+
],
59+
use: 'css-loader'
60+
})).toEqual([
61+
{ loader, options: { omit: 2, remove: true } },
62+
{ loader: 'something-loader' },
63+
{ loader: 'style-loader' },
64+
{ loader: 'css-loader' }
65+
]);
66+
});
67+
});

test/define-loader.test.js

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
// import ExtractTextPlugin from '../src';
2+
// const loader = require.resolve('../src/loader');
3+
/* eslint-disable */
4+
var ExtractTextPlugin = require("../");
5+
var loader = require.resolve('../loader');
6+
7+
describe('specifying loader', () => {
8+
it('accepts a loader string', () => {
9+
expect(ExtractTextPlugin.extract('css-loader')).toEqual([
10+
{ loader, options: { omit: 0, remove: true } },
11+
{ loader: 'css-loader' }
12+
]);
13+
});
14+
15+
it('accepts a chained loader string', () => {
16+
expect(ExtractTextPlugin.extract(
17+
'css-loader!postcss-loader!sass-loader'
18+
)).toEqual([
19+
{ loader, options: { omit: 0, remove: true } },
20+
{ loader: 'css-loader' },
21+
{ loader: 'postcss-loader' },
22+
{ loader: 'sass-loader' }
23+
]);
24+
});
25+
26+
it('accepts an array of loader names', () => {
27+
expect(ExtractTextPlugin.extract(
28+
['css-loader', 'postcss-loader', 'sass-loader']
29+
)).toEqual([
30+
{ loader, options: { omit: 0, remove: true } },
31+
{ loader: 'css-loader' },
32+
{ loader: 'postcss-loader' },
33+
{ loader: 'sass-loader' }
34+
]);
35+
});
36+
37+
it('accepts a loader object', () => {
38+
expect(ExtractTextPlugin.extract({ use: 'css-loader' })).toEqual([
39+
{ loader, options: { omit: 0, remove: true } },
40+
{ loader: 'css-loader' }
41+
]);
42+
});
43+
44+
it('accepts an array of loader names in loader object', () => {
45+
expect(ExtractTextPlugin.extract({
46+
use: ['css-loader', 'postcss-loader', 'sass-loader']
47+
})).toEqual([
48+
{ loader, options: { omit: 0, remove: true } },
49+
{ loader: 'css-loader' },
50+
{ loader: 'postcss-loader' },
51+
{ loader: 'sass-loader' }
52+
]);
53+
});
54+
55+
it('accepts a loader object with an options object', () => {
56+
expect(ExtractTextPlugin.extract(
57+
{ use: 'css-loader', options: { modules: true } }
58+
)).toEqual([
59+
{ loader, options: { omit: 0, remove: true } },
60+
{ use: 'css-loader', options: { modules: true } }
61+
]);
62+
});
63+
64+
it('accepts a loader object with an options object in array of loaders', () => {
65+
expect(ExtractTextPlugin.extract({
66+
use: [
67+
{ loader: 'css-loader', options: { modules: true } },
68+
'postcss-loader'
69+
]
70+
})).toEqual([
71+
{ loader, options: { omit: 0, remove: true } },
72+
{ loader: 'css-loader', options: { modules: true } },
73+
{ loader: 'postcss-loader' }
74+
]);
75+
});
76+
77+
it('accepts a loader object with a (legacy) query object', () => {
78+
expect(ExtractTextPlugin.extract(
79+
{ use: 'css-loader', query: { modules: true } }
80+
)).toEqual([
81+
{ loader, options: { omit: 0, remove: true } },
82+
{ use: 'css-loader', query: { modules: true } }
83+
]);
84+
});
85+
86+
it('accepts a loader object with a legacy loader field', () => {
87+
expect(ExtractTextPlugin.extract(
88+
{ loader: 'css-loader', query: { modules: true } }
89+
)).toEqual([
90+
{ loader, options: { omit: 0, remove: true } },
91+
{ loader: 'css-loader', query: { modules: true } }
92+
]);
93+
});
94+
95+
it('accepts an array of loader objects', () => {
96+
expect(ExtractTextPlugin.extract([
97+
{ loader: 'css-loader' },
98+
{ loader: 'postcss-loader' },
99+
{ loader: 'sass-loader' }
100+
])).toEqual([
101+
{ loader, options: { omit: 0, remove: true } },
102+
{ loader: 'css-loader' },
103+
{ loader: 'postcss-loader' },
104+
{ loader: 'sass-loader' }
105+
]);
106+
});
107+
})

0 commit comments

Comments
 (0)