Skip to content

Commit fc1e39c

Browse files
authored
Merge pull request #408 from isleofcode/fix/ember-serve
fix(ember-serve): only inject on addon tree, partial fix to #403
2 parents faee1c1 + e3550e9 commit fc1e39c

File tree

2 files changed

+26
-6
lines changed

2 files changed

+26
-6
lines changed

lib/frameworks/ember/tasks/serve.js

+10-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@ module.exports = Task.extend({
3535
stubEmberAddon(cloneProject) {
3636
if (cloneProject.addons === undefined) { cloneProject.addons = []; }
3737
cloneProject.addons.push({
38-
treeFor() {
38+
treeFor(treeName) {
39+
if (treeName !== 'addon') { return; }
40+
3941
let platform = cloneProject.CORDOVA_PLATFORM;
4042
let projectPath = getPath(cloneProject);
4143
let assets = cordovaAssets.getPaths(platform, projectPath);
@@ -48,7 +50,13 @@ module.exports = Task.extend({
4850
});
4951

5052
return pluginsTree;
51-
}
53+
},
54+
pkg: {
55+
'ember-addon': {}
56+
},
57+
root: 'corber-livereload',
58+
name: 'corber-livereload',
59+
addons: []
5260
});
5361

5462
return cloneProject;

node-tests/unit/frameworks/ember/tasks/serve-test.js

+16-4
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,19 @@ describe('Ember Serve Task', function() {
8080
serve.stubEmberAddon(cloned);
8181
});
8282

83-
it('stubs treeFor function', function() {
83+
it('stubs valid ember addon /w treeFor function', function() {
84+
let stubbedAddon = cloned.addons[0];
8485
expect(cloned.addons.length).to.equal(1);
85-
expect(cloned.addons[0].treeFor).to.be.a('function');
86+
expect(stubbedAddon.treeFor).to.be.a('function');
87+
expect(stubbedAddon.pkg).to.deep.equal({'ember-addon': {}});
88+
expect(stubbedAddon.root).to.equal('corber-livereload');
89+
expect(stubbedAddon.name).to.equal('corber-livereload');
90+
expect(stubbedAddon.addons).to.be.a('array');
91+
expect(stubbedAddon.addons.length).to.equal(0);
8692
});
8793

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

9197
td.verify(new Funnel(
9298
'corber/cordova', {
@@ -95,5 +101,11 @@ describe('Ember Serve Task', function() {
95101
}
96102
));
97103
});
104+
105+
it('when treeFor is not addon, it does nothing', function() {
106+
cloned.addons[0].treeFor('app');
107+
108+
td.verify(new Funnel(), { times: 0 });
109+
});
98110
});
99111
});

0 commit comments

Comments
 (0)