diff --git a/packages/ember-application/tests/system/visit_test.js b/packages/ember-application/tests/system/visit_test.js index b2b171826d0..0f6d79b6e43 100644 --- a/packages/ember-application/tests/system/visit_test.js +++ b/packages/ember-application/tests/system/visit_test.js @@ -357,6 +357,23 @@ QUnit.test('visit() returns a promise that resolves without rendering when shoul }); }); +QUnit.test('visit() renders a template when shouldRender is set to true', function(assert) { + assert.expect(3); + + run(() => { + createApplication(); + + App.register('template:application', compile('

Hello world

')); + }); + + assert.strictEqual(jQuery('#qunit-fixture').children().length, 0, 'there are no elements in the fixture element'); + + return run(App, 'visit', '/', { shouldRender: true }).then(instance => { + assert.ok(instance instanceof ApplicationInstance, 'promise is resolved with an ApplicationInstance'); + assert.strictEqual(jQuery('#qunit-fixture').children().length, 1, 'there is 1 element in the fixture element after visit'); + }); +}); + QUnit.test('visit() returns a promise that resolves without rendering when shouldRender is set to false with Engines', function(assert) { assert.expect(3); diff --git a/packages/ember-routing/lib/system/route.js b/packages/ember-routing/lib/system/route.js index 4e1e1f10b4f..816b40354ab 100644 --- a/packages/ember-routing/lib/system/route.js +++ b/packages/ember-routing/lib/system/route.js @@ -1264,7 +1264,7 @@ let Route = EmberObject.extend(ActionHandler, Evented, { this.setupController(controller, context, transition); - if (!this._environment || this._environment.options.shouldRender) { + if (this._environment.options.shouldRender) { this.renderTemplate(controller, context); } },