diff --git a/core/core.js b/core/core.js index 20c2118ab9..3e1d3694d5 100644 --- a/core/core.js +++ b/core/core.js @@ -220,18 +220,10 @@ valuePropertyDescriptor.value = function specialize(prototypeProperties, constru Montage.defineProperty(constructor, "objectDescriptor", prototypeProperties.objectDescriptor); } - if ("blueprint" in prototypeProperties) { - Montage.defineProperty(constructor, "blueprint", prototypeProperties.blueprint); - } - if ("objectDescriptorModuleId" in prototypeProperties) { Montage.defineProperty(constructor, "objectDescriptorModuleId", prototypeProperties.objectDescriptorModuleId); } - if ("blueprintModuleId" in prototypeProperties) { - Montage.defineProperty(constructor, "blueprintModuleId", prototypeProperties.blueprintModuleId); - } - Montage.defineProperties(prototype, prototypeProperties, true); // needs to be done afterwards so that it overrides any prototype properties @@ -1638,32 +1630,6 @@ exports._objectDescriptorModuleIdDescriptor = { } }; -/*** - * @deprecated use exports._objectDescriptorModuleIdDescriptor - */ -exports._blueprintModuleIdDescriptor = { - serializable:false, - enumerable: false, - get:function () { - var info = Montage.getInfoForObject(this); - var self = (info && !info.isInstance) ? this : this.constructor; - if ((!Object.getOwnPropertyDescriptor(self, "_objectDescriptorModuleId")) || (!self._objectDescriptorModuleId)) { - info = Montage.getInfoForObject(self); - var moduleId = info.moduleId, - slashIndex = moduleId.lastIndexOf("/"), - dotIndex = moduleId.lastIndexOf("."); - slashIndex = ( slashIndex === -1 ? 0 : slashIndex + 1 ); - dotIndex = ( dotIndex === -1 ? moduleId.length : dotIndex ); - dotIndex = ( dotIndex < slashIndex ? moduleId.length : dotIndex ); - Montage.defineProperty(self, "_objectDescriptorModuleId", { - enumerable: false, - value: moduleId.slice(0, dotIndex) + ".meta" - }); - } - return self._objectDescriptorModuleId; - } -}; - exports._objectDescriptorDescriptor = { serializable:false, enumerable: false, @@ -1671,7 +1637,7 @@ exports._objectDescriptorDescriptor = { var info = Montage.getInfoForObject(this); var self = info && !info.isInstance ? this : this.constructor; if (!Object.getOwnPropertyDescriptor(self, "_objectDescriptor") || !self._objectDescriptor) { - var objectDescriptorModuleId = self.objectDescriptorModuleId || self.blueprintModuleId; + var objectDescriptorModuleId = self.objectDescriptorModuleId; if (!objectDescriptorModuleId) { throw new TypeError("ObjectDescriptor moduleId undefined for the module '" + JSON.stringify(self) + "'"); } @@ -1720,11 +1686,6 @@ exports._objectDescriptorDescriptor = { } }; -/** - * @deprecated use exports._objectDescriptorDescriptor - */ -exports._blueprintDescriptor = exports._objectDescriptorDescriptor; - // has to come last since serializer and deserializer depend on logger, which // in turn depends on montage running to completion require("./serialization/bindings"); diff --git a/core/event/action-event-listener.js b/core/event/action-event-listener.js index 4a3217c618..6dda843bcc 100644 --- a/core/event/action-event-listener.js +++ b/core/event/action-event-listener.js @@ -82,7 +82,7 @@ var ActionEventListener = exports.ActionEventListener = Montage.specialize( /** } }, { - blueprintModuleId: require("../core")._blueprintModuleIdDescriptor, - blueprint: require("../core")._blueprintDescriptor + objectDescriptorModuleId: require("../core")._objectDescriptorModuleIdDescriptor, + objectDescriptor: require("../core")._objectDescriptorDescriptor }); diff --git a/core/event/action-event-listener.meta b/core/event/action-event-listener.meta index 3664130a2e..ea0f08e42e 100644 --- a/core/event/action-event-listener.meta +++ b/core/event/action-event-listener.meta @@ -1,26 +1,26 @@ { "actionEventListener_handler": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "handler", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "object" } }, "actionEventListener_action": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "action", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "string" } }, "root": { - "prototype": "core/meta/module-blueprint", + "prototype": "core/meta/module-descriptor", "values": { "name": "ActionEventListener", "customPrototype": false, @@ -32,7 +32,7 @@ "@": "actionEventListener_action" } ], - "propertyBlueprintGroups": { + "propertyDescriptorGroups": { "actionEventListener": [ { "@": "actionEventListener_handler" @@ -42,7 +42,7 @@ } ] }, - "blueprintModule": { + "objectDescriptorModule": { "%": "core/event/action-event-listener.meta" }, "exportName": "ActionEventListener", diff --git a/core/media-controller.js b/core/media-controller.js index f3b4b3d48c..b73bb80afe 100644 --- a/core/media-controller.js +++ b/core/media-controller.js @@ -617,8 +617,8 @@ var MediaController = exports.MediaController = Target.specialize(/** @lends Med }, { - blueprintModuleId:require("./core")._blueprintModuleIdDescriptor, + objectDescriptorModuleId:require("./core")._objectDescriptorModuleIdDescriptor, - blueprint:require("./core")._blueprintDescriptor + objectDescriptor:require("./core")._objectDescriptorDescriptor }); diff --git a/core/media-controller.meta b/core/media-controller.meta index b41c363450..c31dfd6058 100644 --- a/core/media-controller.meta +++ b/core/media-controller.meta @@ -1,9 +1,9 @@ { "mediaController_status": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "status", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "number", @@ -12,10 +12,10 @@ }, "mediaController_STOPPED": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "STOPPED", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "number", @@ -24,10 +24,10 @@ }, "mediaController_PLAYING": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "PLAYING", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "number", @@ -36,10 +36,10 @@ }, "mediaController_PAUSED": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "PAUSED", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "number", @@ -48,10 +48,10 @@ }, "mediaController_EMPTY": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "EMPTY", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "number", @@ -60,10 +60,10 @@ }, "mediaController_mediaController": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "mediaController", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "object", @@ -72,10 +72,10 @@ }, "mediaController_position": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "position", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "number", @@ -84,10 +84,10 @@ }, "mediaController_duration": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "duration", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "number", @@ -96,10 +96,10 @@ }, "mediaController_autoplay": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "autoplay", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "boolean", @@ -108,10 +108,10 @@ }, "mediaController_playbackRate": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "playbackRate", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "number", @@ -120,10 +120,10 @@ }, "mediaController_currentTime": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "currentTime", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "number", @@ -132,10 +132,10 @@ }, "mediaController_volume": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "volume", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "number", @@ -144,10 +144,10 @@ }, "mediaController_mute": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "mute", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "boolean", @@ -156,14 +156,14 @@ }, "root": { - "prototype": "core/meta/module-blueprint", + "prototype": "core/meta/module-object-descriptor", "values": { "name": "MediaController", "exportName": "MediaController", "module": { "%": "core/media-controller" }, - "blueprintModule": { + "objectDescriptorModule": { "%": "core/media-controller.meta" }, "prototypeName": "MediaController", diff --git a/core/meta/association-blueprint.js b/core/meta/association-blueprint.js deleted file mode 100644 index 71dc62ea9c..0000000000 --- a/core/meta/association-blueprint.js +++ /dev/null @@ -1 +0,0 @@ -exports.AssociationBlueprint = require("./property-descriptor").PropertyDescriptor; diff --git a/core/meta/association-blueprint.meta b/core/meta/association-blueprint.meta deleted file mode 100644 index 3e769ef46d..0000000000 --- a/core/meta/association-blueprint.meta +++ /dev/null @@ -1,49 +0,0 @@ -{ - "association_target_blueprint": { - "prototype": "core/meta/property-blueprint", - "values": { - "name": "targetBlueprint", - "blueprint": { - "@": "root" - }, - "mandatory": true, - "valueType": "object", - "valueObjectPrototypeName": "Blueprint", - "valueObjectModuleId": "core/meta/blueprint", - "helpKey": "" - } - }, - "property_blueprint_reference": { - "object": "core/meta/property-blueprint.meta" - }, - "root": { - "prototype": "core/meta/module-blueprint", - "values": { - "name": "AssociationBlueprint", - "customPrototype": false, - "parent": { - "@": "property_blueprint_reference" - }, - "propertyDescriptors": [ - { - "@": "association_target_blueprint" - } - ], - "propertyDescriptorGroups": { - "association-blueprint": [ - { - "@": "association_target_blueprint" - } - ] - }, - "propertyValidationRules": {}, - "blueprintModule": { - "%": "core/meta/association-blueprint.meta" - }, - "exportName": "AssociationBlueprint", - "module": { - "%": "core/meta/association-blueprint" - } - } - } -} diff --git a/core/meta/binder-manager.js b/core/meta/binder-manager.js deleted file mode 100644 index 3e88d6d5d0..0000000000 --- a/core/meta/binder-manager.js +++ /dev/null @@ -1 +0,0 @@ -exports.BinderManager = require("./model-group").ModelGroup; diff --git a/core/meta/binder-reference.js b/core/meta/binder-reference.js deleted file mode 100644 index bb0bb58543..0000000000 --- a/core/meta/binder-reference.js +++ /dev/null @@ -1 +0,0 @@ -exports.BinderReference = require("./model-reference").ModelReference; diff --git a/core/meta/binder-reference.meta b/core/meta/binder-reference.meta deleted file mode 120000 index 19a665e68e..0000000000 --- a/core/meta/binder-reference.meta +++ /dev/null @@ -1 +0,0 @@ -model-reference.mjson \ No newline at end of file diff --git a/core/meta/binder.js b/core/meta/binder.js deleted file mode 100644 index 023dbce403..0000000000 --- a/core/meta/binder.js +++ /dev/null @@ -1 +0,0 @@ -exports.Binder = require("./model").Model; diff --git a/core/meta/binder.meta b/core/meta/binder.meta deleted file mode 120000 index ab850505f9..0000000000 --- a/core/meta/binder.meta +++ /dev/null @@ -1 +0,0 @@ -model.mjson \ No newline at end of file diff --git a/core/meta/blueprint-reference.js b/core/meta/blueprint-reference.js deleted file mode 100644 index a90c4d4414..0000000000 --- a/core/meta/blueprint-reference.js +++ /dev/null @@ -1 +0,0 @@ -exports.BlueprintReference = require("./object-descriptor-reference").ObjectDescriptorReference; diff --git a/core/meta/blueprint-reference.meta b/core/meta/blueprint-reference.meta deleted file mode 120000 index 1f508b459e..0000000000 --- a/core/meta/blueprint-reference.meta +++ /dev/null @@ -1 +0,0 @@ -object-descriptor-reference.mjson \ No newline at end of file diff --git a/core/meta/blueprint.js b/core/meta/blueprint.js deleted file mode 100644 index faf763ed9b..0000000000 --- a/core/meta/blueprint.js +++ /dev/null @@ -1 +0,0 @@ -exports.Blueprint = require("./object-descriptor").ObjectDescriptor; diff --git a/core/meta/blueprint.meta b/core/meta/blueprint.meta deleted file mode 120000 index 769722d7e7..0000000000 --- a/core/meta/blueprint.meta +++ /dev/null @@ -1 +0,0 @@ -object-descriptor.mjson \ No newline at end of file diff --git a/core/meta/derived-property-blueprint.js b/core/meta/derived-property-blueprint.js deleted file mode 100644 index ca6790969b..0000000000 --- a/core/meta/derived-property-blueprint.js +++ /dev/null @@ -1 +0,0 @@ -exports.DerivedPropertyBlueprint = require("./derived-descriptor").DerivedDescriptor; diff --git a/core/meta/derived-property-blueprint.meta b/core/meta/derived-property-blueprint.meta deleted file mode 120000 index be678b2c31..0000000000 --- a/core/meta/derived-property-blueprint.meta +++ /dev/null @@ -1 +0,0 @@ -derived-descriptor.mjson \ No newline at end of file diff --git a/core/meta/event-blueprint.js b/core/meta/event-blueprint.js deleted file mode 100644 index c73cdb2209..0000000000 --- a/core/meta/event-blueprint.js +++ /dev/null @@ -1 +0,0 @@ -exports.EventBlueprint = require("./event-descriptor").EventDescriptor; diff --git a/core/meta/event-blueprint.meta b/core/meta/event-blueprint.meta deleted file mode 120000 index d694378446..0000000000 --- a/core/meta/event-blueprint.meta +++ /dev/null @@ -1 +0,0 @@ -event-descriptor.mjson \ No newline at end of file diff --git a/core/meta/event-descriptor.js b/core/meta/event-descriptor.js index 6bd1449387..7613563a34 100644 --- a/core/meta/event-descriptor.js +++ b/core/meta/event-descriptor.js @@ -34,20 +34,6 @@ exports.EventDescriptor = Montage.specialize( /** @lends EventDescriptor# */ { } }, - /** - * Initialize a newly allocated event descriptor. - * @deprecated - * @function - * @param {string} name name of the event descriptor to create - * @param {ObjectDescriptor} objectDescriptor - * @returns itself - */ - initWithNameAndBlueprint: { - value: deprecate.deprecateMethod(void 0, function (name, blueprint) { - return this.initWithNameAndObjectDescriptor(name, blueprint); - }, "new EventBlueprint().initWithNameAndBlueprint", "new EventDescriptor().initWithNameAndObjectDescriptor") - }, - serializeSelf: { value:function (serializer) { serializer.setProperty("name", this.name); @@ -62,7 +48,7 @@ exports.EventDescriptor = Montage.specialize( /** @lends EventDescriptor# */ { deserializeSelf: { value:function (deserializer) { this._name = deserializer.getProperty("name"); - this._owner = deserializer.getProperty("objectDescriptor") || deserializer.getProperty("blueprint"); + this._owner = deserializer.getProperty("objectDescriptor"); this.detailKeys = this._getPropertyWithDefaults(deserializer, "detailKeys"); this.helpKey = this._getPropertyWithDefaults(deserializer, "helpKey"); } @@ -155,13 +141,5 @@ exports.EventDescriptor = Montage.specialize( /** @lends EventDescriptor# */ { }, objectDescriptorModuleId: require("../core")._objectDescriptorModuleIdDescriptor, - objectDescriptor: require("../core")._objectDescriptorDescriptor, - - /****************************************************************************** - * Deprecated Methods - */ - - blueprintModuleId: require("../core")._blueprintModuleIdDescriptor, - blueprint: require("../core")._blueprintDescriptor - + objectDescriptor: require("../core")._objectDescriptorDescriptor }); diff --git a/core/meta/model-group.js b/core/meta/model-group.js index e377d16abe..3700ce01dd 100644 --- a/core/meta/model-group.js +++ b/core/meta/model-group.js @@ -187,97 +187,5 @@ exports.ModelGroup = Montage.specialize( /** @lends ModelGroup.prototype # */ { } return this._defaultModel; } - }, - - /****************************************************************************** - * Deprecated Methods - */ - - /** - * Return the list of models registered on the group. - * @deprecated - * @readonly - * @returns {Array.} - */ - binders: { - get: deprecate.deprecateMethod(void 0, function () { - return this.models; - }, "binders", "models") - }, - - /** - * Add a new model - * @deprecated - * @function - * @param {Model} model - */ - addBinder: { - value: deprecate.deprecateMethod(void 0, function (binder) { - this.addModel(binder); - }, "addBinder", "addModel") - }, - - /** - * @deprecated - * @function - * @param {Binder} binder - */ - removeBinder: { - value: deprecate.deprecateMethod(void 0, function (binder) { - return this.removeModel(binder); - }, "removeBinder", "removeModel") - }, - - /** - * @deprecated - * Gets the model associated with the name. - * @param {string} name - */ - binderForName: { - value: deprecate.deprecateMethod(void 0, function (name) { - // return this._binderTable[name]; - return this.modelForName(name); - }, "binderForName", "modelForName") - }, - - /** - * Search through the binders for an object descriptor that extends that prototype. - * @deprecated - * @function - * @param {string} prototypeName - * @param {string} moduleId - * @returns The requested object descriptor or null if this prototype is not - * managed. - */ - blueprintForPrototype: { - value: deprecate.deprecateMethod(void 0, function (prototypeName, moduleId) { - return this.objectDescriptorForPrototype(prototypeName); - }, "blueprintForPrototype", "objectDescriptorForPrototype") - }, - - /** - * Return the default object property. - * This is the last resort property declaration object. - * @deprecated - * @readonly - * @returns {ObjectProperty} default object property - */ - defaultBlueprintObjectProperty: { - get: deprecate.deprecateMethod(void 0, function () { - return this.defaultObjectDescriptorObjectProperty; - }, "defaultBlueprintObjectProperty", "defaultObjectDescriptorObjectProperty") - }, - - /** - * Return the default model. - * - * @readonly - * @returns {Model} default model - */ - defaultBinder: { - get: deprecate.deprecateMethod(void 0, function () { - return this.defaultModel; - }, "defaultBinder", "defaultModel") } - }); diff --git a/core/meta/model.js b/core/meta/model.js index 6ac88f0cbc..150a1847bc 100644 --- a/core/meta/model.js +++ b/core/meta/model.js @@ -70,11 +70,11 @@ var Model = exports.Model = Montage.specialize( /** @lends Model.prototype # */ this._name = deserializer.getProperty("name"); //copy contents into the objectDescriptors array - value = deserializer.getProperty("objectDescriptors") || deserializer.getProperty("blueprints"); + value = deserializer.getProperty("objectDescriptors"); if (value) { this._objectDescriptors = value; } - this.modelInstanceModuleId = deserializer.getProperty("objectModelModuleId") || deserializer.getProperty("binderModuleId"); + this.modelInstanceModuleId = deserializer.getProperty("objectModelModuleId"); } }, @@ -276,89 +276,6 @@ var Model = exports.Model = Montage.specialize( /** @lends Model.prototype # */ objectDescriptorModuleId: require("../core")._objectDescriptorModuleIdDescriptor, objectDescriptor: require("../core")._objectDescriptorDescriptor, - - /****************************************************************************** - * Deprecated Methods - */ - - - /** - * The list of object descriptors in this model. - * @deprecated - * @readonly - * @returns {Array.} - */ - blueprints: { - get: deprecate.deprecateMethod(void 0, function () { - return this.objectDescriptors; - }, "blueprints", "objectDescriptors") - }, - - /** - * @deprecated - * @function - * @param {?ObjectDescriptor} objectDescriptor - * @returns objectDescriptor - */ - addBlueprint: { - value: deprecate.deprecateMethod(void 0, function (blueprint) { - return this.addObjectDescriptor(blueprint); - }, "addBlueprint", "addObjectDescriptor") - }, - - /** - * @deprecated - * @function - * @param {ObjectDescriptor} objectDescriptor - * @returns objectDescriptor - */ - removeBlueprint: { - value: deprecate.deprecateMethod(void 0, function (blueprint) { - return this.removeObjectDescriptor(blueprint); - }, "removeBlueprint", "removeObjectDescriptor") - }, - - /** - * @deprecated - * @function - * @param {string} name - * @param {string} moduleID - * @returns {ObjectDescriptor} The new objectDescriptor - */ - addBlueprintNamed: { - value: deprecate.deprecateMethod(void 0, function (name) { - return this.addObjectDescriptorNamed(name); - }, "addBlueprintNamed", "addObjectDescriptorNamed") - }, - - /** - * @deprecated - * Return the objectDescriptor associated with this prototype. - * @function - * @param {string} prototypeName - * @param {string} moduleId - * @returns {?ObjectDescriptor} objectDescriptor - */ - blueprintForPrototype: { - value: deprecate.deprecateMethod(void 0, function (prototypeName) { - return this.blueprintForName(prototypeName); - }, "blueprintForPrototype", "blueprintForName") - }, - - /** - * @deprecated - * @param {string} name - * @returns {?ObjectDescriptor} - */ - blueprintForName: { - value: deprecate.deprecateMethod(void 0, function (name) { - return this.objectDescriptorForName(name); - }, "blueprintForName", "objectDescriptorForName") - }, - - blueprintModuleId: require("../core")._objectDescriptorModuleIdDescriptor, - blueprint: require("../core")._objectDescriptorDescriptor - }, { /** @@ -373,21 +290,6 @@ var Model = exports.Model = Montage.specialize( /** @lends Model.prototype # */ } return _group; } - }, - - /****************************************************************************** - * Deprecated Methods - */ - - /** - * @deprecated - * Returns the model group. - * @returns {ModelGroup} - */ - manager: { - get: deprecate.deprecateMethod(void 0, function () { - return exports.Model.group; - }, "Binder.manager", "Model.group") } }); diff --git a/core/meta/module-blueprint.js b/core/meta/module-blueprint.js deleted file mode 100644 index 0e98338c95..0000000000 --- a/core/meta/module-blueprint.js +++ /dev/null @@ -1 +0,0 @@ -exports.ModuleBlueprint = require("./module-object-descriptor").ModuleObjectDescriptor; diff --git a/core/meta/module-object-descriptor.js b/core/meta/module-object-descriptor.js index e860293612..da3ea7c9e4 100644 --- a/core/meta/module-object-descriptor.js +++ b/core/meta/module-object-descriptor.js @@ -168,31 +168,6 @@ var ModuleObjectDescriptor = exports.ModuleObjectDescriptor = ObjectDescriptor.s return objectDescriptor; }); } - }, - - /*************************************************************** - * Deprecated methods. - */ - - /** - * Gets an object descriptor from a serialized file at the given module id. - * @deprecated - * @function - * @param {string} object descriptor module id - * @param {function} require function - */ - getBlueprintWithModuleId: { - value: deprecate.deprecateMethod(void 0, function (moduleId, _require) { - return ModuleObjectDescriptor.getObjectDescriptorWithModuleId(moduleId, _require); - }, "ModuleBlueprint.getBlueprintWithModuleId", "ModuleObjectDescriptor.getObjectDescriptorWithModuleId") - }, - - /** - * @deprecated - */ - createDefaultBlueprintForObject: { - value: deprecate.deprecateMethod(void 0, function (object) { - return ModuleObjectDescriptor.createDefaultObjectDescriptorForObject(object); - }, "ModuleBlueprint.createDefaultBlueprintForObject", "ModuleObjectDescriptor.createDefaultObjectDescriptorForObject") } + }); diff --git a/core/meta/object-descriptor-reference.js b/core/meta/object-descriptor-reference.js index 0a60c9760e..196bc3bf5a 100644 --- a/core/meta/object-descriptor-reference.js +++ b/core/meta/object-descriptor-reference.js @@ -25,7 +25,7 @@ exports.ObjectDescriptorReference = RemoteReference.specialize( { } return [ "objectDescriptor", - (this._reference.objectDescriptorName || this._reference.blueprintName || "unnamed").toLowerCase(), + (this._reference.objectDescriptorName || "unnamed").toLowerCase(), "reference" ].join("_"); } @@ -34,9 +34,8 @@ exports.ObjectDescriptorReference = RemoteReference.specialize( { valueFromReference: { value: function (references) { - // TODO: references.blueprintModule && references.binderReference are deprecated. - var objectDescriptorModule = references.objectDescriptorModule || references.blueprintModule, - modelReference = references.modelReference || references.binderReference, + var objectDescriptorModule = references.objectDescriptorModule, + modelReference = references.modelReference, modelPromise = Promise.resolve(ModelModule.Model.group.defaultModel); if (modelReference) { modelPromise = ModelReference.prototype.valueFromReference(modelReference, require); diff --git a/core/meta/object-descriptor-reference.mjson b/core/meta/object-descriptor-reference.mjson index fd416f4f12..8d12976782 100644 --- a/core/meta/object-descriptor-reference.mjson +++ b/core/meta/object-descriptor-reference.mjson @@ -23,7 +23,7 @@ "@": "value_target_object_descriptor" } ], - "propertyBlueprintGroups": { + "propertyDescriptorGroups": { "associations": [ { "@": "value_target_object_descriptor" diff --git a/core/meta/object-descriptor.js b/core/meta/object-descriptor.js index d8099b6635..49491c87b6 100644 --- a/core/meta/object-descriptor.js +++ b/core/meta/object-descriptor.js @@ -90,7 +90,7 @@ var ObjectDescriptor = exports.ObjectDescriptor = Montage.specialize( /** @lends if (value) { this._model = value; } - this.objectDescriptorInstanceModule = deserializer.getProperty("objectDescriptorModule") || deserializer.getProperty("blueprintModule"); + this.objectDescriptorInstanceModule = deserializer.getProperty("objectDescriptorModule"); parentReference = deserializer.getProperty("parent"); if (parentReference && parentReference.promise && parentReference.valueFromReference) { deprecate.deprecationWarningOnce("parent reference via ObjectDescriptorReference", "direct reference with object syntax"); @@ -101,16 +101,16 @@ var ObjectDescriptor = exports.ObjectDescriptor = Montage.specialize( /** @lends this.customPrototype = this._getPropertyWithDefaults(deserializer, "customPrototype"); // - value = deserializer.getProperty("propertyDescriptors") || deserializer.getProperty("propertyBlueprints"); + value = deserializer.getProperty("propertyDescriptors"); if (value) { this._propertyDescriptors = value; } - value = deserializer.getProperty("propertyDescriptorGroups") || deserializer.getProperty("propertyBlueprintGroups"); + value = deserializer.getProperty("propertyDescriptorGroups"); if (value) { this._propertyDescriptorGroups = value; } - value = deserializer.getProperty("eventDescriptors") || deserializer.getProperty("eventBlueprints"); + value = deserializer.getProperty("eventDescriptors"); if (value) { this._eventDescriptors = value; } @@ -321,7 +321,7 @@ var ObjectDescriptor = exports.ObjectDescriptor = Montage.specialize( /** @lends }, /** - * Blueprint parent + * ObjectDescriptor parent * @type {?ObjectDescriptor} */ parent: { @@ -490,44 +490,6 @@ var ObjectDescriptor = exports.ObjectDescriptor = Montage.specialize( /** @lends } }, - /** - * Convenience to add an property descriptor to one relationship. - * @deprecated - * @function - * @param {string} name - * @param {string} inverse - * @returns {PropertyDescriptor} - */ - addToOneAssociationBlueprintNamed: { - value: function (name, inverse) { - var relationship = this.addPropertyDescriptor(this.addToOnePropertyDescriptorNamed(name)); - if (inverse) { - relationship.valueDescriptor = inverse.owner; - inverse.valueDescriptor = this; - } - return relationship; - } - }, - - /** - * Convenience to add an property descriptor to many relationships. - * @deprecated - * @function - * @param {string} name TODO - * @param {string} inverse TODO - * @returns {PropertyDescriptor} - */ - addToManyAssociationBlueprintNamed: { - value: function (name, inverse) { - var relationship = this.addPropertyDescriptor(this.addToManyPropertyDescriptorNamed(name)); - if (inverse) { - relationship.valueDescriptor = inverse.owner; - inverse.valueDescriptor = this; - } - return relationship; - } - }, - /** * @function * @param {string} name @@ -564,7 +526,7 @@ var ObjectDescriptor = exports.ObjectDescriptor = Montage.specialize( /** @lends /** * List of properties descriptor groups names - * @returns {Array.} + * @returns {Array.} */ propertyDescriptorGroups: { get: function () { @@ -636,7 +598,7 @@ var ObjectDescriptor = exports.ObjectDescriptor = Montage.specialize( /** @lends * @function * @param {string} property to add * @param {string} name of the group - * @returns {Array.} property descriptor group + * @returns {Array.} property descriptor group */ addPropertyDescriptorToGroupNamed: { value: function (propertyDescriptor, groupName) { @@ -895,334 +857,7 @@ var ObjectDescriptor = exports.ObjectDescriptor = Montage.specialize( /** @lends objectDescriptorModuleId: require("../core")._objectDescriptorModuleIdDescriptor, objectDescriptor: require("../core")._objectDescriptorDescriptor, - /********************************************************************************** - * Deprecated methods. - */ - /** - * Add a new event descriptor to this object descriptor. - * - * If that event descriptor was associated with another object descriptor it will - * be removed first. - * - * @function - * @param {string} property descriptor The property descriptor to be added. - * @returns {EventDescriptor} - */ - addEventBlueprint: { - value: deprecate.deprecateMethod(void 0, function (eventBlueprint) { - return this.addEventDescriptor(eventBlueprint); - }, "addEventBlueprint", "addEventDescriptor") - }, - - /** - * Convenience to add an event descriptor. - * @function - * @param {string} name - * @returns {EventDescriptor} - */ - addEventBlueprintNamed: { - value: deprecate.deprecateMethod(void 0, function (name) { - return this.addEventDescriptorNamed(name); - }, "addEventBlueprintNamed", "addEventDescriptorNamed") - }, - - /** - * Add a new property descriptor to this object descriptor. - * - * If that property descriptor was associated with another object descriptor it will - * be removed first. - * @deprecated - * @function - * @param {PropertyDescriptor} property descriptor The property descriptor to - * be added. - * @returns the property descriptor - */ - addPropertyBlueprint: { - value: deprecate.deprecateMethod(void 0, function (propertyBlueprint) { - this.addPropertyDescriptor(propertyBlueprint); - }, "addPropertyBlueprint", "addPropertyDescriptor") - }, - - /** - * Add a new property descriptor group. - * @function - * @param {string} name of the group - * @returns {Array.} new property descriptor group - */ - addPropertyBlueprintGroupNamed: { - value: deprecate.deprecateMethod(void 0, function (groupName) { - this.addPropertyDescriptorGroupNamed(groupName); - }, "addPropertyBlueprintGroupNamed", "addPropertyDescriptorGroupNamed") - }, - - /** - * Adds a property descriptor to the group name. - * if the group does not exist creates it. - * @function - * @param {string} property to add - * @param {string} name of the group - * @returns {Array.} property descriptor group - */ - addPropertyBlueprintToGroupNamed: { - value: deprecate.deprecateMethod(void 0, function (propertyBlueprint, groupName) { - this.addPropertyDescriptorToGroupNamed(propertyBlueprint, groupName); - }, "addPropertyBlueprintToGroupNamed", "addPropertyDescriptorToGroupNamed") - }, - - /** - * @deprecated - */ - addToOnePropertyBlueprintNamed: { - value: deprecate.deprecateMethod(void 0, function (name) { - return this.addToOnePropertyDescriptorNamed(name); - }, "addToOnePropertyBlueprintNamed", "addToOnePropertyDescriptorNamed") - }, - - /** - * @deprecated - */ - addToManyPropertyBlueprintNamed: { - value: deprecate.deprecateMethod(void 0, function (name) { - return this.addToManyPropertyDescriptorNamed(name); - }, "addToManyPropertyBlueprintNamed", "addToManyPropertyDescriptorNamed") - }, - - /** - * @deprecated - * This is used for references only so that we can reload referenced - * object descriptors. - */ - blueprintInstanceModule: { - serializable: false, - get: deprecate.deprecateMethod(void 0, function () { - return this.objectDescriptorInstanceModule; - }, "blueprintInstanceModule.get", "objectDescriptorInstanceModule.get"), - set: deprecate.deprecateMethod(void 0, function (value) { - this.objectDescriptorInstanceModule = value; - }, "blueprintInstanceModule.set", "objectDescriptorInstanceModule.set") - }, - - /** - * @deprecated - * @returns {Model} - * @default null - */ - binder: { - serializable: false, - get: deprecate.deprecateMethod(void 0, function () { - return this.model; - }, "binder.get", "model.get"), - set: deprecate.deprecateMethod(void 0, function (value) { - this.model = value; - }, "binder.set", "model.set") - }, - - /** - * @deprecated - * @function - * @param {string} name - * @returns {EventDescriptor} - */ - eventBlueprintForName: { - value: deprecate.deprecateMethod(void 0, function (name) { - return this.eventDescriptorForName(name); - }, "eventBlueprintForName", "eventDescriptorForName") - }, - - /** - * @property {Array.} value - */ - eventBlueprints: { - // value: null - get: deprecate.deprecateMethod(void 0, function () { - return this.eventDescriptors; - }, "eventBlueprints.get", "eventDescriptors.get"), - set: deprecate.deprecateMethod(void 0, function (value) { - this.eventDescriptors = value; - }, "eventBlueprints.set", "eventDescriptors.set") - }, - - /** - * Return a new property descriptor. - * **Note:** This method is deprecated use addToOnePropertyDescriptor - * and addToManyPropertyDescriptor to model relationships. - * @deprecated - * @param {string} name of the property descriptor to create - * @param {number} cardinality name of the property descriptor to create - * @returns {PropertyDescriptor} - */ - // TODO: Deprecate -- discuss with Benoit. - newAssociationBlueprint: { - value: function (name, cardinality) { - // TODO: Implement. - return cardinality === 1 ? this.addToOnePropertyDescriptorNamed(name) : - this.addToManyPropertyDescriptorNamed(name); - } - }, - - /** - * Return a new derived descriptor. - * **Note:** This is the canonical way of creating new derived descriptors. - * in order to enable subclassing. - * @deprecated - * @param {string} name of the derived descriptor to create - * @param {number} the cardinality to use for the descriptor. - * @returns {DerivedDescriptor} - */ - newDerivedPropertyBlueprint: { - value: deprecate.deprecateMethod(void 0, function (name, cardinality) { - return this.newDerivedDescriptor(name, cardinality); - }, "newDerivedPropertyBlueprint", "newDerivedDescriptor") - }, - - /** - * Return a new derived descriptor. - * **Note:** This is the canonical way of creating new derived descriptors. - * in order to enable subclassing. - * @deprecated - * @param {string} name of the derived descriptor to create - * @param {number} the cardinality to use for the descriptor. - * @returns {DerivedDescriptor} - */ - newDerivedDescriptor: { - value: function (name, cardinality) { - return new DerivedDescriptor().initWithNameObjectDescriptorAndCardinality(name, this, cardinality); - } - }, - - /** - * Return a new event descriptor. - * **Note:** This is the canonical way of creating new event descriptor in - * order to enable subclassing. - * @deprecated - * @param {string} name name of the event descriptor to create - */ - newEventBlueprint: { - value: deprecate.deprecateMethod(void 0, function (name) { - return this.newEventDescriptor(name); - }, "newEventBlueprint", "newEventDescriptor") - }, - - /** - * Return a new property descriptor. - * - * **Note:** This is the canonical way of creating new property descriptors - * in order to enable subclassing. - * @deprecated - * @param {string} name name of the property descriptor to create - * @param {number} cardinality name of the property descriptor to create - * @returns {PropertyDescriptor} - */ - newPropertyBlueprint: { - value: deprecate.deprecateMethod(void 0, function (name, cardinality) { - return this.newPropertyDescriptor(name, cardinality); - }, "newPropertyBlueprint", "newPropertyDescriptor") - }, - - /** - * @deprecated - * @function - * @param {string} name - * @returns {PropertyDescriptor} - */ - propertyBlueprintForName: { - value: deprecate.deprecateMethod(void 0, function (name) { - return this.propertyDescriptorForName(name); - }, "propertyBlueprintForName", "propertyDescriptorForName") - }, - - /** - * List of properties descriptor groups names - * @deprecated - * @returns {Array.} - */ - propertyBlueprintGroups: { - get: deprecate.deprecateMethod(void 0, function () { - return this.propertyDescriptorGroups; - }, "propertyBlueprintGroups", "propertyDescriptorGroups") - }, - - /** - * Returns the group associated with that name - * @deprecated - * @param {string} name of the group - * @returns {Array.} property descriptor group - */ - propertyBlueprintGroupForName: { - value: deprecate.deprecateMethod(void 0, function (groupName) { - return this.propertyDescriptorGroupForName(groupName); - }, "propertyBlueprintGroupForName", "propertyDescriptorForName") - }, - - /** - * Returns the group associated with that name - * @deprecated - */ - propertyBlueprints: { - get: deprecate.deprecateMethod(void 0, function () { - return this.propertyDescriptors; - }, "propertyBlueprints", "propertyDescriptors") - }, - - /** - * Removes a property descriptor from the property descriptor list of this - * object descriptor. - * @deprecated - * @function - * @param {Object} event descriptor The event descriptor to be removed. - * @returns {PropertyDescriptor} - */ - removeEventBlueprint: { - value: deprecate.deprecateMethod(void 0, function (eventBlueprint) { - this.removeEventDescriptor(eventBlueprint); - }, "removeEventBlueprint", "removeEventDescriptor") - }, - - /** - * Removes a property descriptor from the property descriptor list of this - * object descriptor. - * - * @deprecated - * @function - * @param {PropertyDescriptor} property descriptor The property descriptor to - * be removed. - * @returns the same property descriptor - */ - removePropertyBlueprint: { - value: deprecate.deprecateMethod(void 0, function (propertyBlueprint) { - this.removePropertyDescriptor(propertyBlueprint); - }, "removePropertyBlueprint", "removePropertyDescriptor") - }, - - /** - * Removes a property descriptor from the group name. - * @deprecated - * @function - * @param {string} name of the property - * @param {string} name of the group - * @returns {Array.} property descriptor group - */ - removePropertyBlueprintFromGroupNamed: { - value: deprecate.deprecateMethod(void 0, function (propertyBlueprint, groupName) { - this.removePropertyDescriptorFromGroupNamed(propertyBlueprint, groupName); - }, "removePropertyBlueprintFromGroupNamed", "removePropertyDescriptorGroupNamed") - }, - - /** - * Remove the property descriptor group. - * @deprecated - * @function - * @param {string} name of the group to remove - * @returns {Array.} removed property descriptor group - */ - removePropertyBlueprintGroupNamed: { - value: deprecate.deprecateMethod(void 0, function (groupName) { - this.removePropertyDescriptorGroupNamed(groupName); - }, "removePropertyBlueprintGroupNamed", "removePropertyDescriptorGroupNamed") - }, - - /** * Specifies the maximum amount of time that the values of on object * described by an ObjectDescriptor will be considered fresh. * @@ -1232,26 +867,10 @@ var ObjectDescriptor = exports.ObjectDescriptor = Montage.specialize( /** @lends */ maxAge: { value: 240 - }, - - blueprintModuleId:require("../core")._objectDescriptorModuleIdDescriptor, - blueprint: require("../core")._objectDescriptorDescriptor - + } }, { - /** - * @deprecated - * Creates a default object descriptor with all enumerable properties. - * - * **Note:** Value type are set to the string default. - */ - createDefaultBlueprintForObject: { - value: deprecate.deprecateMethod(void 0, function (object) { - return ObjectDescriptor.createDefaultObjectDescriptorForObject(object); - }, "Blueprint.createDefaultBlueprintForObject", "ObjectDescriptor.createDefaultObjectDescriptorForObject") - }, - /** * Creates a default object descriptor with all enumerable properties. * diff --git a/core/meta/object-property.js b/core/meta/object-property.js index 42758fad01..d431f30806 100644 --- a/core/meta/object-property.js +++ b/core/meta/object-property.js @@ -38,7 +38,7 @@ exports.ObjectProperty = Montage.specialize( /** @lends ObjectProperty# */ { * * @function * @param {Object} prototype - * @param {Blueprint} blueprint + * @param {ObjectDescriptor} objectDescriptor */ apply: { value: function (prototype, objectDescriptor) { @@ -58,21 +58,6 @@ exports.ObjectProperty = Montage.specialize( /** @lends ObjectProperty# */ { } }, - /** - * Add all the properties defined in the blueprint to the target prototype. - * - * **Note:** This method will explore the blueprint hierarchy recursively. - * - * @function - * @param {Object} prototype - * @param {Blueprint} blueprint - */ - applyWithBlueprint: { - value: deprecate.deprecateMethod(void 0, function (prototype, objectDescriptor) { - return this.applyWithObjectDescriptor(prototype, objectDescriptor); - }, "applyWithBlueprint", "applyWithObjectDescriptor") - }, - applyWithObjectDescriptor: { value: function (prototype, objectDescriptor) { if (objectDescriptor !== null) { @@ -85,11 +70,11 @@ exports.ObjectProperty = Montage.specialize( /** @lends ObjectProperty# */ { }, /** - * Add all the properties defined in the blueprint to the target prototype. + * Add all the properties defined in the objectDescriptor to the target prototype. * * @function * @param {Object} prototype - * @param {Blueprint} blueprint + * @param {ObjectDescriptor} objectDescriptor */ addProperties: { value: function (prototype, objectDescriptor) { @@ -106,19 +91,10 @@ exports.ObjectProperty = Montage.specialize( /** @lends ObjectProperty# */ { } } - // For backwards compatibility. - Montage.defineProperty(prototype, "blueprint", { enumerable: false, serializable: false, get: function () { - return this._objectDescriptor; - }}); Montage.defineProperty(prototype, "_objectDescriptor", { serializable: false, enumerable: false, value: objectDescriptor }); Montage.defineProperty(prototype, "objectDescriptor", { enumerable: false, serializable: false, get: function () { return this._objectDescriptor; }}); - // TODO: Determine if it is safe to remove blueprintGet && blueprintSet? - // Enable access to the 'inherited' get method for easy override. - Montage.defineProperty(prototype, "blueprintGet", { serializable: false, enumerable: false, value: this.objectDescriptorGet}); - // Enable access to the 'inherited' set method for easy override. - Montage.defineProperty(prototype, "blueprintSet", { serializable: false, enumerable: false, value: this.objectDescriptorSet}); // Enable access to the 'inherited' get method for easy override. Montage.defineProperty(prototype, "objectDescriptorGet", { serializable: false, enumerable: false, value: this.objectDescriptorGet}); // Enable access to the 'inherited' set method for easy override. @@ -212,22 +188,6 @@ exports.ObjectProperty = Montage.specialize( /** @lends ObjectProperty# */ { } }, - /** - * This is the get function called on the target object to access - * properties. - * - * @function - * @param {string} propertyName - * @returns {PropertyDescriptor} - */ - blueprintGet: { - value: deprecate.deprecateMethod(void 0, function (propertyName) { - return this.objectDescriptorGet(propertyName); - }, "blueprintGet", "objectDescriptorGet"), - enumerable: false, - serializable: false - }, - /** * This is the get function called on the target object to access * properties. @@ -246,22 +206,6 @@ exports.ObjectProperty = Montage.specialize( /** @lends ObjectProperty# */ { serializable: false }, - /** - * This is the get function called on the target object to set - * properties. - * - * @function - * @param {string} propertyName - * @param {PropertyBlueprint} value - */ - blueprintSet: { - value: deprecate.deprecateMethod(void 0, function (propertyName, value) { - return this.objectDescriptorSet(propertyName, value); - }, "blueprintSet", "objectDescriptorSet"), - enumerable: false, - serializable: false - }, - /** * This is the get function called on the target object to set * properties. diff --git a/core/meta/property-blueprint.js b/core/meta/property-blueprint.js deleted file mode 100644 index 2ea81459f6..0000000000 --- a/core/meta/property-blueprint.js +++ /dev/null @@ -1 +0,0 @@ -exports.PropertyBlueprint = require("./property-descriptor").PropertyDescriptor; diff --git a/core/meta/property-blueprint.meta b/core/meta/property-blueprint.meta deleted file mode 120000 index 195b273d6a..0000000000 --- a/core/meta/property-blueprint.meta +++ /dev/null @@ -1 +0,0 @@ -property-descriptor.mjson \ No newline at end of file diff --git a/core/meta/property-descriptor.js b/core/meta/property-descriptor.js index 12361d4001..5d8ba37d3f 100644 --- a/core/meta/property-descriptor.js +++ b/core/meta/property-descriptor.js @@ -72,21 +72,6 @@ exports.PropertyDescriptor = Montage.specialize( /** @lends PropertyDescriptor# } }, - /** - * Initialize a newly allocated property descriptor. - * @deprecated - * @function - * @param {string} name name of the property descriptor to create - * @param {ObjectDescriptor} objectDescriptor - * @param {number} cardinality name of the property descriptor to create - * @returns itself - */ - initWithNameBlueprintAndCardinality: { - value: deprecate.deprecateMethod(void 0, function (name, blueprint, cardinality) { - return this.initWithNameObjectDescriptorAndCardinality(name, blueprint, cardinality); - }, "new PropertyBlueprint().initWithNameBlueprintAndCardinality", "new PropertyDescriptor().initWithNameObjectDescriptorAndCardinality") - }, - serializeSelf: { value:function (serializer) { serializer.setProperty("name", this.name); @@ -117,7 +102,7 @@ exports.PropertyDescriptor = Montage.specialize( /** @lends PropertyDescriptor# deserializeSelf: { value:function (deserializer) { this._name = deserializer.getProperty("name"); - this._owner = deserializer.getProperty("objectDescriptor") || deserializer.getProperty("blueprint"); + this._owner = deserializer.getProperty("objectDescriptor"); this.cardinality = this._getPropertyWithDefaults(deserializer, "cardinality"); if (this.cardinality === -1) { this.cardinality = Infinity; @@ -129,7 +114,7 @@ exports.PropertyDescriptor = Montage.specialize( /** @lends PropertyDescriptor# this.collectionValueType = this._getPropertyWithDefaults(deserializer, "collectionValueType"); this.valueObjectPrototypeName = this._getPropertyWithDefaults(deserializer, "valueObjectPrototypeName"); this.valueObjectModuleId = this._getPropertyWithDefaults(deserializer, "valueObjectModuleId"); - this._valueDescriptorReference = this._getPropertyWithDefaults(deserializer, "valueDescriptor", "targetBlueprint"); + this._valueDescriptorReference = this._getPropertyWithDefaults(deserializer, "valueDescriptor"); this.enumValues = this._getPropertyWithDefaults(deserializer, "enumValues"); this.defaultValue = this._getPropertyWithDefaults(deserializer, "defaultValue"); this.helpKey = this._getPropertyWithDefaults(deserializer, "helpKey"); @@ -379,35 +364,6 @@ exports.PropertyDescriptor = Montage.specialize( /** @lends PropertyDescriptor# */ serializable: { value: true - }, - - /******************************************************** - * Deprecated functions - */ - - /** - * @deprecated - * @readonly - * @type {boolean} - * @default false - */ - // TODO: How to handle these case? - isAssociationBlueprint: { - get: deprecate.deprecateMethod(void 0, function () { - return !!this._valueDescriptorReference; - }, "isAssociationBlueprint", "No analog") - }, - - targetBlueprint: { - get: deprecate.deprecateMethod(void 0, function () { - return this.valueDescriptor; - }, "targetBlueprint.get", "valueDescriptor.get"), - set: deprecate.deprecateMethod(void 0, function (value) { - this.valueDescriptor = value; - }, "targetBlueprint.get", "valueDescriptor.set") - }, - - blueprintDescriptorModuleId: require("../core")._objectDescriptorModuleIdDescriptor, - blueprint: require("../core")._objectDescriptorDescriptor + } }); diff --git a/core/meta/remote-reference.js b/core/meta/remote-reference.js index 44047bb58f..aac4d1e646 100644 --- a/core/meta/remote-reference.js +++ b/core/meta/remote-reference.js @@ -91,9 +91,6 @@ exports.RemoteReference = Montage.specialize({ }, objectDescriptorModuleId: require("../core")._objectDescriptorModuleIdDescriptor, - objectDescriptor: require("../core")._objectDescriptorDescriptor, - - blueprintModuleId: require("../core")._objectDescriptorModuleIdDescriptor, - blueprint: require("../core")._objectDescriptorDescriptor + objectDescriptor: require("../core")._objectDescriptorDescriptor }); diff --git a/core/meta/user-interface-descriptor.js b/core/meta/user-interface-descriptor.js index dd084fe5d8..f4325ae02e 100644 --- a/core/meta/user-interface-descriptor.js +++ b/core/meta/user-interface-descriptor.js @@ -16,7 +16,7 @@ Javier want to be able to define which columns should be used in a table, the ra if a user resize a column, where does it get saved? The table would ask the object what does it has for a table. -Needs groups of properties, like in blueprint +Needs groups of properties, like in objectDescriptor When serializing their states, a table view that is data driven, the user tweaks needs to be stored by component unique id and by the type they displayed at the time of change */ @@ -27,7 +27,7 @@ When serializing their states, a table view that is data driven, the user tweaks */ exports.UserInterfaceDescriptor = Montage.specialize( /** @lends UserInterfaceDescriptor.prototype # */ { /** - * The object a UserInterfaceDescriptor describes. This is intented be an ObjectDescriptor/blueprint or a PropertyDescriptor/PropertyBlueprint + * The object a UserInterfaceDescriptor describes. This is intented be an ObjectDescriptor or a PropertyDescriptor * * @type {object} descriptor */ @@ -102,8 +102,8 @@ exports.UserInterfaceDescriptor = Montage.specialize( /** @lends UserInterfaceDe }, /** - * An array of UserInterfaceDescriptors that individually describe the PropertyDescriptors/PropertyBlueprints of this object's descriptor's PropertyDescriptors - * An ObjectDescriptor/Blueprint has groups of propery descriptors that should be respected in term of organization + * An array of UserInterfaceDescriptors that individually describe the PropertyDescriptors of this object's descriptor's PropertyDescriptors + * An ObjectDescriptor has groups of propery descriptors that should be respected in term of organization * * @type {Component} propertyUserInterfaceDescriptors */ diff --git a/core/meta/validation-rule.js b/core/meta/validation-rule.js index 79fcb99059..ff6f5b6b3c 100644 --- a/core/meta/validation-rule.js +++ b/core/meta/validation-rule.js @@ -44,7 +44,7 @@ exports.PropertyValidationRule = Montage.specialize( /** @lends PropertyValidati deserializeSelf: { value: function (deserializer) { this._name = deserializer.getProperty("name"); - this._owner = deserializer.getProperty("objectDescriptor") || deserializer.getProperty("blueprint"); + this._owner = deserializer.getProperty("objectDescriptor"); // this._validationSelector = deserializer.getProperty("validationSelector"); this._messageKey = deserializer.getProperty("messageKey"); // FIXME [PJYF Jan 8 2013] There is an API issue in the deserialization @@ -152,7 +152,7 @@ exports.PropertyValidationRule = Montage.specialize( /** @lends PropertyValidati evaluateRule: { value: function (objectInstance) { if (this._propertyValidationEvaluator === null) { - var propertyValidationSemantics = new PropertyValidationSemantics().initWithBlueprint(this.objectDescriptor); + var propertyValidationSemantics = new PropertyValidationSemantics().initWithObjectDescriptor(this.objectDescriptor); this._propertyValidationEvaluator = propertyValidationSemantics.compile(this.selector.syntax); } return this._propertyValidationEvaluator(objectInstance); @@ -160,29 +160,6 @@ exports.PropertyValidationRule = Montage.specialize( /** @lends PropertyValidati }, objectDescriptorModuleId: require("../core")._objectDescriptorModuleIdDescriptor, - objectDescriptor: require("../core")._objectDescriptorDescriptor, - - /********************************************************************* - * Deprecated methods - */ - - /** - * @deprecated - * Initialize a newly allocated validation rule. - * @deprecated - * @function - * @param {string} rule name - * @param {ObjectDescriptor} objectDescriptor - * @returns itself - */ - initWithNameAndBlueprint: { - value: deprecate.deprecateMethod(void 0, function (name, blueprint) { - return this.initWithNameAndObjectDescriptor(name, blueprint); - }, "initWithNameAndBlueprint", "initWithNameAndObjectDescriptor") - }, - - - blueprintModuleId: require("../core")._objectDescriptorModuleIdDescriptor, - blueprint: require("../core")._objectDescriptorDescriptor + objectDescriptor: require("../core")._objectDescriptorDescriptor }); diff --git a/core/meta/validation-semantics.js b/core/meta/validation-semantics.js index 2267fcdf10..7fdbf0c987 100644 --- a/core/meta/validation-semantics.js +++ b/core/meta/validation-semantics.js @@ -69,33 +69,6 @@ var PropertyValidationSemantics = exports.PropertyValidationSemantics = Semantic }; } } - }, - - /***************************************************************** - * Deprecated Methods - */ - - /** - * @deprecated - * Create a new semantic evaluator with the object descriptor. - * @function - * @param {ObjectDescriptor} objectDescriptor - * @returns itself - */ - initWithBlueprint: { - value: deprecate.deprecateMethod(void 0, function (blueprint) { - return this.initWithObjectDescriptor(blueprint); - }, "initWithBlueprint", "initWithObjectDescriptor") - }, - - /** - * @deprecated - * Component description attached to this validation rule. - */ - blueprint: { - get: deprecate.deprecateMethod(void 0, function () { - return this._blueprint; - }, "blueprint", "objectDescriptor") } }); diff --git a/core/object-controller.js b/core/object-controller.js index 9e08b7494e..86165dc343 100644 --- a/core/object-controller.js +++ b/core/object-controller.js @@ -53,9 +53,9 @@ exports.ObjectController = Montage.specialize( /** @lends ObjectController# */ { value: null }, - blueprintModuleId:require("./core")._blueprintModuleIdDescriptor, + objectDescriptorModuleId:require("./core")._objectDescriptorModuleIdDescriptor, - blueprint:require("./core")._blueprintDescriptor + objectDescriptor:require("./core")._objectDescriptorDescriptor }); diff --git a/core/promise-controller.js b/core/promise-controller.js index d819f792fa..824e25f59a 100644 --- a/core/promise-controller.js +++ b/core/promise-controller.js @@ -166,9 +166,9 @@ exports.PromiseController = Montage.specialize( { }, /** @lends PromiseController. */ { - blueprintModuleId:require("./core")._blueprintModuleIdDescriptor, + objectDescriptorModuleId:require("./core")._objectDescriptorModuleIdDescriptor, - blueprint:require("./core")._blueprintDescriptor + objectDescriptor:require("./core")._objectDescriptorDescriptor }); diff --git a/core/promise-controller.meta b/core/promise-controller.meta index c6ac5db5aa..85c015298e 100644 --- a/core/promise-controller.meta +++ b/core/promise-controller.meta @@ -1,9 +1,9 @@ { "promiseController_promise": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "promise", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "object", @@ -11,10 +11,10 @@ } }, "promiseController_value": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "value", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "object", @@ -22,10 +22,10 @@ } }, "promiseController_error": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "error", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "object", @@ -33,10 +33,10 @@ } }, "promiseController_pending": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "pending", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "boolean", @@ -44,10 +44,10 @@ } }, "promiseController_fulfilled": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "fulfilled", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "boolean", @@ -55,10 +55,10 @@ } }, "promiseController_rejected": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "rejected", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "boolean", @@ -66,7 +66,7 @@ } }, "root": { - "prototype": "core/meta/module-blueprint", + "prototype": "core/meta/module-object-descriptor", "values": { "name": "PromiseController", "customPrototype": false, @@ -113,7 +113,7 @@ ] }, "propertyValidationRules": {}, - "blueprintModule": { + "objectDescriptorModule": { "%": "core/promise-controller.meta" }, "exportName": "PromiseController", diff --git a/core/radio-button-controller.js b/core/radio-button-controller.js index 6daa3be32d..4ce9a7945e 100644 --- a/core/radio-button-controller.js +++ b/core/radio-button-controller.js @@ -142,9 +142,9 @@ exports.RadioButtonController = Montage.specialize(/** @lends RadioButtonControl }, /** @lends RadioButtonController. */ { - blueprintModuleId:require("./core")._blueprintModuleIdDescriptor, + objectDescriptorModuleId:require("./core")._objectDescriptorModuleIdDescriptor, - blueprint:require("./core")._blueprintDescriptor + objectDescriptor:require("./core")._objectDescriptorDescriptor }); diff --git a/core/radio-button-controller.meta b/core/radio-button-controller.meta index 7bbe73f29a..618634c639 100644 --- a/core/radio-button-controller.meta +++ b/core/radio-button-controller.meta @@ -1,38 +1,38 @@ { - "blueprint_radio_button_controller_value": { - "prototype": "core/meta/property-blueprint", + "objectDescriptor_radio_button_controller_value": { + "prototype": "core/meta/property-descriptor", "values": { "name": "value", - "blueprint": { "@": "root" }, + "objectDescriptor": { "@": "root" }, "valueType": "object", "helpKey": "" } }, - "blueprint_radio_button_controller_contentController": { - "prototype": "core/meta/property-blueprint", + "objectDescriptor_radio_button_controller_contentController": { + "prototype": "core/meta/property-descriptor", "values": { "name": "contentController", - "blueprint": { "@": "root" }, + "objectDescriptor": { "@": "root" }, "valueType": "object", "helpKey": "" } }, "root": { - "prototype": "core/meta/module-blueprint", + "prototype": "core/meta/module-object-descriptor", "values": { "name": "RadioButtonController", "propertyDescriptors": [ - { "@": "blueprint_radio_button_controller_value" }, - { "@": "blueprint_radio_button_controller_contentController" } + { "@": "objectDescriptor_radio_button_controller_value" }, + { "@": "objectDescriptor_radio_button_controller_contentController" } ], "propertyDescriptorGroups": { "Selection": [ - { "@": "blueprint_radio_button_controller_value" }, - { "@": "blueprint_radio_button_controller_contentController" } + { "@": "objectDescriptor_radio_button_controller_value" }, + { "@": "objectDescriptor_radio_button_controller_contentController" } ] }, "propertyValidationRules": {}, - "blueprintModule": { "%": "core/radio-button-controller.meta" }, + "objectDescriptorModule": { "%": "core/radio-button-controller.meta" }, "exportName": "RadioButtonController", "module": { "%": "core/radio-button-controller" } } diff --git a/core/range-controller.js b/core/range-controller.js index e764ff7253..b0ea9aa292 100644 --- a/core/range-controller.js +++ b/core/range-controller.js @@ -840,11 +840,11 @@ var RangeController = exports.RangeController = Montage.specialize( /** @lends R } } -}, /** @lends RangeController */ { +}, /** @lends RangeController. */ { - blueprintModuleId:require("./core")._blueprintModuleIdDescriptor, + objectDescriptorModuleId:require("./core")._objectDescriptorModuleIdDescriptor, - blueprint:require("./core")._blueprintDescriptor + objectDescriptor:require("./core")._objectDescriptorDescriptor }); diff --git a/core/range-controller.meta b/core/range-controller.meta index a77315849d..2e7fda17d7 100644 --- a/core/range-controller.meta +++ b/core/range-controller.meta @@ -1,9 +1,9 @@ { "rangeController_content": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "content", - "blueprint": { + "objectDescriptor": { "@": "root" }, "cardinality": -1, @@ -12,10 +12,10 @@ } }, "rangeController_organizedContent": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "organizedContent", - "blueprint": { + "objectDescriptor": { "@": "root" }, "cardinality": -1, @@ -24,10 +24,10 @@ } }, "rangeController_sortPath": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "sortPath", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "string", @@ -35,10 +35,10 @@ } }, "rangeController_reversed": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "reversed", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "boolean", @@ -46,10 +46,10 @@ } }, "rangeController_filterPath": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "filterPath", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "string", @@ -57,10 +57,10 @@ } }, "rangeController_selectAddedContent": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "selectAddedContent", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "boolean", @@ -68,10 +68,10 @@ } }, "rangeController_deselectInvisibleContent": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "deselectInvisibleContent", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "boolean", @@ -79,10 +79,10 @@ } }, "rangeController_clearSelectionOnOrderChange": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "clearSelectionOnOrderChange", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "boolean", @@ -90,10 +90,10 @@ } }, "rangeController_avoidsEmptySelection": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "avoidsEmptySelection", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "boolean", @@ -101,10 +101,10 @@ } }, "rangeController_multiSelect": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "multiSelect", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "boolean", @@ -112,7 +112,7 @@ } }, "root": { - "prototype": "core/meta/module-blueprint", + "prototype": "core/meta/module-object-descriptor", "values": { "name": "RangeController", "customPrototype": false, @@ -183,7 +183,7 @@ ] }, "propertyValidationRules": {}, - "blueprintModule": { + "objectDescriptorModule": { "%": "core/range-controller.meta" }, "exportName": "RangeController", diff --git a/core/tree-controller.meta b/core/tree-controller.meta index b2a5903da1..d81d0f9fa0 100644 --- a/core/tree-controller.meta +++ b/core/tree-controller.meta @@ -1,9 +1,9 @@ { "treeController_content": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "content", - "blueprint": { + "objectDescriptor": { "@": "root" }, "cardinality": -1, @@ -12,10 +12,10 @@ } }, "treeController_childrenPath": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "childrenPath", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "string", @@ -23,10 +23,10 @@ } }, "treeController_initiallyExpanded": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "initiallyExpanded", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "boolean", @@ -34,10 +34,10 @@ } }, "treeController_noneExpanded": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "noneExpanded", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "boolean", @@ -45,10 +45,10 @@ } }, "treeController_allExpanded": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "allExpanded", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "boolean", @@ -56,10 +56,10 @@ } }, "treeController_root": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "root", - "blueprint": { + "objectDescriptor": { "@": "root" }, "valueType": "object", @@ -69,7 +69,7 @@ } }, "root": { - "prototype": "core/meta/module-blueprint", + "prototype": "core/meta/module-object-descriptor", "values": { "name": "TreeController", "customPrototype": false, @@ -116,7 +116,7 @@ ] }, "propertyValidationRules": {}, - "blueprintModule": { + "objectDescriptorModule": { "%": "core/tree-controller.meta" }, "exportName": "TreeController", @@ -126,10 +126,10 @@ } }, "treeControllerNode_content": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "content", - "blueprint": { + "objectDescriptor": { "@": "root" }, "cardinality": -1, @@ -138,10 +138,10 @@ } }, "treeControllerNode_expanded": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "expanded", - "blueprint": { + "objectDescriptor": { "@": "treeControllerNode" }, "valueType": "boolean", @@ -149,10 +149,10 @@ } }, "treeControllerNode_depth": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "depth", - "blueprint": { + "objectDescriptor": { "@": "treeControllerNode" }, "valueType": "number", @@ -160,10 +160,10 @@ } }, "treeControllerNode_index": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "index", - "blueprint": { + "objectDescriptor": { "@": "treeControllerNode" }, "valueType": "number", @@ -171,10 +171,10 @@ } }, "treeControllerNode_isFinal": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "isFinal", - "blueprint": { + "objectDescriptor": { "@": "treeControllerNode" }, "valueType": "boolean", @@ -182,10 +182,10 @@ } }, "treeControllerNode_parent": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "parent", - "blueprint": { + "objectDescriptor": { "@": "treeControllerNode" }, "valueType": "object", @@ -195,10 +195,10 @@ } }, "treeControllerNode_children": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "children", - "blueprint": { + "objectDescriptor": { "@": "treeControllerNode" }, "cardinality": -1, @@ -209,10 +209,10 @@ } }, "treeControllerNode_junctions": { - "prototype": "core/meta/property-blueprint", + "prototype": "core/meta/property-descriptor", "values": { "name": "junctions", - "blueprint": { + "objectDescriptor": { "@": "treeControllerNode" }, "valueType": "object", @@ -220,10 +220,10 @@ } }, "treeControllerNode": { - "prototype": "core/meta/blueprint", + "prototype": "core/meta/object-descriptor", "values": { "name": "TreeControllerNode", - "blueprintModuleId": "core/tree-controller.meta", + "objectDescriptorModuleId": "core/tree-controller.meta", "prototypeName": "TreeControllerNode", "customPrototype": false, "propertyDescriptors": [ diff --git a/test/all.js b/test/all.js index 97737b9f1b..2287440b5a 100644 --- a/test/all.js +++ b/test/all.js @@ -18,7 +18,7 @@ module.exports = require("montage-testing").run(require, [ "spec/bindings/converter-spec", "spec/bindings/self-spec", {name: "spec/document-resources-spec", node: false}, - {name: "spec/claimed-pointer-spec", node: false}, + {name: "spec/claimed-pointer-spec", node: false}, // Core "spec/core/browser-spec", "spec/core/core-spec", @@ -94,7 +94,7 @@ module.exports = require("montage-testing").run(require, [ {name: "spec/ui/modal-overlay-spec", node: false}, {name: "spec/ui/overlay-spec", node: false}, {name: "spec/ui/slot-spec", node: false}, - {name: "spec/ui/substitution-spec", node: false}, + {name: "spec/ui/substitution-spec", node: false}, {name: "spec/ui/text-input-spec", node: false}, {name: "spec/ui/slider-spec", node: false}, {name: "spec/ui/text/text-spec", node: false}, @@ -110,14 +110,14 @@ module.exports = require("montage-testing").run(require, [ {name: "spec/ui/repetition-binding-spec", node: false}, {name: "spec/core/localizer-spec", node: false, karma: false}, {name: "spec/core/localizer/serialization-spec", node: false, karma: false}, - // Bluerint - {name: "spec/meta/converter-blueprint-spec", karma: false}, - {name: "spec/meta/module-blueprint-spec", karma: false}, - {name: "spec/meta/build-in-component-blueprint-spec", node: false, karma: false}, - {name: "spec/meta/component-blueprint-spec", node: false}, - {name: "spec/meta/controller-blueprint-spec", node: false}, - {name: "spec/meta/event-blueprint-spec", node: false}, - {name: "spec/meta/blueprint-spec"} + // Meta + {name: "spec/meta/converter-object-descriptor-spec", karma: false}, + {name: "spec/meta/module-object-descriptor-spec", karma: false}, + {name: "spec/meta/build-in-component-object-descriptor-spec", node: false, karma: false}, + {name: "spec/meta/component-object-descriptor-spec", node: false}, + {name: "spec/meta/controller-object-descriptor-spec", node: false}, + {name: "spec/meta/event-descriptor-spec", node: false}, + {name: "spec/meta/object-descriptor-spec"} ]).then(function () { console.log('montage-testing', 'End'); }, function (err) { diff --git a/test/spec/base/abstract-alert-spec.js b/test/spec/base/abstract-alert-spec.js index e3a734ef07..bd7a1bbdd5 100644 --- a/test/spec/base/abstract-alert-spec.js +++ b/test/spec/base/abstract-alert-spec.js @@ -229,11 +229,11 @@ describe("test/base/abstract-alert-spec", function () { }); }); - describe("blueprint", function () { + describe("objectDescriptor", function () { it("can be created", function (done) { - var blueprintPromise = AbstractAlert.blueprint || AbstractAlert.objectDescriptor; - blueprintPromise.then(function (blueprint) { - expect(blueprint).not.toBeNull(); + var objectDescriptorPromise = AbstractAlert.objectDescriptor || AbstractAlert.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).not.toBeNull(); }, function (err) { fail(err); }).finally(function () { diff --git a/test/spec/base/abstract-button-spec.js b/test/spec/base/abstract-button-spec.js index bffaefda14..694114d9d9 100644 --- a/test/spec/base/abstract-button-spec.js +++ b/test/spec/base/abstract-button-spec.js @@ -233,11 +233,11 @@ describe("test/base/abstract-button-spec", function () { }); }); }); - describe("blueprint", function () { + describe("objectDescriptor", function () { it("can be created", function (done) { - var blueprintPromise = AbstractButton.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).not.toBeNull(); + var objectDescriptorPromise = AbstractButton.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).not.toBeNull(); }, function (err) { fail(err); }).finally(function () { diff --git a/test/spec/base/abstract-checkbox-spec.js b/test/spec/base/abstract-checkbox-spec.js index c695ca73eb..e216bfeb94 100644 --- a/test/spec/base/abstract-checkbox-spec.js +++ b/test/spec/base/abstract-checkbox-spec.js @@ -272,11 +272,11 @@ describe("test/base/abstract-checkbox-spec", function () { expect(aCheckbox.element.getAttribute("aria-checked")).toBe("false"); }); }); - describe("blueprint", function () { + describe("objectDescriptor", function () { it("can be created", function (done) { - var blueprintPromise = AbstractCheckbox.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).not.toBeNull(); + var objectDescriptorPromise = AbstractCheckbox.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).not.toBeNull(); }, function (err) { fail(err); }).finally(function () { diff --git a/test/spec/base/abstract-confirm-spec.js b/test/spec/base/abstract-confirm-spec.js index cbe8a1e701..4e433d667d 100644 --- a/test/spec/base/abstract-confirm-spec.js +++ b/test/spec/base/abstract-confirm-spec.js @@ -262,11 +262,11 @@ describe("test/base/abstract-confirm-spec", function () { }); }); - describe("blueprint", function () { + describe("objectDescriptor", function () { it("can be created", function (done) { - var blueprintPromise = AbstractConfirm.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).not.toBeNull(); + var objectDescriptorPromise = AbstractConfirm.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).not.toBeNull(); }).finally(function () { done(); }) diff --git a/test/spec/base/abstract-image-spec.js b/test/spec/base/abstract-image-spec.js index de8f3e35e8..a8a0af8c92 100644 --- a/test/spec/base/abstract-image-spec.js +++ b/test/spec/base/abstract-image-spec.js @@ -362,11 +362,11 @@ describe("test/base/abstract-image-spec", function () { }); }); - describe("blueprint", function () { + describe("objectDescriptor", function () { it("can be created", function (done) { - var blueprintPromise = AbstractImage.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).not.toBeNull(); + var objectDescriptorPromise = AbstractImage.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).not.toBeNull(); }, function (err) { fail(err); }).finally(function () { diff --git a/test/spec/base/abstract-link-spec.js b/test/spec/base/abstract-link-spec.js index cf2e172b58..723c38caf2 100644 --- a/test/spec/base/abstract-link-spec.js +++ b/test/spec/base/abstract-link-spec.js @@ -223,11 +223,11 @@ describe("test/base/abstract-link-spec", function () { }); }); }); - describe("blueprint", function () { + describe("objectDescriptor", function () { it("can be created", function (done) { - var blueprintPromise = AbstractLink.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).not.toBeNull(); + var objectDescriptorPromise = AbstractLink.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).not.toBeNull(); }, function (err) { fail(err); }).finally(function () { diff --git a/test/spec/base/abstract-number-field-spec.js b/test/spec/base/abstract-number-field-spec.js index d14f8c8966..56bd5024c1 100644 --- a/test/spec/base/abstract-number-field-spec.js +++ b/test/spec/base/abstract-number-field-spec.js @@ -443,11 +443,11 @@ describe("test/base/abstract-number-field-spec", function () { }); }); }); - describe("blueprint", function () { + describe("objectDescriptor", function () { it("can be created", function (done) { - var blueprintPromise = AbstractNumberField.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).not.toBeNull(); + var objectDescriptorPromise = AbstractNumberField.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).not.toBeNull(); }, function (err) { fail(err); }).finally(function () { diff --git a/test/spec/base/abstract-radio-button-spec.js b/test/spec/base/abstract-radio-button-spec.js index 5ee1cd7cff..efb3989b74 100644 --- a/test/spec/base/abstract-radio-button-spec.js +++ b/test/spec/base/abstract-radio-button-spec.js @@ -268,11 +268,11 @@ describe("test/base/abstract-radio-button-spec", function () { expect(aRadioButton.element.getAttribute("aria-checked")).toBe("false"); }); }); - describe("blueprint", function () { + describe("objectDescriptor", function () { it("can be created", function (done) { - var blueprintPromise = AbstractRadioButton.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).not.toBeNull(); + var objectDescriptorPromise = AbstractRadioButton.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).not.toBeNull(); }, function (err) { fail(err); }).finally(function () { diff --git a/test/spec/base/abstract-select-spec.js b/test/spec/base/abstract-select-spec.js index b2bc8a3fa1..ce5d160db2 100644 --- a/test/spec/base/abstract-select-spec.js +++ b/test/spec/base/abstract-select-spec.js @@ -386,11 +386,11 @@ describe("test/base/abstract-select-spec", function () { }); }); - describe("blueprint", function () { + describe("objectDescriptor", function () { it("can be created", function (done) { - var blueprintPromise = AbstractSelect.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).not.toBeNull(); + var objectDescriptorPromise = AbstractSelect.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).not.toBeNull(); }, function (err) { fail(err); }).finally(function () { diff --git a/test/spec/base/abstract-slider-spec.js b/test/spec/base/abstract-slider-spec.js index 6f3b45eb0f..568d48a177 100644 --- a/test/spec/base/abstract-slider-spec.js +++ b/test/spec/base/abstract-slider-spec.js @@ -383,11 +383,11 @@ describe("test/base/abstract-slider-spec", function () { }); }); }); - describe("blueprint", function () { + describe("objectDescriptor", function () { it("can be created", function (done) { - var blueprintPromise = AbstractSlider.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).not.toBeNull(); + var objectDescriptorPromise = AbstractSlider.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).not.toBeNull(); }, function (err) { fail(err); }).finally(function () { diff --git a/test/spec/base/abstract-text-area-spec.js b/test/spec/base/abstract-text-area-spec.js index a8d53ebd6e..e5c16b1d78 100644 --- a/test/spec/base/abstract-text-area-spec.js +++ b/test/spec/base/abstract-text-area-spec.js @@ -178,11 +178,11 @@ describe("test/base/abstract-text-area-spec", function () { expect(aTextArea.element.hasEventListener("change", aTextArea)).toBe(true); }); }); - describe("blueprint", function () { + describe("objectDescriptor", function () { it("can be created", function (done) { - var blueprintPromise = AbstractTextArea.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).not.toBeNull(); + var objectDescriptorPromise = AbstractTextArea.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).not.toBeNull(); }).finally(function () { done(); }); diff --git a/test/spec/base/abstract-text-field-spec.js b/test/spec/base/abstract-text-field-spec.js index c1df1872d7..808229a44c 100644 --- a/test/spec/base/abstract-text-field-spec.js +++ b/test/spec/base/abstract-text-field-spec.js @@ -367,11 +367,11 @@ describe("test/base/abstract-text-field-spec", function () { }); }); }); - describe("blueprint", function () { + describe("objectDescriptor", function () { it("can be created", function (done) { - var blueprintPromise = AbstractTextField.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).not.toBeNull(); + var objectDescriptorPromise = AbstractTextField.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).not.toBeNull(); }, function (err) { fail(err); }).finally(function () { diff --git a/test/spec/base/abstract-toggle-button-spec.js b/test/spec/base/abstract-toggle-button-spec.js index 1b47a80d6d..34d7303fa8 100644 --- a/test/spec/base/abstract-toggle-button-spec.js +++ b/test/spec/base/abstract-toggle-button-spec.js @@ -302,11 +302,11 @@ describe("test/base/abstract-toggle-button-spec", function () { }); }); }); - describe("blueprint", function () { + describe("objectDescriptor", function () { it("can be created", function (done) { - var blueprintPromise = AbstractToggleButton.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).not.toBeNull(); + var objectDescriptorPromise = AbstractToggleButton.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).not.toBeNull(); }, function (err) { fail(err); }).finally(function () { diff --git a/test/spec/base/abstract-toggle-switch-spec.js b/test/spec/base/abstract-toggle-switch-spec.js index f5384bae17..d394c7c5d6 100644 --- a/test/spec/base/abstract-toggle-switch-spec.js +++ b/test/spec/base/abstract-toggle-switch-spec.js @@ -65,11 +65,11 @@ describe("test/base/abstract-toggle-switch-spec", function () { }); }); - describe("blueprint", function () { + describe("objectDescriptor", function () { it("can be created", function (done) { - var blueprintPromise = AbstractToggleSwitch.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).not.toBeNull(); + var objectDescriptorPromise = AbstractToggleSwitch.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).not.toBeNull(); }, function (err) { fail(err); }).finally(function () { diff --git a/test/spec/meta/blueprint-spec.js b/test/spec/meta/blueprint-spec.js deleted file mode 100644 index eabf2fad5d..0000000000 --- a/test/spec/meta/blueprint-spec.js +++ /dev/null @@ -1,416 +0,0 @@ -"use strict"; -/** - @module montage/data/blueprint-spec.js - @requires montage/core/core - @requires montage/core/logger - */ -var Montage = require("montage").Montage; -var Blueprint = require("montage/core/meta/blueprint").Blueprint; -var Model = require("montage/core/meta/model").Model; -var PropertyDescriptor = require("montage/core/meta/property-descriptor").PropertyDescriptor; -var AssociationBlueprint = require("montage/core/meta/association-blueprint").AssociationBlueprint; -var Serializer = require("montage/core/serialization/serializer/montage-serializer").MontageSerializer; -var Deserializer = require("montage/core/serialization/deserializer/montage-deserializer").MontageDeserializer; -var BinderHelper = require("./blueprint/binderhelper").BinderHelper; -var Person = require("./blueprint/person").Person; -var Company = require("./blueprint/company").Company; -var logger = require("montage/core/logger").logger("./blueprint-spec.js"); - -// Require to deserialize -// TODO add proper deps to montage modules -require('montage/core/meta/object-descriptor'); -require('montage/core/meta/property-blueprint'); -require('montage/core/meta/module-blueprint'); - -describe("meta/blueprint-spec", function () { - describe("Binder", function () { - describe("Creation", function () { - }); - describe("Adding blueprints", function () { - var binder = new Model().initWithNameAndRequire("CompanyBinder", require); - var personBlueprint = new Blueprint().initWithName("Person"); - binder.addObjectDescriptor(personBlueprint); - - var companyBlueprint = new Blueprint().initWithName("Company"); - binder.addObjectDescriptor(companyBlueprint); - - it("should have a binder", function () { - expect(personBlueprint.model).toBe(binder); - expect(companyBlueprint.model).toBe(binder); - }); - - }); - }); - - describe("Blueprint", function () { - describe("propertyDescriptors", function () { - var blueprint = new Blueprint().initWithName("Person"); - var propertyBlueprint = blueprint.newPropertyDescriptor("foo", 1); - it("should be able to add", function () { - blueprint.addPropertyDescriptor(propertyBlueprint); - expect(propertyBlueprint.owner).toBe(blueprint); - expect(blueprint.propertyDescriptorForName("foo")).toBe(propertyBlueprint); - }); - - it("should be able to remove", function () { - blueprint.removePropertyDescriptor(propertyBlueprint); - expect(propertyBlueprint.owner).toBe(null); - expect(blueprint.propertyDescriptorForName("foo")).toBeNull(); - }); - }); - describe("associations", function () { - - var personBlueprint = new Blueprint().initWithName("Person"); - var companyBlueprint = new Blueprint().initWithName("Company"); - - var employerAssociation = personBlueprint.newAssociationBlueprint("employer", Infinity); - employerAssociation.valueDescriptor = companyBlueprint; - var employeesAssociation = companyBlueprint.newAssociationBlueprint("employees", Infinity); - employeesAssociation.valueDescriptor = personBlueprint; - - personBlueprint.addPropertyDescriptor(employerAssociation); - companyBlueprint.addPropertyDescriptor(employeesAssociation); - - it("basic properties should be correct", function () { - expect(personBlueprint.propertyDescriptorForName("employer")).toBe(employerAssociation); - expect(companyBlueprint.propertyDescriptorForName("employees")).toBe(employeesAssociation); - }); - it("target blueprint promise to be resolved", function (done) { - personBlueprint.propertyDescriptorForName("employer").valueDescriptor.then(function (blueprint) { - expect(blueprint).toBeTruthy(); - expect(blueprint).toBe(companyBlueprint); - }).finally(function () { - done(); - }); - }); - it("target blueprint promise to be resolved", function (done) { - companyBlueprint.propertyDescriptorForName("employees").valueDescriptor.then(function (blueprint) { - expect(blueprint).toBeTruthy(); - expect(blueprint).toBe(personBlueprint); - }).finally(function () { - done(); - }); - }); - }); - describe("blueprint to instance association", function () { - var binder, personBlueprint, companyBlueprint; - beforeEach(function () { - binder = new Model().initWithNameAndRequire("Binder", require); - personBlueprint = new Blueprint().initWithName("Person"); - binder.addObjectDescriptor(personBlueprint); - companyBlueprint = new Blueprint().initWithName("Company"); - binder.addObjectDescriptor(companyBlueprint); - }); - it("should be found with the blueprint name", function () { - expect(binder.objectDescriptorForName("Person")).toBe(personBlueprint); - expect(binder.objectDescriptorForName("Company")).toBe(companyBlueprint); - }); - }); - describe("applying a basic blueprint to a prototype", function () { - var louis, personBlueprint; - beforeEach(function () { - var binder = new Model().initWithNameAndRequire("Binder", require); - personBlueprint = new Blueprint().initWithName("Person"); - personBlueprint.addPropertyDescriptor(personBlueprint.newPropertyDescriptor("name", 1)); - personBlueprint.addPropertyDescriptor(personBlueprint.newPropertyDescriptor("keywords", Infinity)); - - binder.addObjectDescriptor(personBlueprint); - Model.group.addModel(binder); - - louis = personBlueprint.newInstance().init(); - }); - - it("should have a blueprint", function () { - expect(louis.blueprint).toBe(personBlueprint); - }); - it("should have a the correct properties defined", function () { - expect(Object.getPrototypeOf(louis).hasOwnProperty("name")).toBeTruthy(); - expect(Object.getPrototypeOf(louis).hasOwnProperty("keywords")).toBeTruthy(); - }); - }); - - describe("adding a PropertyDescriptor", function () { - var circle, shapeBlueprint; - beforeEach(function () { - var binder = new Model().initWithNameAndRequire("Binder", require); - shapeBlueprint = new Blueprint().initWithName("Shape"); - binder.addObjectDescriptor(shapeBlueprint); - var propertyBlueprint = shapeBlueprint.newPropertyDescriptor("size", 1); - shapeBlueprint.addPropertyDescriptor(propertyBlueprint); - propertyBlueprint = shapeBlueprint.newPropertyDescriptor("readOnlyPropertyDescriptor", 1); - propertyBlueprint.readOnly = true; - shapeBlueprint.addPropertyDescriptor(propertyBlueprint); - propertyBlueprint = shapeBlueprint.newPropertyDescriptor("mandatoryPropertyDescriptor", 1); - propertyBlueprint.mandatory = true; - shapeBlueprint.addPropertyDescriptor(propertyBlueprint); - propertyBlueprint = shapeBlueprint.newPropertyDescriptor("denyDelete", 1); - propertyBlueprint.denyDelete = true; - shapeBlueprint.addPropertyDescriptor(propertyBlueprint); - Model.group.addModel(binder); - - circle = shapeBlueprint.newInstance().init(); - }); - describe("normal propertyBlueprint's property", function () { - it("should be settable", function () { - var descriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(circle), "size"); - expect(typeof descriptor.get).toEqual("function"); - expect(typeof descriptor.set).toEqual("function"); - expect(circle.size).toBeNull(); - circle.size = "big"; - expect(circle.size).toEqual("big"); - }); - it("should be enumerable", function () { - var descriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(circle), "size"); - expect(descriptor.enumerable).toBeTruthy(); - }); - it("should have a get and set", function () { - var descriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(circle), "size"); - expect(typeof descriptor.get).toEqual("function"); - expect(typeof descriptor.set).toEqual("function"); - }); - }); - describe("read only propertyBlueprint's property", function () { - it("should not be settable", function () { - expect(function () { - circle.readOnlyPropertyDescriptor = "big"; - }).toThrow(); - }); - it("should have a get and no set", function () { - var descriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(circle), "readOnlyPropertyDescriptor"); - expect(typeof descriptor.get).toEqual("function"); - expect(typeof descriptor.set).toEqual("undefined"); - }); - }); - describe("mandatory propertyBlueprint's property", function () { - it("should not be settable", function () { - expect( - function () { - circle.readOnlyPropertyDescriptor = "big"; - }).toThrow(); - }); - it("should have a get and no set", function () { - var descriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(circle), "readOnlyPropertyDescriptor"); - expect(typeof descriptor.get).toEqual("function"); - expect(typeof descriptor.set).toEqual("undefined"); - }); - }); - describe("denyDelete propertyBlueprint's property", function () { - it("should not be settable to null", function () { - circle.denyDelete = "big"; - expect( - function () { - circle.denyDelete = null; - }).toThrow(); - }); - }); - }); - - describe("serializing", function () { - var companyBinder = BinderHelper.companyBinder(), - personBlueprint = companyBinder.objectDescriptorForName("Person"); - - personBlueprint.maxAge = 60; - - - it("can serialize", function () { - var serializedBinder = new Serializer().initWithRequire(require).serializeObject(companyBinder); - expect(serializedBinder).not.toBeNull(); - }); - it("can deserialize", function (done) { - var serializedBinder = new Serializer().initWithRequire(require).serializeObject(companyBinder); - var deserializer = new Deserializer().init(serializedBinder, require).deserializeObject().then(function (deserializedBinder) { - var metadata = Montage.getInfoForObject(deserializedBinder); - expect(serializedBinder).not.toBeNull(); - expect(metadata.objectName).toBe("Model"); - expect(metadata.moduleId).toBe("core/meta/model"); - var personBlueprint = deserializedBinder.objectDescriptorForName("Person"); - expect(personBlueprint).toBeTruthy(); - expect(personBlueprint.propertyDescriptorForName("phoneNumbers")).not.toBeNull(); - expect(personBlueprint.maxAge).toBe(60); - }, function (err) { - fail(err); - }).finally(function () { - done(); - }); - }); - }); - - describe("create new prototype", function () { - - it("Should be a prototype", function () { - var info = Montage.getInfoForObject(Person); - expect(info.isInstance).toBeFalsy(); - }); - - it("Should have the right moduleId and Name", function () { - var info = Montage.getInfoForObject(Person); - expect(info.moduleId).toBe("spec/meta/blueprint/person"); - expect(info.objectName).toBe("Person"); - }); - }); - - describe("createDefaultObjectDescriptorForObject", function () { - it("should always return a promise", function (done) { - var blueprint = Blueprint.createDefaultObjectDescriptorForObject({}); - expect(typeof blueprint.then).toBe("function"); - blueprint.then(function (blueprint) { - expect(Blueprint.prototype.isPrototypeOf(blueprint)).toBe(true); - }, function (err) { - fail(err); - }).finally(function () { - done(); - }); - }); - - it("has the correct module id for the parent", function (done) { - var ComponentBlueprintTest1 = require("spec/meta/component-blueprint-test/component-blueprint-test-1.reel").ComponentBlueprintTest1; - Blueprint.createDefaultObjectDescriptorForObject(ComponentBlueprintTest1).then(function (blueprint) { - var id = blueprint.parent.objectDescriptorInstanceModule.resolve(require); - expect(id === "montage/ui/component.meta" || id === "montage/ui/component.mjson").toBeTruthy(); - }, function (err) { - fail(err); - }).finally(function () { - done(); - }); - }); - - }); - - describe("blueprint descriptor", function () { - // Fixme: Spec was already broken before removing constructor compatibility (an unrelated error was raised) - // Before removing constructor compatibility, it was possible to reproduce this issue by setting a constructor descriptor. - //it("does not work for objects that aren't in a module", function () { - // var Sub = Blueprint.specialize(); - // var sub = new Sub(); - // - // expect(function () { - // var x = sub.blueprint; - // }).toThrow(); - //}); - - - it("uses the correct module ID for objects with no .meta", function () { - var Sub = Blueprint.specialize(); - // fake object loaded from module - Object.defineProperty(Sub, "_montage_metadata", { - value: { - require: require, - module: "pass", - moduleId: "pass", // deprecated - property: "Pass", - objectName: "Pass", // deprecated - isInstance: false - } - }); - - var sub = new Sub(); - sub._montage_metadata = Object.create(Sub._montage_metadata, { - isInstance: { value: true } - }); - - expect(sub.blueprintModuleId === "pass.meta" || sub.blueprintModuleId === "pass.mjson").toBeTruthy(); - }); - - it("creates a blueprint when the parent has no blueprint", function (done) { - Blueprint.blueprint.then(function (blueprint){ - expect( blueprint.objectDescriptorInstanceModule.id === "core/meta/blueprint.meta" || - blueprint.objectDescriptorInstanceModule.id === "core/meta/object-descriptor.mjson").toBeTruthy(); - }, function (err) { - fail(err); - }).finally(function () { - done(); - }); - }); - }); - - describe("events", function () { - var EventDescriptor = require("montage/core/meta/event-descriptor").EventDescriptor; - - var blueprint; - beforeEach(function () { - blueprint = new Blueprint().initWithName("test"); - }); - - describe("eventDescriptors", function () { - it("returns the same array", function () { - blueprint.addEventDescriptorNamed("event"); - var eventDescriptors = blueprint.eventDescriptors; - expect(blueprint.eventDescriptors).toBe(eventDescriptors); - }); - }); - - describe("adding", function () { - var eventBlueprint; - afterEach(function () { - expect(blueprint.eventDescriptors.length).toEqual(1); - expect(blueprint.eventDescriptors[0]).toBe(eventBlueprint); - }); - - it("adds an existing blueprint", function () { - eventBlueprint = new EventDescriptor().initWithNameAndObjectDescriptor("event"); - blueprint.addEventDescriptor(eventBlueprint); - - expect(eventBlueprint.owner).toBe(blueprint); - expect(blueprint.eventDescriptorForName("event")).toBe(eventBlueprint); - }); - - it("only adds the blueprint once", function () { - eventBlueprint = new EventDescriptor().initWithNameAndObjectDescriptor("event"); - - blueprint.addEventDescriptor(eventBlueprint); - blueprint.addEventDescriptor(eventBlueprint); - - expect(eventBlueprint.owner).toBe(blueprint); - expect(blueprint.eventDescriptorForName("event")).toBe(eventBlueprint); - }); - - it("creates a new blueprint with the given name", function () { - eventBlueprint = blueprint.addEventDescriptorNamed("event"); - - expect(eventBlueprint.owner).toBe(blueprint); - expect(eventBlueprint.name).toEqual("event"); - expect(blueprint.eventDescriptorForName("event")).toBe(eventBlueprint); - }); - }); - - it("creates a new event blueprint", function () { - var eventBlueprint = blueprint.newEventDescriptor("event"); - - expect(eventBlueprint.name).toEqual("event"); - expect(eventBlueprint.owner).toBe(blueprint); - }); - - it("removes an existing blueprint", function () { - var eventBlueprint = blueprint.addEventDescriptorNamed("event"); - blueprint.removeEventDescriptor(eventBlueprint); - - expect(eventBlueprint.owner).toBe(null); - expect(blueprint.eventDescriptorForName("event")).toBe(null); - }); - - - it("removes an existing blueprint from it's previous owner", function () { - var oldBlueprint = new Blueprint().initWithName("old"); - - var eventBlueprint = new EventDescriptor().initWithNameAndObjectDescriptor("event", oldBlueprint); - blueprint.addEventDescriptor(eventBlueprint); - - expect(eventBlueprint.owner).toBe(blueprint); - expect(blueprint.eventDescriptorForName("event")).toBe(eventBlueprint); - - expect(oldBlueprint.eventDescriptorForName("event")).toBe(null); - }); - - it("lists event blueprints of the parent", function () { - var parentBlueprint = new Blueprint().initWithName("parent"); - blueprint.parent = parentBlueprint; - - var parentEvent = parentBlueprint.addEventDescriptorNamed("parentEvent"); - var event = blueprint.addEventDescriptorNamed("event"); - - expect(blueprint.eventDescriptors.length).toEqual(2); - expect(blueprint.eventDescriptors).toEqual([event, parentEvent]); - }); - }); - }); -}); diff --git a/test/spec/meta/blueprint/binderhelper.js b/test/spec/meta/blueprint/binderhelper.js deleted file mode 100644 index f58096232b..0000000000 --- a/test/spec/meta/blueprint/binderhelper.js +++ /dev/null @@ -1,41 +0,0 @@ -/* - */ -var Montage = require("montage").Montage; -var Blueprint = require("montage/core/meta/blueprint").Blueprint; -var Model = require("montage/core/meta/model").Model; - -exports.companyBinder = function () { - return exports.BinderHelper.companyBinder(); -}; - -exports.BinderHelper = Montage.specialize( { -}, { - companyBinder: { - value: function () { - var companyBinder = new Model().initWithNameAndRequire("CompanyBinder", require); - - var personBlueprint = companyBinder.addObjectDescriptorNamed("Person", "spec/meta/blueprint/person"); - personBlueprint.addToOnePropertyDescriptorNamed("name"); - personBlueprint.addToManyPropertyDescriptorNamed("phoneNumbers"); - - var companyBlueprint = companyBinder.addObjectDescriptorNamed("Company", "spec/meta/blueprint/company"); - companyBlueprint.addToOnePropertyDescriptorNamed("name"); - - companyBlueprint.addToManyAssociationBlueprintNamed("directReports", personBlueprint.addToOneAssociationBlueprintNamed("supervisor")); - - var projectBlueprint = companyBinder.addObjectDescriptorNamed("Project", "spec/meta/blueprint/project"); - projectBlueprint.addToOnePropertyDescriptorNamed("name"); - projectBlueprint.addToOnePropertyDescriptorNamed("startDate"); - projectBlueprint.addToOnePropertyDescriptorNamed("endDate"); - - // companyBlueprint.addToManyAssociationBlueprintNamed("projects", personBlueprint.addToOneAssociationBlueprintNamed("company")); - // - // personBlueprint.addToManyAssociationBlueprintNamed("projects", projectBlueprint.addToManyAssociationBlueprintNamed("contributors")); - - Model.group.addModel(companyBinder); - - return companyBinder; - } - } - -}); diff --git a/test/spec/meta/blueprint/company.js b/test/spec/meta/blueprint/company.js index 037fd3ac1c..d755c7cbcf 100644 --- a/test/spec/meta/blueprint/company.js +++ b/test/spec/meta/blueprint/company.js @@ -2,11 +2,11 @@ */ var Montage = require("montage").Montage; -var BinderHelper = require("spec/meta/blueprint/binderhelper").BinderHelper; -var binder = BinderHelper.companyBinder(); -var blueprint = binder.objectDescriptorForName("Company"); +var ModelHelper = require("spec/meta/blueprint/model-helper").ModelHelper; +var model = ModelHelper.companyModel(); +var objectDescriptor = model.objectDescriptorForName("Company"); -var Company = exports.Company = blueprint.create(Montage, { +var Company = exports.Company = objectDescriptor.create(Montage, { // Token class diff --git a/test/spec/meta/blueprint/model-helper.js b/test/spec/meta/blueprint/model-helper.js new file mode 100644 index 0000000000..5928e938ed --- /dev/null +++ b/test/spec/meta/blueprint/model-helper.js @@ -0,0 +1,36 @@ +/* + */ +var Montage = require("montage").Montage; +var Model = require("montage/core/meta/model").Model; + +exports.companyModel = function () { + return exports.ModelHelper.companyModel(); +}; + +exports.ModelHelper = Montage.specialize( { +}, { + companyModel: { + value: function () { + var companyModel = new Model().initWithNameAndRequire("CompanyModel", require); + + var personObjectDescriptor = companyModel.addObjectDescriptorNamed("Person", "spec/meta/blueprint/person"); + personObjectDescriptor.addToOnePropertyDescriptorNamed("name"); + personObjectDescriptor.addToManyPropertyDescriptorNamed("phoneNumbers"); + + var companyObjectDescriptor = companyModel.addObjectDescriptorNamed("Company", "spec/meta/blueprint/company"); + companyObjectDescriptor.addToOnePropertyDescriptorNamed("name"); + + companyObjectDescriptor.addToManyPropertyDescriptorNamed("directReports", personObjectDescriptor.addToOnePropertyDescriptorNamed("supervisor")); + + var projectObjectDescriptor = companyModel.addObjectDescriptorNamed("Project", "spec/meta/blueprint/project"); + projectObjectDescriptor.addToOnePropertyDescriptorNamed("name"); + projectObjectDescriptor.addToOnePropertyDescriptorNamed("startDate"); + projectObjectDescriptor.addToOnePropertyDescriptorNamed("endDate"); + + Model.group.addModel(companyModel); + + return companyModel; + } + } + +}); diff --git a/test/spec/meta/blueprint/package/node_modules/dependency/node_modules/dependency2/thing.meta b/test/spec/meta/blueprint/package/node_modules/dependency/node_modules/dependency2/thing.meta index 26f24d7d84..dfbed1c890 100644 --- a/test/spec/meta/blueprint/package/node_modules/dependency/node_modules/dependency2/thing.meta +++ b/test/spec/meta/blueprint/package/node_modules/dependency/node_modules/dependency2/thing.meta @@ -1,6 +1,6 @@ { "root": { - "prototype": "montage/core/meta/module-blueprint", + "prototype": "montage/core/meta/module-object-descriptor", "values": { "name": "Thing", "module": {"%": "./thing"}, diff --git a/test/spec/meta/blueprint/package/node_modules/dependency/thing.meta b/test/spec/meta/blueprint/package/node_modules/dependency/thing.meta index 3b15f3338c..49bb08b5fb 100644 --- a/test/spec/meta/blueprint/package/node_modules/dependency/thing.meta +++ b/test/spec/meta/blueprint/package/node_modules/dependency/thing.meta @@ -1,9 +1,9 @@ { - "blueprint_parent": { + "objectDescriptor_parent": { "object": "dependency2/thing.meta" }, "root": { - "prototype": "montage/core/meta/module-blueprint", + "prototype": "montage/core/meta/module-object-descriptor", "values": { "name": "Thing", "module": { @@ -11,9 +11,9 @@ }, "exportName": "Thing", "parent": { - "@": "blueprint_parent" + "@": "objectDescriptor_parent" }, - "blueprintModule": {} + "objectDescriptorModule": {} } } } diff --git a/test/spec/meta/blueprint/package/thing.meta b/test/spec/meta/blueprint/package/thing.meta index 663cdbdcbc..1f420dc55c 100644 --- a/test/spec/meta/blueprint/package/thing.meta +++ b/test/spec/meta/blueprint/package/thing.meta @@ -1,9 +1,9 @@ { - "blueprint_parent": { + "objectDescriptor_parent": { "object": "dependency/thing.meta" }, "root": { - "prototype": "montage/core/meta/module-blueprint", + "prototype": "montage/core/meta/module-object-descriptor", "values": { "name": "Thing", "module": { @@ -11,9 +11,9 @@ }, "exportName": "Thing", "parent": { - "@": "blueprint_parent" + "@": "objectDescriptor_parent" }, - "blueprintModule": {} + "objectDescriptorModule": {} } } } diff --git a/test/spec/meta/blueprint/person.js b/test/spec/meta/blueprint/person.js index 623209245d..87066ce854 100644 --- a/test/spec/meta/blueprint/person.js +++ b/test/spec/meta/blueprint/person.js @@ -2,11 +2,11 @@ */ var Montage = require("montage").Montage; -var BinderHelper = require("spec/meta/blueprint/binderhelper").BinderHelper; -var binder = BinderHelper.companyBinder(); -var blueprint = binder.objectDescriptorForName("Person"); +var ModelHelper = require("spec/meta/blueprint/model-helper").ModelHelper; +var model = ModelHelper.companyModel(); +var objectDescriptor = model.objectDescriptorForName("Person"); -var Person = exports.Person = blueprint.create(Montage, { +var Person = exports.Person = objectDescriptor.create(Montage, { // Token class diff --git a/test/spec/meta/blueprint/project.js b/test/spec/meta/blueprint/project.js index 238b768f3d..2cea7a3b89 100644 --- a/test/spec/meta/blueprint/project.js +++ b/test/spec/meta/blueprint/project.js @@ -2,11 +2,11 @@ s */ var Montage = require("montage").Montage; -var BinderHelper = require("spec/meta/blueprint/binderhelper").BinderHelper; -var binder = BinderHelper.companyBinder(); -var blueprint = binder.objectDescriptorForName("Project"); +var BinderHelper = require("spec/meta/blueprint/modelhelper").BinderHelper; +var model = BinderHelper.companyModel(); +var objectDescriptor = model.objectDescriptorForName("Project"); -var Project = exports.Project = blueprint.create(Montage, { +var Project = exports.Project = objectDescriptor.create(Montage, { // Token class diff --git a/test/spec/meta/build-in-component-blueprint-spec.js b/test/spec/meta/build-in-component-blueprint-spec.js deleted file mode 100644 index 5b3600d901..0000000000 --- a/test/spec/meta/build-in-component-blueprint-spec.js +++ /dev/null @@ -1,184 +0,0 @@ -/* - */ -/** - @module montage/data/blueprint-spec.js - @requires montage/core/core - @requires montage/core/logger - */ -var Montage = require("montage").Montage; -var Condition = require("montage/ui/condition.reel").Condition; -var Loader = require("montage/ui/loader.reel").Loader; -var Repetition = require("montage/ui/repetition.reel").Repetition; -var Slot = require("montage/ui/slot.reel").Slot; -var Substitution = require("montage/ui/substitution.reel").Substitution; -var Text = require("montage/ui/text.reel").Text; - -var Blueprint = require("montage/core/meta/blueprint").Blueprint; -var Binder = require("montage/core/meta/blueprint").Binder; -var PropertyBlueprint = require("montage/core/meta/blueprint").PropertyBlueprint; -var AssociationBlueprint = require("montage/core/meta/blueprint").AssociationBlueprint; - -var Serializer = require("montage/core/serialization/serializer/montage-serializer").MontageSerializer; - -describe("meta/build-in-component-blueprint-spec", function () { - - var textinput, - condition, - loader, - repetition, - slot, - substitution, - text; - - beforeEach(function () { -// textinput = new TextInput(); - condition = new Condition(); - loader = new Loader(); - repetition = new Repetition(); - slot = new Slot(); - substitution = new Substitution(); - text = new Text(); - }); -// -// describe("test text input blueprint", function () { -// it("should exist", function () { -// var blueprintPromise = textinput.blueprint; -// blueprintPromise.then(function (blueprint) { -// expect(blueprint).toBeTruthy(); -// var serializer = new Serializer().initWithRequire(require); -// var serializedDescription = serializer.serializeObject(blueprint); -// console.log(serializedDescription); -// }).finally(function () { -// done(); -// }); -// }); -// -// }); - - describe("test condition blueprint", function () { - it("should exist", function (done) { - var blueprintPromise = condition.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).toBeTruthy(); - }).finally(function () { - done(); - }); - }); - - }); - - describe("test loader blueprint", function () { - it("should exist", function (done) { - var blueprintPromise = loader.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).toBeTruthy(); - }).finally(function () { - done(); - }); - }); - - }); - - describe("test repetition blueprint", function () { - it("should exist", function (done) { - var blueprintPromise = repetition.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).toBeTruthy(); - }).finally(function () { - done(); - }); - }); - - }); - - describe("test slot blueprint", function () { - it("should exist", function (done) { - var blueprintPromise = slot.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).toBeTruthy(); - }).finally(function () { - done(); - }); - }); - - }); - - describe("test substitution blueprint", function () { - it("should exist", function (done) { - var blueprintPromise = substitution.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).toBeTruthy(); - }).finally(function () { - done(); - }); - }); - - it("should have switchValue property blueprint", function (done) { - var blueprintPromise = substitution.blueprint; - blueprintPromise.then(function (blueprint) { - var propertyBlueprint = blueprint.propertyDescriptorForName("switchValue"); - expect(propertyBlueprint).toBeTruthy(); - expect(propertyBlueprint.valueType).toBe("string"); - }).finally(function () { - done(); - }); - }); - - it("should have shouldLoadComponentTree property blueprint", function (done) { - var blueprintPromise = substitution.blueprint; - blueprintPromise.then(function (blueprint) { - var propertyBlueprint = blueprint.propertyDescriptorForName("shouldLoadComponentTree"); - expect(propertyBlueprint).toBeTruthy(); - expect(propertyBlueprint.valueType).toBe("boolean"); - }).finally(function () { - done(); - }); - }); - - it("should have transition property blueprint", function (done) { - var blueprintPromise = substitution.blueprint; - blueprintPromise.then(function (blueprint) { - var propertyBlueprint = blueprint.propertyDescriptorForName("transition"); - expect(propertyBlueprint).toBeTruthy(); - expect(propertyBlueprint.valueType).toBe("object"); - }).finally(function () { - done(); - }); - }); - }); - - describe("test text blueprint", function () { - it("should exist", function (done) { - var blueprintPromise = text.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).toBeTruthy(); - }).finally(function () { - done(); - }); - }); - - it("should have value property blueprint", function (done) { - var blueprintPromise = text.blueprint; - blueprintPromise.then(function (blueprint) { - var propertyBlueprint = blueprint.propertyDescriptorForName("value"); - expect(propertyBlueprint).toBeTruthy(); - expect(propertyBlueprint.valueType).toBe("string"); - }).finally(function () { - done(); - }); - }); - - it("should have converter association blueprint", function (done) { - var blueprintPromise = text.blueprint; - blueprintPromise.then(function (blueprint) { - var propertyBlueprint = blueprint.propertyDescriptorForName("converter"); - expect(propertyBlueprint).toBeTruthy(); - expect(propertyBlueprint.isAssociationBlueprint).toBe(true); - expect(propertyBlueprint.valueDescriptor).toBeTruthy(); - }).finally(function () { - done(); - }); - }); - }); - -}); diff --git a/test/spec/meta/build-in-component-object-descriptor-spec.js b/test/spec/meta/build-in-component-object-descriptor-spec.js new file mode 100644 index 0000000000..98e2888c5d --- /dev/null +++ b/test/spec/meta/build-in-component-object-descriptor-spec.js @@ -0,0 +1,183 @@ +/* + */ +/** + @requires montage/core/core + @requires montage/core/logger + */ +var Montage = require("montage").Montage; +var Condition = require("montage/ui/condition.reel").Condition; +var Loader = require("montage/ui/loader.reel").Loader; +var Repetition = require("montage/ui/repetition.reel").Repetition; +var Slot = require("montage/ui/slot.reel").Slot; +var Substitution = require("montage/ui/substitution.reel").Substitution; +var Text = require("montage/ui/text.reel").Text; + +var ObjectDescriptor = require("montage/core/meta/object-descriptor").ObjectDescriptor; + +var Serializer = require("montage/core/serialization/serializer/montage-serializer").MontageSerializer; + +describe("meta/build-in-component-object-descriptor-spec", function () { + + var textinput, + condition, + loader, + repetition, + slot, + substitution, + text; + + beforeEach(function () { +// textinput = new TextInput(); + condition = new Condition(); + loader = new Loader(); + repetition = new Repetition(); + slot = new Slot(); + substitution = new Substitution(); + text = new Text(); + }); + + // TODO: Why is this commented out? +// +// describe("test text input objectDescriptor", function () { +// it("should exist", function () { +// var objectDescriptorPromise = textinput.objectDescriptor; +// objectDescriptorPromise.then(function (objectDescriptor) { +// expect(objectDescriptor).toBeTruthy(); +// var serializer = new Serializer().initWithRequire(require); +// var serializedDescription = serializer.serializeObject(objectDescriptor); +// console.log(serializedDescription); +// }).finally(function () { +// done(); +// }); +// }); +// +// }); + + describe("test condition objectDescriptor", function () { + it("should exist", function (done) { + var objectDescriptorPromise = condition.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).toBeTruthy(); + }).finally(function () { + done(); + }); + }); + + }); + + describe("test loader objectDescriptor", function () { + it("should exist", function (done) { + var objectDescriptorPromise = loader.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).toBeTruthy(); + }).finally(function () { + done(); + }); + }); + + }); + + describe("test repetition objectDescriptor", function () { + it("should exist", function (done) { + var objectDescriptorPromise = repetition.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).toBeTruthy(); + }).finally(function () { + done(); + }); + }); + + }); + + describe("test slot objectDescriptor", function () { + it("should exist", function (done) { + var objectDescriptorPromise = slot.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).toBeTruthy(); + }).finally(function () { + done(); + }); + }); + + }); + + describe("test substitution objectDescriptor", function () { + it("should exist", function (done) { + var objectDescriptorPromise = substitution.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).toBeTruthy(); + }).finally(function () { + done(); + }); + }); + + it("should have switchValue property objectDescriptor", function (done) { + var objectDescriptorPromise = substitution.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + var propertyDescriptor = objectDescriptor.propertyDescriptorForName("switchValue"); + expect(propertyDescriptor).toBeTruthy(); + expect(propertyDescriptor.valueType).toBe("string"); + }).finally(function () { + done(); + }); + }); + + it("should have shouldLoadComponentTree property objectDescriptor", function (done) { + var objectDescriptorPromise = substitution.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + var propertyDescriptor = objectDescriptor.propertyDescriptorForName("shouldLoadComponentTree"); + expect(propertyDescriptor).toBeTruthy(); + expect(propertyDescriptor.valueType).toBe("boolean"); + }).finally(function () { + done(); + }); + }); + + it("should have transition property objectDescriptor", function (done) { + var objectDescriptorPromise = substitution.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + var propertyDescriptor = objectDescriptor.propertyDescriptorForName("transition"); + expect(propertyDescriptor).toBeTruthy(); + expect(propertyDescriptor.valueType).toBe("object"); + }).finally(function () { + done(); + }); + }); + }); + + describe("test text objectDescriptor", function () { + it("should exist", function (done) { + var objectDescriptorPromise = text.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).toBeTruthy(); + }).finally(function () { + done(); + }); + }); + + it("should have value property objectDescriptor", function (done) { + var objectDescriptorPromise = text.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + var propertyDescriptor = objectDescriptor.propertyDescriptorForName("value"); + expect(propertyDescriptor).toBeTruthy(); + expect(propertyDescriptor.valueType).toBe("string"); + }).finally(function () { + done(); + }); + }); + + it("should have converter association objectDescriptor", function (done) { + var objectDescriptorPromise = text.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + var propertyDescriptor = objectDescriptor.propertyDescriptorForName("converter"); + expect(propertyDescriptor).toBeTruthy(); + // TODO: isAssociationBlueprint is deprecated but has no equivalent + expect(propertyDescriptor.isAssociationBlueprint).toBe(true); + expect(propertyDescriptor.valueDescriptor).toBeTruthy(); + }).finally(function () { + done(); + }); + }); + }); + +}); diff --git a/test/spec/meta/component-blueprint-spec.js b/test/spec/meta/component-blueprint-spec.js deleted file mode 100644 index 527304f31f..0000000000 --- a/test/spec/meta/component-blueprint-spec.js +++ /dev/null @@ -1,161 +0,0 @@ -/* - */ -var Montage = require("montage").Montage; -var TestPageLoader = require("montage-testing/testpageloader").TestPageLoader; -var Component = require("montage/ui/component").Component; -var Selector = require("montage/core/selector").Selector; -var Blueprint = require("montage/core/meta/blueprint").Blueprint; -var Promise = require("montage/core/promise").Promise; -var Serializer = require("montage/core/serialization/serializer/montage-serializer").MontageSerializer; - -TestPageLoader.queueTest("component-blueprint-test/component-blueprint-test", function (testPage) { - describe("meta/component-blueprint-spec", function () { - var component1; - var component2; - var component3; - - - beforeEach(function () { - component1 = testPage.test.component1; - component2 = testPage.test.component2; - component3 = testPage.test.component3; - }); - - it("can create new blueprint", function (done) { - var newBlueprint = new Blueprint().initWithName(component1.identifier); - component1.blueprint = newBlueprint; - var blueprintPromise = component1.blueprint; - blueprintPromise.then(function (blueprint) { - expect(newBlueprint).toBeDefined(); - expect(blueprint).toBe(newBlueprint); - }).finally(function () { - done(); - }); - }); - - it("can create new property blueprint", function (done) { - var newBlueprint = new Blueprint().initWithName(component1.identifier); - newBlueprint.addToOnePropertyDescriptorNamed("bindableProperty"); - component1.blueprint = newBlueprint; - var blueprintPromise = component1.blueprint; - blueprintPromise.then(function (blueprint) { - var propertyBlueprint = blueprint.propertyDescriptorForName("bindableProperty"); - expect(propertyBlueprint).toBeDefined(); - }).finally(function () { - done(); - }); - }); - - it("can serialize the component blueprint", function (done) { - var serializer = new Serializer().initWithRequire(require); - - var newBlueprint = new Blueprint().initWithName(component1.identifier); - // - newBlueprint.addToOnePropertyDescriptorNamed("bindableProperty1"); - newBlueprint.addToOnePropertyDescriptorNamed("bindableProperty2"); - newBlueprint.addToOnePropertyDescriptorNamed("bindableProperty3"); - newBlueprint.addToOnePropertyDescriptorNamed("bindableProperty4"); - newBlueprint.addToOnePropertyDescriptorNamed("bindableProperty5"); - // - newBlueprint.addEventDescriptorNamed("action"); - // - newBlueprint.addPropertyDescriptorToGroupNamed(newBlueprint.addToOnePropertyDescriptorNamed("requiredBindableProperty1"), "required"); - newBlueprint.addPropertyDescriptorToGroupNamed(newBlueprint.addToOnePropertyDescriptorNamed("requiredBindableProperty2"), "required"); - newBlueprint.addPropertyDescriptorToGroupNamed(newBlueprint.addToOnePropertyDescriptorNamed("requiredBindableProperty3"), "required"); - component1.blueprint = newBlueprint; - - var blueprintPromise = component1.blueprint; - blueprintPromise.then(function (blueprint) { - var serializedDescription = serializer.serializeObject(blueprint); - expect(serializedDescription).toBeTruthy(); - }).finally(function () { - done(); - }); - }); - - xit("can load the component blueprint from the reel", function (done) { - var blueprintPromise = component2.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).toBeTruthy(); - // TODO test look weird requiredBindableProperty1 vs bindableProperty1 - expect(blueprint.propertyDescriptorForName("bindableProperty1")).toBeTruthy(); - expect(blueprint.propertyDescriptorForName("required")).toBeTruthy(); - }).finally(function () { - done(); - }); - }); - - - it("can create validation rules", function (done) { - var serializer = new Serializer().initWithRequire(require); - - var newBlueprint = new Blueprint().initWithName(component3.identifier); - expect(newBlueprint).toBeTruthy(); - // - newBlueprint.addToOnePropertyDescriptorNamed("bindableProperty1"); - newBlueprint.addToOnePropertyDescriptorNamed("bindableProperty2"); - newBlueprint.addToOnePropertyDescriptorNamed("bindableProperty3"); - newBlueprint.addToOnePropertyDescriptorNamed("bindableProperty4"); - newBlueprint.addToOnePropertyDescriptorNamed("bindableProperty5"); - // - newBlueprint.addPropertyDescriptorToGroupNamed(newBlueprint.addToOnePropertyDescriptorNamed("requiredBindableProperty1"), "required"); - newBlueprint.addPropertyDescriptorToGroupNamed(newBlueprint.addToOnePropertyDescriptorNamed("requiredBindableProperty2"), "required"); - newBlueprint.addPropertyDescriptorToGroupNamed(newBlueprint.addToOnePropertyDescriptorNamed("requiredBindableProperty3"), "required"); - - newBlueprint.addPropertyValidationRule("rule1").validationSelector = null; - // newBlueprint.addPropertyValidationRule("rule1").validationSelector = Selector.property("requiredBindableProperty1").isBound; - // newBlueprint.addPropertyValidationRule("rule2").validationSelector = Selector.property("requiredBindableProperty2").isBound; - // newBlueprint.addPropertyValidationRule("rule3").validationSelector = Selector.property("requiredBindableProperty3").isBound; - - component3.blueprint = newBlueprint; - - var blueprintPromise = component3.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).toBeTruthy(); - var serializedDescription = serializer.serializeObject(blueprint); - expect(serializedDescription).toBeTruthy(); - }).finally(function () { - done(); - }); - }); - - describe("test converter blueprint", function () { - var component = new Component(); - - it("should exist", function (done) { - var blueprintPromise = component.blueprint; - blueprintPromise.then(function (blueprint) { - expect(blueprint).toBeTruthy(); - }).finally(function () { - done(); - }); - }); - - it("should have element property blueprint", function (done) { - var blueprintPromise = component.blueprint; - blueprintPromise.then(function (blueprint) { - var propertyBlueprint = blueprint.propertyDescriptorForName("element"); - expect(propertyBlueprint).toBeTruthy(); - expect(propertyBlueprint.valueType).toBe("string"); - expect(propertyBlueprint.readOnly).toBe(true); - }).finally(function () { - done(); - }); - }); - - it("should have identifier property blueprint", function (done) { - var blueprintPromise = component.blueprint; - blueprintPromise.then(function (blueprint) { - var propertyBlueprint = blueprint.propertyDescriptorForName("identifier"); - expect(propertyBlueprint).toBeTruthy(); - expect(propertyBlueprint.valueType).toBe("string"); - }).finally(function () { - done(); - }); - }); - - }); - - }); - -}); diff --git a/test/spec/meta/component-object-descriptor-spec.js b/test/spec/meta/component-object-descriptor-spec.js new file mode 100644 index 0000000000..0e306a8acd --- /dev/null +++ b/test/spec/meta/component-object-descriptor-spec.js @@ -0,0 +1,161 @@ +/* + */ +var Montage = require("montage").Montage; +var TestPageLoader = require("montage-testing/testpageloader").TestPageLoader; +var Component = require("montage/ui/component").Component; +var Selector = require("montage/core/selector").Selector; +var ObjectDescriptor = require("montage/core/meta/object-descriptor").ObjectDescriptor; +var Promise = require("montage/core/promise").Promise; +var Serializer = require("montage/core/serialization/serializer/montage-serializer").MontageSerializer; + +TestPageLoader.queueTest("component-object-descriptor-test/component-object-descriptor-test", function (testPage) { + describe("meta/component-object-descriptor-spec", function () { + var component1; + var component2; + var component3; + + + beforeEach(function () { + component1 = testPage.test.component1; + component2 = testPage.test.component2; + component3 = testPage.test.component3; + }); + + it("can create new objectDescriptor", function (done) { + var newObjectDescriptor = new ObjectDescriptor().initWithName(component1.identifier); + component1.objectDescriptor = newObjectDescriptor; + var objectDescriptorPromise = component1.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(newObjectDescriptor).toBeDefined(); + expect(objectDescriptor).toBe(newObjectDescriptor); + }).finally(function () { + done(); + }); + }); + + it("can create new property objectDescriptor", function (done) { + var newObjectDescriptor = new ObjectDescriptor().initWithName(component1.identifier); + newObjectDescriptor.addToOnePropertyDescriptorNamed("bindableProperty"); + component1.objectDescriptor = newObjectDescriptor; + var objectDescriptorPromise = component1.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + var propertyDescriptor = objectDescriptor.propertyDescriptorForName("bindableProperty"); + expect(propertyDescriptor).toBeDefined(); + }).finally(function () { + done(); + }); + }); + + it("can serialize the component objectDescriptor", function (done) { + var serializer = new Serializer().initWithRequire(require); + + var newObjectDescriptor = new ObjectDescriptor().initWithName(component1.identifier); + // + newObjectDescriptor.addToOnePropertyDescriptorNamed("bindableProperty1"); + newObjectDescriptor.addToOnePropertyDescriptorNamed("bindableProperty2"); + newObjectDescriptor.addToOnePropertyDescriptorNamed("bindableProperty3"); + newObjectDescriptor.addToOnePropertyDescriptorNamed("bindableProperty4"); + newObjectDescriptor.addToOnePropertyDescriptorNamed("bindableProperty5"); + // + newObjectDescriptor.addEventDescriptorNamed("action"); + // + newObjectDescriptor.addPropertyDescriptorToGroupNamed(newObjectDescriptor.addToOnePropertyDescriptorNamed("requiredBindableProperty1"), "required"); + newObjectDescriptor.addPropertyDescriptorToGroupNamed(newObjectDescriptor.addToOnePropertyDescriptorNamed("requiredBindableProperty2"), "required"); + newObjectDescriptor.addPropertyDescriptorToGroupNamed(newObjectDescriptor.addToOnePropertyDescriptorNamed("requiredBindableProperty3"), "required"); + component1.objectDescriptor = newObjectDescriptor; + + var objectDescriptorPromise = component1.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + var serializedDescription = serializer.serializeObject(objectDescriptor); + expect(serializedDescription).toBeTruthy(); + }).finally(function () { + done(); + }); + }); + + xit("can load the component objectDescriptor from the reel", function (done) { + var objectDescriptorPromise = component2.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).toBeTruthy(); + // TODO test look weird requiredBindableProperty1 vs bindableProperty1 + expect(objectDescriptor.propertyDescriptorForName("bindableProperty1")).toBeTruthy(); + expect(objectDescriptor.propertyDescriptorForName("required")).toBeTruthy(); + }).finally(function () { + done(); + }); + }); + + + it("can create validation rules", function (done) { + var serializer = new Serializer().initWithRequire(require); + + var newObjectDescriptor = new ObjectDescriptor().initWithName(component3.identifier); + expect(newObjectDescriptor).toBeTruthy(); + // + newObjectDescriptor.addToOnePropertyDescriptorNamed("bindableProperty1"); + newObjectDescriptor.addToOnePropertyDescriptorNamed("bindableProperty2"); + newObjectDescriptor.addToOnePropertyDescriptorNamed("bindableProperty3"); + newObjectDescriptor.addToOnePropertyDescriptorNamed("bindableProperty4"); + newObjectDescriptor.addToOnePropertyDescriptorNamed("bindableProperty5"); + // + newObjectDescriptor.addPropertyDescriptorToGroupNamed(newObjectDescriptor.addToOnePropertyDescriptorNamed("requiredBindableProperty1"), "required"); + newObjectDescriptor.addPropertyDescriptorToGroupNamed(newObjectDescriptor.addToOnePropertyDescriptorNamed("requiredBindableProperty2"), "required"); + newObjectDescriptor.addPropertyDescriptorToGroupNamed(newObjectDescriptor.addToOnePropertyDescriptorNamed("requiredBindableProperty3"), "required"); + + newObjectDescriptor.addPropertyValidationRule("rule1").validationSelector = null; + // newObjectDescriptor.addPropertyValidationRule("rule1").validationSelector = Selector.property("requiredBindableProperty1").isBound; + // newObjectDescriptor.addPropertyValidationRule("rule2").validationSelector = Selector.property("requiredBindableProperty2").isBound; + // newObjectDescriptor.addPropertyValidationRule("rule3").validationSelector = Selector.property("requiredBindableProperty3").isBound; + + component3.objectDescriptor = newObjectDescriptor; + + var objectDescriptorPromise = component3.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).toBeTruthy(); + var serializedDescription = serializer.serializeObject(objectDescriptor); + expect(serializedDescription).toBeTruthy(); + }).finally(function () { + done(); + }); + }); + + describe("test converter objectDescriptor", function () { + var component = new Component(); + + it("should exist", function (done) { + var objectDescriptorPromise = component.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + expect(objectDescriptor).toBeTruthy(); + }).finally(function () { + done(); + }); + }); + + it("should have element property objectDescriptor", function (done) { + var objectDescriptorPromise = component.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + var propertyDescriptor = objectDescriptor.propertyDescriptorForName("element"); + expect(propertyDescriptor).toBeTruthy(); + expect(propertyDescriptor.valueType).toBe("string"); + expect(propertyDescriptor.readOnly).toBe(true); + }).finally(function () { + done(); + }); + }); + + it("should have identifier property objectDescriptor", function (done) { + var objectDescriptorPromise = component.objectDescriptor; + objectDescriptorPromise.then(function (objectDescriptor) { + var propertyDescriptor = objectDescriptor.propertyDescriptorForName("identifier"); + expect(propertyDescriptor).toBeTruthy(); + expect(propertyDescriptor.valueType).toBe("string"); + }).finally(function () { + done(); + }); + }); + + }); + + }); + +}); diff --git a/test/spec/meta/component-blueprint-test/component-blueprint-test-1.reel/component-blueprint-test-1.html b/test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-1.reel/component-object-descriptor-test-1.html similarity index 54% rename from test/spec/meta/component-blueprint-test/component-blueprint-test-1.reel/component-blueprint-test-1.html rename to test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-1.reel/component-object-descriptor-test-1.html index af88e04cb9..3946e766d3 100644 --- a/test/spec/meta/component-blueprint-test/component-blueprint-test-1.reel/component-blueprint-test-1.html +++ b/test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-1.reel/component-object-descriptor-test-1.html @@ -2,9 +2,9 @@ - ComponentBlueprintTest1 + ComponentObjectDescriptorTest1 - + - \ No newline at end of file + diff --git a/test/spec/meta/component-blueprint-test/component-blueprint-test-1.reel/component-blueprint-test-1.js b/test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-1.reel/component-object-descriptor-test-1.js similarity index 51% rename from test/spec/meta/component-blueprint-test/component-blueprint-test-1.reel/component-blueprint-test-1.js rename to test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-1.reel/component-object-descriptor-test-1.js index d770dae2ea..e9a28e8000 100644 --- a/test/spec/meta/component-blueprint-test/component-blueprint-test-1.reel/component-blueprint-test-1.js +++ b/test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-1.reel/component-object-descriptor-test-1.js @@ -2,17 +2,17 @@ */ var Component = require("montage/ui/component").Component; -exports.ComponentBlueprintTest1 = Component.specialize( { +exports.ComponentObjectDescriptorTest1 = Component.specialize( { templateDidLoad: { value: function () { - console.log("Component Blueprint Test 1 template did load"); + console.log("Component ObjectDescriptor Test 1 template did load"); } }, deserializedFromTemplate: { value: function () { - console.log("Component Blueprint Test 1 deserialized from template"); + console.log("Component ObjectDescriptor Test 1 deserialized from template"); } } diff --git a/test/spec/meta/component-blueprint-test/component-blueprint-test-2.reel/component-blueprint-test-2.html b/test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-2.reel/component-object-descriptor-test-2.html similarity index 54% rename from test/spec/meta/component-blueprint-test/component-blueprint-test-2.reel/component-blueprint-test-2.html rename to test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-2.reel/component-object-descriptor-test-2.html index 0e9fb9406e..d16bdaa9ea 100644 --- a/test/spec/meta/component-blueprint-test/component-blueprint-test-2.reel/component-blueprint-test-2.html +++ b/test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-2.reel/component-object-descriptor-test-2.html @@ -2,9 +2,9 @@ - ComponentBlueprintTest2 + ComponentObjectDescriptorTest2 - + - \ No newline at end of file + diff --git a/test/spec/meta/component-blueprint-test/component-blueprint-test-2.reel/component-blueprint-test-2.js b/test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-2.reel/component-object-descriptor-test-2.js similarity index 51% rename from test/spec/meta/component-blueprint-test/component-blueprint-test-2.reel/component-blueprint-test-2.js rename to test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-2.reel/component-object-descriptor-test-2.js index f8fbae0857..0cb472407e 100644 --- a/test/spec/meta/component-blueprint-test/component-blueprint-test-2.reel/component-blueprint-test-2.js +++ b/test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-2.reel/component-object-descriptor-test-2.js @@ -3,17 +3,17 @@ var Montage = require("montage").Montage, Component = require("montage/ui/component").Component; -var ComponentBlueprintTest2 = exports.ComponentBlueprintTest2 = Component.specialize( { +var ComponentObjectDescriptorTest2 = exports.ComponentObjectDescriptorTest2 = Component.specialize( { templateDidLoad: { value: function () { - //console.log("Component Blueprint Test 2 template did load"); + //console.log("Component ObjectDescriptor Test 2 template did load"); } }, deserializedFromTemplate: { value: function () { - //console.log("Component Blueprint Test 2 deserialized from template"); + //console.log("Component ObjectDescriptor Test 2 deserialized from template"); } } diff --git a/test/spec/meta/component-blueprint-test/component-blueprint-test-2.reel/component-blueprint-test-2.meta b/test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-2.reel/component-object-descriptor-test-2.meta similarity index 80% rename from test/spec/meta/component-blueprint-test/component-blueprint-test-2.reel/component-blueprint-test-2.meta rename to test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-2.reel/component-object-descriptor-test-2.meta index dd0f024a81..7b021f8b73 100644 --- a/test/spec/meta/component-blueprint-test/component-blueprint-test-2.reel/component-blueprint-test-2.meta +++ b/test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-2.reel/component-object-descriptor-test-2.meta @@ -1,8 +1,8 @@ { "component2_bindableProperty1": { - "prototype": "montage/core/meta/property-blueprint", + "prototype": "montage/core/meta/property-descriptor", "values": { - "blueprint": { + "objectDescriptor": { "@": "root" }, "name": "bindableProperty1", @@ -15,9 +15,9 @@ } }, "component2_bindableProperty2": { - "prototype": "montage/core/meta/property-blueprint", + "prototype": "montage/core/meta/property-descriptor", "values": { - "blueprint": { + "objectDescriptor": { "@": "root" }, "name": "bindableProperty2", @@ -30,9 +30,9 @@ } }, "component2_bindableProperty3": { - "prototype": "montage/core/meta/property-blueprint", + "prototype": "montage/core/meta/property-descriptor", "values": { - "blueprint": { + "objectDescriptor": { "@": "root" }, "name": "bindableProperty3", @@ -45,9 +45,9 @@ } }, "component2_bindableProperty4": { - "prototype": "montage/core/meta/property-blueprint", + "prototype": "montage/core/meta/property-descriptor", "values": { - "blueprint": { + "objectDescriptor": { "@": "root" }, "name": "bindableProperty4", @@ -60,9 +60,9 @@ } }, "component2_bindableProperty5": { - "prototype": "montage/core/meta/property-blueprint", + "prototype": "montage/core/meta/property-descriptor", "values": { - "blueprint": { + "objectDescriptor": { "@": "root" }, "name": "bindableProperty5", @@ -75,9 +75,9 @@ } }, "component2_requiredBindableProperty1": { - "prototype": "montage/core/meta/property-blueprint", + "prototype": "montage/core/meta/property-descriptor", "values": { - "blueprint": { + "objectDescriptor": { "@": "root" }, "name": "requiredBindableProperty1", @@ -90,9 +90,9 @@ } }, "component2_requiredBindableProperty2": { - "prototype": "montage/core/meta/property-blueprint", + "prototype": "montage/core/meta/property-descriptor", "values": { - "blueprint": { + "objectDescriptor": { "@": "root" }, "name": "requiredBindableProperty2", @@ -105,9 +105,9 @@ } }, "component2_requiredBindableProperty3": { - "prototype": "montage/core/meta/property-blueprint", + "prototype": "montage/core/meta/property-descriptor", "values": { - "blueprint": { + "objectDescriptor": { "@": "root" }, "name": "requiredBindableProperty3", @@ -120,7 +120,7 @@ } }, "root": { - "prototype": "montage/core/meta/module-blueprint", + "prototype": "montage/core/meta/module-object-descriptor", "values": { "name": "component2", "customPrototype": false, @@ -164,10 +164,10 @@ ] }, "propertyValidationRules": {}, - "blueprintModule": {}, - "exportName": "ComponentBlueprintTest2", + "objectDescriptorModule": {}, + "exportName": "ComponentObjectDescriptorTest2", "module": { - "%": "spec/test/meta/component-blueprint-test/component-blueprint-test-2.reel" + "%": "spec/test/meta/component-object-descriptor-test/component-object-descriptor-test-2.reel" } } } diff --git a/test/spec/meta/component-blueprint-test/component-blueprint-test-3.reel/component-blueprint-test-3.html b/test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-3.reel/component-object-descriptor-test-3.html similarity index 54% rename from test/spec/meta/component-blueprint-test/component-blueprint-test-3.reel/component-blueprint-test-3.html rename to test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-3.reel/component-object-descriptor-test-3.html index 8d4a62f029..c96e176132 100644 --- a/test/spec/meta/component-blueprint-test/component-blueprint-test-3.reel/component-blueprint-test-3.html +++ b/test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-3.reel/component-object-descriptor-test-3.html @@ -2,9 +2,9 @@ - ComponentBlueprintTest3 + ComponentObjectDescriptorTest3 - + - \ No newline at end of file + diff --git a/test/spec/meta/component-blueprint-test/component-blueprint-test-3.reel/component-blueprint-test-3.js b/test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-3.reel/component-object-descriptor-test-3.js similarity index 72% rename from test/spec/meta/component-blueprint-test/component-blueprint-test-3.reel/component-blueprint-test-3.js rename to test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-3.reel/component-object-descriptor-test-3.js index c52af8aac4..4b666c6267 100644 --- a/test/spec/meta/component-blueprint-test/component-blueprint-test-3.reel/component-blueprint-test-3.js +++ b/test/spec/meta/component-object-descriptor-test/component-object-descriptor-test-3.reel/component-object-descriptor-test-3.js @@ -3,17 +3,17 @@ var Montage = require("montage").Montage, Component = require("montage/ui/component").Component; -var ComponentBlueprintTest3 = exports.ComponentBlueprintTest3 = Component.specialize( { +var ComponentObjectDescriptorTest3 = exports.ComponentObjectDescriptorTest3 = Component.specialize( { templateDidLoad: { value: function () { - //console.log("Component Blueprint Test 3 template did load"); + //console.log("Component ObjectDescriptor Test 3 template did load"); } }, deserializedFromTemplate: { value: function () { - //console.log("Component Blueprint Test 3 deserialized from template"); + //console.log("Component ObjectDescriptor Test 3 deserialized from template"); } }, diff --git a/test/spec/meta/component-blueprint-test/component-blueprint-test.html b/test/spec/meta/component-object-descriptor-test/component-object-descriptor-test.html similarity index 76% rename from test/spec/meta/component-blueprint-test/component-blueprint-test.html rename to test/spec/meta/component-object-descriptor-test/component-object-descriptor-test.html index 8daab61f6d..b285931803 100644 --- a/test/spec/meta/component-blueprint-test/component-blueprint-test.html +++ b/test/spec/meta/component-object-descriptor-test/component-object-descriptor-test.html @@ -7,7 +7,7 @@