diff --git a/packages/ember-routing-htmlbars/tests/helpers/outlet_test.js b/packages/ember-routing-htmlbars/tests/helpers/outlet_test.js
index ab31a344fd0..215b28b74ae 100644
--- a/packages/ember-routing-htmlbars/tests/helpers/outlet_test.js
+++ b/packages/ember-routing-htmlbars/tests/helpers/outlet_test.js
@@ -321,6 +321,31 @@ QUnit.test("{{outlet}} should rerender when bound name changes", function() {
equal(top.$().text().trim(), "second");
});
+QUnit.test('views created by {{outlet}} should get destroyed', function() {
+ let inserted = 0;
+ let destroyed = 0;
+ var routerState = {
+ render: {
+ ViewClass: EmberView.extend({
+ didInsertElement() {
+ inserted++;
+ },
+ willDestroyElement() {
+ destroyed++;
+ }
+ })
+ },
+ outlets: {}
+ };
+ top.setOutletState(routerState);
+ runAppend(top);
+ equal(inserted, 1, 'expected to see view inserted');
+ run(function() {
+ top.setOutletState(withTemplate('hello world'));
+ });
+ equal(destroyed, 1, 'expected to see view destroyed');
+});
+
function withTemplate(string) {
return {