Skip to content

Commit

Permalink
[BUGFIX release] ensure helpers don’t leak on the Test Promise constr…
Browse files Browse the repository at this point in the history
…uctor
  • Loading branch information
stefanpenner committed Jul 20, 2015
1 parent 5f53b21 commit c095b38
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
1 change: 1 addition & 0 deletions packages/ember-testing/lib/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -453,6 +453,7 @@ EmberApplication.reopen({

for (var name in helpers) {
this.helperContainer[name] = this.originalMethods[name];
delete Test.Promise.prototype[name];
delete this.testHelpers[name];
delete this.originalMethods[name];
}
Expand Down
11 changes: 11 additions & 0 deletions packages/ember-testing/tests/helpers_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,17 +99,28 @@ QUnit.module('ember-testing: Helper setup', {
teardown() { cleanup(); }
});

function registerHelper() {
Test.registerHelper('LeakyMcLeakLeak', function(app) {
});
}

QUnit.test('Ember.Application#injectTestHelpers/#removeTestHelpers', function() {
App = run(EmberApplication, EmberApplication.create);
assertNoHelpers(App);

registerHelper();

App.injectTestHelpers();
assertHelpers(App);
ok(Ember.Test.Promise.prototype.LeakyMcLeakLeak, 'helper in question SHOULD be present');

App.removeTestHelpers();
assertNoHelpers(App);

equal(Ember.Test.Promise.prototype.LeakyMcLeakLeak, undefined, 'should NOT leak test promise extensions');
});


QUnit.test('Ember.Application#setupForTesting', function() {
run(function() {
App = EmberApplication.create();
Expand Down

0 comments on commit c095b38

Please sign in to comment.