js/libs/ember-1.5.1.js
function() {
    this._readinessDeferrals = 1;

    function handleReset() {
      var router = this.__container__.lookup('router:main');
      router.reset();

      Ember.run(this.__container__, 'destroy');

      this.buildContainer();

      Ember.run.schedule('actions', this, function() {
        this._initialize();
      });
    }

    Ember.run.join(this, handleReset);
  }
function() {
    this._readinessDeferrals = 1;

    function handleReset() {
      var router = this.__container__.lookup('router:main');
      router.reset();

      Ember.run(this.__container__, 'destroy');

      this.buildContainer();

      Ember.run.schedule('actions', this, function() {
        this._initialize();
      });
    }

    Ember.run.join(this, handleReset);
  }
Reset the application. This is typically used only in tests. It cleans up
the application in the following order:

1. Deactivate existing routes
2. Destroy all objects in the container
3. Create a new application container
4. Re-route to the existing url

Typical Example:

```javascript

var App;

Ember.run(function() {
App = Ember.Application.create();
});

module("acceptance test", {
setup: function() {
App.reset();
}
});

test("first test", function() {
App is freshly reset
});

test("first test", function() {
App is again freshly reset
});
```

Advanced Example:

Occasionally you may want to prevent the app from initializing during
setup. This could enable extra configuration, or enable asserting prior
to the app becoming ready.

```javascript

var App;

Ember.run(function() {
App = Ember.Application.create();
});

module("acceptance test", {
setup: function() {
Ember.run(function() {
App.reset();
App.deferReadiness();
});
}
});

test("first test", function() {
ok(true, 'something before app is initialized');

Ember.run(function() {
App.advanceReadiness();
});
ok(true, 'something after app is initialized');
});
```

@method reset