Ejemplo n.º 1
0
 run(() => {
   let application = Application.create();
   let resolver = testResolver.getResolver();
   this.appInstance = application.buildInstance();
   this.appInstance.register('service:cart', resolver.resolve(resolver.normalize('service:cart')));
   this.appInstance.register('model:cart-item', resolver.resolve(resolver.normalize('model:cart-item')));
   application.deferReadiness();
 });
  setupContainer: function() {
    var resolver = getResolver();
    var namespace = Ember.Object.create({
      Resolver: { create: function() { return resolver; } }
    });

    if (Ember.Application.buildRegistry) {
      var registry;
      registry = Ember.Application.buildRegistry(namespace);
      registry.register('component-lookup:main', Ember.ComponentLookup);
      this.registry = registry;
      this.container = registry.container();
    } else {
      this.container = Ember.Application.buildContainer(namespace);
      this.container.register('component-lookup:main', Ember.ComponentLookup);
    }
  },
Ejemplo n.º 3
0
 setupView: function() {
   var _this = this;
   var resolver = getResolver();
   var container = this.container;
   var context = this.context;
   var templateName = 'template:' + this.viewName;
   var template = resolver.resolve(templateName);
   if (template) {
     container.register(templateName, template);
     container.injection(this.subjectName, 'template', templateName);
   }
   context.dispatcher = Ember.EventDispatcher.create();
   context.dispatcher.setup({}, '#ember-testing');
   this.callbacks.render = function(options) {
     var containerView = Ember.ContainerView.create(Ember.merge({container: container}, options));
     var view = Ember.run(function(){
       var subject = context.subject();
       containerView.pushObject(subject);
       containerView.appendTo('#ember-testing');
       return subject;
     });
     _this.teardownSteps.unshift(function() {
       Ember.run(function() {
         Ember.tryInvoke(containerView, 'destroy');
       });
     });
     return view.$();
   };
   this.callbacks.append = function() {
     Ember.deprecate('this.append() is deprecated. Please use this.render() instead.');
     return this.callbacks.render();
   };
   context.$ = function() {
     var $view = this.render();
     var subject = this.subject();
     if (arguments.length){
       return subject.$.apply(subject, arguments);
     } else {
       return $view;
     }
   };
 },