Skip to content

Commit

Permalink
Add tests for isPluginRequired.
Browse files Browse the repository at this point in the history
  • Loading branch information
rwjblue committed Mar 13, 2017
1 parent ceba875 commit f6fabd7
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 4 deletions.
10 changes: 6 additions & 4 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,14 +99,16 @@ module.exports = {
}
},

isPluginRequired(plugin) {
const isPluginRequired = require('babel-preset-env').isPluginRequired;
isPluginRequired(pluginName) {
let targets = this._getTargets();

// if no targets are setup, assume that all plugins are required
if (!targets) { return true; }

return isPluginRequired(targets, plugin);
const isPluginRequired = require('babel-preset-env').isPluginRequired;
const pluginList = require('babel-preset-env/data/plugins');

return isPluginRequired(targets, pluginList[pluginName]);
},

_getAddonOptions: function() {
Expand Down Expand Up @@ -187,7 +189,7 @@ module.exports = {
},

_getTargets() {
return this.project && this.project.targets && this.project.targets.browsers;
return this.project && this.project.targets && this.project.targets;
},

_getModulesPlugin() {
Expand Down
27 changes: 27 additions & 0 deletions node-tests/addon-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -378,4 +378,31 @@ describe('ember-cli-babel', function() {
expect(result.resolveModuleSource).to.equal(undefined);
});
});

describe('isPluginRequired', function() {
it('returns true when no targets are specified', function() {
this.addon.project.targets = null;

let pluginRequired = this.addon.isPluginRequired('transform-regenerator');
expect(pluginRequired).to.be.true;
});

it('returns true when targets require plugin', function() {
this.addon.project.targets = {
browsers: ['ie 9']
};

let pluginRequired = this.addon.isPluginRequired('transform-regenerator');
expect(pluginRequired).to.be.true;
});

it('returns false when targets do not require plugin', function() {
this.addon.project.targets = {
browsers: ['last 2 chrome versions']
};

let pluginRequired = this.addon.isPluginRequired('transform-regenerator');
expect(pluginRequired).to.be.false;
});
});
});

0 comments on commit f6fabd7

Please sign in to comment.