Ejemplo n.º 1
0
 run(function(){
   App = Application.create({
     Resolver: DefaultResolver.extend({
       makeToString: function(factory, fullName) {
         return fullName;
       }
     })
   });
 });
Ejemplo n.º 2
0
  setup: function() {
    function fallbackTemplate() { return "<h1>Fallback</h1>"; }

    var Resolver = DefaultResolver.extend({
      resolveTemplate: function(resolvable) {
        var resolvedTemplate = this._super(resolvable);
        if (resolvedTemplate) { return resolvedTemplate; }
        return fallbackTemplate;
      }
    });

    application = run(function() {
      return Application.create({
        Resolver: Resolver,
        rootElement: '#qunit-fixture'

      });
    });
  },
Ejemplo n.º 3
0
test("can resolve custom router", function(){
  var CustomRouter = Router.extend();

  var CustomResolver = DefaultResolver.extend({
    resolveOther: function(parsedName){
      if (parsedName.type === "router") {
        return CustomRouter;
      } else {
        return this._super(parsedName);
      }
    }
  });

  app = run(function(){
    return Application.create({
      Resolver: CustomResolver
    });
  });

  ok(app.__container__.lookup('router:main') instanceof CustomRouter, 'application resolved the correct router');
});
Ejemplo n.º 4
0
test("Model types added with custom container-debug-adapter", function() {
  var PostClass = Model.extend() ,
      StubContainerDebugAdapter = DefaultResolver.extend({
        canCatalogEntriesByType: function(type){
          return true;
        },
        catalogEntriesByType: function(type){
          return [PostClass];
        }
      });
  App.__container__.register('container-debug-adapter:main', StubContainerDebugAdapter);

  adapter = App.__container__.lookup('data-adapter:main');
  adapter.reopen({
    getRecords: function() {
      return Ember.A([1,2,3]);
    },
    columnsForType: function() {
      return [ { name: 'title', desc: 'Title'} ];
    }
  });

  run(App, 'advanceReadiness');

  var modelTypesAdded = function(types) {

    equal(types.length, 1);
    var postType = types[0];

    equal(postType.name, PostClass.toString(), 'Correctly sets the name');
    equal(postType.count, 3, 'Correctly sets the record count');
    strictEqual(postType.object, PostClass, 'Correctly sets the object');
    deepEqual(postType.columns, [ {name: 'title', desc: 'Title'} ], 'Correctly sets the columns');
  };

  adapter.watchModelTypes(modelTypesAdded);
});