From 7b89740782ce7673d64936d9b78ded3087ff0e68 Mon Sep 17 00:00:00 2001 From: Stefan Penner Date: Thu, 28 Mar 2013 11:19:50 -0400 Subject: [PATCH] $.ready initializations should not auto run. --- .../lib/system/application.js | 12 +++--- .../tests/system/readiness_test.js | 43 ++----------------- 2 files changed, 9 insertions(+), 46 deletions(-) diff --git a/packages/ember-application/lib/system/application.js b/packages/ember-application/lib/system/application.js index 294b52d397f..5da1ca2567b 100644 --- a/packages/ember-application/lib/system/application.js +++ b/packages/ember-application/lib/system/application.js @@ -308,15 +308,13 @@ var Application = Ember.Application = Ember.Namespace.extend(Ember.DeferredMixin scheduleInitialize: function() { var self = this; - function initialize(){ - if (self.isDestroyed) { return; } - Ember.run.schedule('actions', self, 'initialize'); - } - if (!this.$ || this.$.isReady) { - initialize(); + Ember.run.schedule('actions', self, 'initialize'); } else { - this.$().ready(initialize); + this.$().ready(function(){ + if (self.isDestroyed) { return; } + Ember.run(self, 'initialize'); + }); } }, diff --git a/packages/ember-application/tests/system/readiness_test.js b/packages/ember-application/tests/system/readiness_test.js index 577921ad014..a34114921d4 100644 --- a/packages/ember-application/tests/system/readiness_test.js +++ b/packages/ember-application/tests/system/readiness_test.js @@ -72,9 +72,7 @@ test("Ember.Application's ready event is called right away if jQuery is already equal(wasResolved, 1); equal(readyWasCalled, 1, "ready was called"); - Ember.run(function() { - domReady(); - }); + domReady(); equal(wasResolved, 1); equal(readyWasCalled, 1, "application's ready was not called again"); @@ -93,35 +91,7 @@ test("Ember.Application's ready event is called after the document becomes ready equal(readyWasCalled, 0, "ready wasn't called yet"); equal(wasResolved, 0); - Ember.run(function() { - domReady(); - equal(wasResolved, 0); - }); - - equal(wasResolved, 1); - equal(readyWasCalled, 1, "ready was called now that DOM is ready"); -}); - -test("Ember.Application's ready event is called after the document becomes ready without initialize if autoinit is set", function() { - var wasResolved = 0; - Ember.run(function() { - application = Application.create({ - router: false, - autoinit: true - }); - application.then(function(){ - wasResolved++; - }); - equal(wasResolved, 0); - }); - - equal(readyWasCalled, 0, "ready wasn't called yet"); - equal(wasResolved, 0); - - Ember.run(function() { - domReady(); - equal(wasResolved, 0); - }); + domReady(); equal(wasResolved, 1); equal(readyWasCalled, 1, "ready was called now that DOM is ready"); @@ -141,10 +111,7 @@ test("Ember.Application's ready event can be deferred by other components", func equal(readyWasCalled, 0, "ready wasn't called yet"); - Ember.run(function() { - domReady(); - equal(wasResolved, 0); - }); + domReady(); equal(readyWasCalled, 0, "ready wasn't called yet"); equal(wasResolved, 0); @@ -172,9 +139,7 @@ test("Ember.Application's ready event can be deferred by other components", func equal(wasResolved, 0); }); - Ember.run(function() { - domReady(); - }); + domReady(); equal(readyWasCalled, 0, "ready wasn't called yet");