UNPKG

webpack-inject-plugin

Version:

A webpack plugin to dynamically inject code into the bundle.

66 lines 2.84 kB
"use strict"; 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