Example #1
0
QUnit.test("Destroying a namespace after looking up removes it from the list of namespaces", function() {
  var CF = lookup.CF = Namespace.create();

  equal(Namespace.byName('CF'), CF, "precondition - namespace can be looked up by name");

  run(CF, 'destroy');
  equal(Namespace.byName('CF'), undefined, "namespace can not be found after destroyed");
});
QUnit.test('the default resolver can look things up in other namespaces', function() {
  var UserInterface = Ember.lookup.UserInterface = Namespace.create();
  UserInterface.NavigationController = Controller.extend();

  var nav = locator.lookup('controller:userInterface/navigation');

  ok(nav instanceof UserInterface.NavigationController, "the result should be an instance of the specified class");
});
Example #3
0
QUnit.test("Calling namespace.nameClasses() eagerly names all classes", function() {
  Ember.BOOTED = true;

  var namespace = lookup.NS = Namespace.create();

  namespace.ClassA = EmberObject.extend();
  namespace.ClassB = EmberObject.extend();

  Namespace.processAll();

  equal(namespace.ClassA.toString(), "NS.ClassA");
  equal(namespace.ClassB.toString(), "NS.ClassB");
});
Example #4
0
  setup: function() {
    originalOutletHelper = helpers['outlet'];
    registerHelper('outlet', outletHelper);

    originalRenderHelper = helpers['render'];
    registerHelper('render', renderHelper);

    originalActionHelper = helpers['action'];
    registerHelper('action', actionHelper);


    var namespace = Namespace.create();
    var registry = buildRegistry(namespace);
    container = registry.container();
  },
  setup: function() {
    originalOutletHelper = EmberHandlebars.helpers['outlet'];
    EmberHandlebars.registerHelper('outlet', outletHelper);

    originalRenderHelper = EmberHandlebars.helpers['render'];
    EmberHandlebars.registerHelper('render', renderHelper);

    originalActionHelper = EmberHandlebars.helpers['action'];
    EmberHandlebars.registerHelper('action', actionHelper);


    var namespace = Namespace.create();
    container = buildContainer(namespace);
    container.register('view:default', EmberView.extend());
    container.register('router:main', EmberRouter.extend());
  },
Example #6
0
test("Lowercase namespaces are no longer supported", function() {
  var nsC = lookup.namespaceC = Namespace.create();
  equal(nsC.toString(), undefined);
});
Example #7
0
test("Namespace should be duck typed", function() {
  ok(get(Namespace.create(), 'isNamespace'), "isNamespace property is true");
});
Example #8
0
test("Destroying a namespace before caching lookup removes it from the list of namespaces", function(){
  var CF = lookup.CF = Namespace.create();

  run(CF,'destroy');
  equal(Namespace.byName('CF'), undefined, "namespace can not be found after destroyed");
});
Example #9
0
test("A nested namespace can be looked up by its name", function() {
  var UI = lookup.UI = Namespace.create();
  UI.Nav = Namespace.create();

  equal(Namespace.byName('UI.Nav'), UI.Nav);
});
Example #10
0
 run(function() {
   lookup.App = Namespace.create({
     name: 'myApp'
   });
 });
Example #11
0
QUnit.test('Namespace should be duck typed', function() {
  ok(get(Namespace.create(), 'isNamespace'), 'isNamespace property is true');
});
import Namespace from 'ember-runtime/system/namespace';
import Controller from 'ember-runtime/controllers/controller';
import EmberView from 'ember-views/views/view';
import jQuery from 'ember-views/system/jquery';

import compile from 'ember-template-compiler/system/compile';
import { runAppend, runDestroy } from 'ember-runtime/tests/utils';
import { buildRegistry } from 'ember-routing-htmlbars/tests/utils';

var trim = jQuery.trim;

var registry, container, top;

QUnit.module('ember-routing-htmlbars: {{outlet}} helper', {
  setup() {
    var namespace = Namespace.create();
    registry = buildRegistry(namespace);
    container = registry.container();

    var CoreOutlet = container.lookupFactory('view:core-outlet');
    top = CoreOutlet.create();
  },

  teardown() {
    runDestroy(container);
    runDestroy(top);
    registry = container = top = null;
  }
});

QUnit.test('view should render the outlet when set after dom insertion', function() {
 setup: function() {
   namespace = Namespace.create();
   container = buildContainer(namespace);
 },
 setup: function() {
   namespace = Namespace.create();
   container = buildContainer(namespace);
   container._registry.register('controller:app', Controller.extend());
   appController = container.lookup('controller:app');
 },
Example #15
0
 setup: function() {
   window.TemplateTests = Namespace.create();
 },
 setup: function() {
   Ember.lookup = lookup = { Ember: Ember };
   lookup.TemplateTests = TemplateTests = Namespace.create();
 },
 run(function() {
   lookup.App = App = Namespace.create();
 });
Example #18
0

function nthChild(view, nth) {
  return get(view, 'childViews').objectAt(nth || 0);
}

var firstChild = nthChild;

function firstGrandchild(view) {
  return get(get(view, 'childViews').objectAt(0), 'childViews').objectAt(0);
}

QUnit.module("collection helper", {
  setup() {
    Ember.lookup = lookup = {};
    lookup.TemplateTests = TemplateTests = Namespace.create();
    registry = new Registry();
    container = registry.container();

    registry.optionsForType('template', { instantiate: false });
    // registry.register('view:default', _MetamorphView);
    registry.register('view:toplevel', EmberView.extend());
  },

  teardown() {
    runDestroy(container);
    runDestroy(view);
    registry = container = view = null;

    Ember.lookup = lookup = originalLookup;
    TemplateTests = null;
test("works from a template with bindings", function() {
  var Person = EmberObject.extend({
    id: null,
    firstName: null,
    lastName: null,

    fullName: computed(function() {
      return this.get('firstName') + " " + this.get('lastName');
    }).property('firstName', 'lastName')
  });

  var erik = Person.create({id: 4, firstName: 'Erik', lastName: 'Bryn'});

  var application = Namespace.create();

  application.peopleController = ArrayController.create({
    content: Ember.A([
      Person.create({id: 1, firstName: 'Yehuda', lastName: 'Katz'}),
      Person.create({id: 2, firstName: 'Tom', lastName: 'Dale'}),
      Person.create({id: 3, firstName: 'Peter', lastName: 'Wagenet'}),
      erik
    ])
  });

  application.selectedPersonController = EmberObject.create({
    person: null
  });

  view = EmberView.create({
    app: application,
    selectView: SelectView,
    template: compile(
      '{{view view.selectView viewName="select"' +
      '    contentBinding="view.app.peopleController"' +
      '    optionLabelPath="content.fullName"' +
      '    optionValuePath="content.id"' +
      '    prompt="Pick a person:"' +
      '    selectionBinding="view.app.selectedPersonController.person"}}'
    )
  });

  run(function() {
    view.appendTo('#qunit-fixture');
  });

  var select = view.get('select');
  ok(select.$().length, "Select was rendered");
  equal(select.$('option').length, 5, "Options were rendered");
  equal(select.$().text(), "Pick a person:Yehuda KatzTom DalePeter WagenetErik Bryn\n", "Option values were rendered");
  equal(select.get('selection'), null, "Nothing has been selected");

  run(function() {
    application.selectedPersonController.set('person', erik);
  });

  equal(select.get('selection'), erik, "Selection was updated through binding");
  run(function() {
    application.peopleController.pushObject(Person.create({id: 5, firstName: "James", lastName: "Rosen"}));
  });

  equal(select.$('option').length, 6, "New option was added");
  equal(select.get('selection'), erik, "Selection was maintained after new option was added");
});
Example #20
0
 run(function() {
   lookup.App = App = Namespace.create({
     isGreat: true,
     isEnabled: true
   });
 });