Skip to content

Commit

Permalink
Merge pull request #408 from isleofcode/fix/ember-serve
Browse files Browse the repository at this point in the history
fix(ember-serve): only inject on addon tree, partial fix to #403
  • Loading branch information
alexblom authored Nov 1, 2017
2 parents faee1c1 + e3550e9 commit fc1e39c
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 6 deletions.
12 changes: 10 additions & 2 deletions lib/frameworks/ember/tasks/serve.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ module.exports = Task.extend({
stubEmberAddon(cloneProject) {
if (cloneProject.addons === undefined) { cloneProject.addons = []; }
cloneProject.addons.push({
treeFor() {
treeFor(treeName) {
if (treeName !== 'addon') { return; }

let platform = cloneProject.CORDOVA_PLATFORM;
let projectPath = getPath(cloneProject);
let assets = cordovaAssets.getPaths(platform, projectPath);
Expand All @@ -48,7 +50,13 @@ module.exports = Task.extend({
});

return pluginsTree;
}
},
pkg: {
'ember-addon': {}
},
root: 'corber-livereload',
name: 'corber-livereload',
addons: []
});

return cloneProject;
Expand Down
20 changes: 16 additions & 4 deletions node-tests/unit/frameworks/ember/tasks/serve-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,19 @@ describe('Ember Serve Task', function() {
serve.stubEmberAddon(cloned);
});

it('stubs treeFor function', function() {
it('stubs valid ember addon /w treeFor function', function() {
let stubbedAddon = cloned.addons[0];
expect(cloned.addons.length).to.equal(1);
expect(cloned.addons[0].treeFor).to.be.a('function');
expect(stubbedAddon.treeFor).to.be.a('function');
expect(stubbedAddon.pkg).to.deep.equal({'ember-addon': {}});
expect(stubbedAddon.root).to.equal('corber-livereload');
expect(stubbedAddon.name).to.equal('corber-livereload');
expect(stubbedAddon.addons).to.be.a('array');
expect(stubbedAddon.addons.length).to.equal(0);
});

it('creates a new Broccoli Funnel with cordova-assets paths', function() {
cloned.addons[0].treeFor();
it('when treeFor is addon, it creates a Funnel with cordova-assets', function() {
cloned.addons[0].treeFor('addon');

td.verify(new Funnel(
'corber/cordova', {
Expand All @@ -95,5 +101,11 @@ describe('Ember Serve Task', function() {
}
));
});

it('when treeFor is not addon, it does nothing', function() {
cloned.addons[0].treeFor('app');

td.verify(new Funnel(), { times: 0 });
});
});
});

0 comments on commit fc1e39c

Please sign in to comment.