webpack-inject-plugin
Version:
A webpack plugin to dynamically inject code into the bundle.
66 lines • 2.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var main_1 = require("../main");
describe('injectEntry', function () {
it('appends to the entry config correctly', function () {
expect(main_1.injectEntry(undefined, 'foo', {})).toEqual('foo');
expect(main_1.injectEntry(['original'], 'added', {})).toEqual([
'added',
'original'
]);
expect(main_1.injectEntry('original', 'added', {})).toEqual(['added', 'original']);
expect(main_1.injectEntry(['foo', 'bar'], 'baz', {})).toEqual([
'foo',
'baz',
'bar'
]);
expect(main_1.injectEntry(['foo', 'bar', 'baz', 'blah'], 'aaa', {})).toEqual([
'foo',
'bar',
'baz',
'aaa',
'blah'
]);
expect(main_1.injectEntry({
foo: 'bar',
another: ['an', 'array']
}, 'added', {})).toEqual({
foo: ['added', 'bar'],
another: ['an', 'added', 'array']
});
});
it('appends to only the specified entry', function () {
expect(main_1.injectEntry(undefined, 'foo', { entryName: 'bar' })).toBe('foo');
expect(main_1.injectEntry({ foo: 'bar', bar: 'baz' }, 'added', { entryName: 'bar' })).toEqual({
foo: 'bar',
bar: ['added', 'baz']
});
});
it('supports a filter function', function () {
expect(main_1.injectEntry({ foo: 'bar', bar: 'baz', baz: 'blah' }, 'added', {
entryName: function (e) { return e !== 'bar'; }
})).toEqual({
foo: ['added', 'bar'],
bar: 'baz',
baz: ['added', 'blah']
});
});
it('throws error for unknown filter type', function () {
expect(function () {
main_1.injectEntry('bar', 'foo', {
entryName: { not: 'a function ' }
});
}).toThrowError();
});
it('respects the config for ordering', function () {
expect(main_1.injectEntry(['foo', 'bar'], 'baz', { entryOrder: 1 /* First */ })).toEqual(['baz', 'foo', 'bar']);
expect(main_1.injectEntry(['foo', 'bar'], 'baz', { entryOrder: 2 /* Last */ })).toEqual(['foo', 'bar', 'baz']);
expect(main_1.injectEntry(['foo', 'bar'], 'baz', { entryOrder: 3 /* NotLast */ })).toEqual(['foo', 'baz', 'bar']);
});
it('order config for strings', function () {
expect(main_1.injectEntry('original', 'new', { entryOrder: 1 /* First */ })).toEqual(['new', 'original']);
expect(main_1.injectEntry('original', 'new', { entryOrder: 2 /* Last */ })).toEqual(['original', 'new']);
expect(main_1.injectEntry('original', 'new', { entryOrder: 3 /* NotLast */ })).toEqual(['new', 'original']);
});
});
//# sourceMappingURL=main.test.js.map