diff -r 000000000000 -r 40c8f766c9b8 src/cm/media/js/lib/yui/yui_3.0.0b1/api/ObjectAssert.js.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cm/media/js/lib/yui/yui_3.0.0b1/api/ObjectAssert.js.html Mon Nov 23 15:14:29 2009 +0100 @@ -0,0 +1,260 @@ + + +
+ + /**
+ * The ObjectAssert object provides functions to test JavaScript objects
+ * for a variety of cases.
+ *
+ * @class ObjectAssert
+ * @static
+ */
+ Y.ObjectAssert = {
+
+ areEqual: function(expected, actual, message) {
+ Y.Assert._increment();
+ Y.Object.each(expected, function(value, name){
+ if (expected[name] != actual[name]){
+ throw new Y.Assert.ComparisonFailure(Y.Assert._formatMessage(message, "Values should be equal for property " + name), expected[name], actual[name]);
+ }
+ });
+ },
+
+ /**
+ * Asserts that an object has a property with the given name.
+ * @param {String} propertyName The name of the property to test.
+ * @param {Object} object The object to search.
+ * @param {String} message (Optional) The message to display if the assertion fails.
+ * @method hasKey
+ * @static
+ */
+ hasKey: function (propertyName, object, message) {
+ Y.Assert._increment();
+ if (!Y.Object.hasKey(object, propertyName)){
+ Y.fail(Y.Assert._formatMessage(message, "Property '" + propertyName + "' not found on object."));
+ }
+ },
+
+ /**
+ * Asserts that an object has all properties of a reference object.
+ * @param {Array} properties An array of property names that should be on the object.
+ * @param {Object} object The object to search.
+ * @param {String} message (Optional) The message to display if the assertion fails.
+ * @method hasKeys
+ * @static
+ */
+ hasKeys: function (properties, object, message) {
+ Y.Assert._increment();
+ for (var i=0; i < properties.length; i++){
+ if (!Y.Object.hasKey(object, properties[i])){
+ Y.fail(Y.Assert._formatMessage(message, "Property '" + properties[i] + "' not found on object."));
+ }
+ }
+ },
+
+ /**
+ * Asserts that a property with the given name exists on an object instance (not on its prototype).
+ * @param {String} propertyName The name of the property to test.
+ * @param {Object} object The object to search.
+ * @param {String} message (Optional) The message to display if the assertion fails.
+ * @method ownsKey
+ * @static
+ */
+ ownsKey: function (propertyName, object, message) {
+ Y.Assert._increment();
+ if (!object.hasOwnProperty(propertyName)){
+ Y.fail(Y.Assert._formatMessage(message, "Property '" + propertyName + "' not found on object instance."));
+ }
+ },
+
+ /**
+ * Asserts that all properties exist on an object instance (not on its prototype).
+ * @param {Array} properties An array of property names that should be on the object.
+ * @param {Object} object The object to search.
+ * @param {String} message (Optional) The message to display if the assertion fails.
+ * @method ownsKeys
+ * @static
+ */
+ ownsKeys: function (properties, object, message) {
+ Y.Assert._increment();
+ for (var i=0; i < properties.length; i++){
+ if (!object.hasOwnProperty(properties[i])){
+ Y.fail(Y.Assert._formatMessage(message, "Property '" + properties[i] + "' not found on object instance."));
+ }
+ }
+ },
+
+ /**
+ * Asserts that an object owns no properties.
+ * @param {Object} object The object to check.
+ * @param {String} message (Optional) The message to display if the assertion fails.
+ * @method ownsNoKeys
+ * @static
+ */
+ ownsNoKeys : function (object, message) {
+ Y.Assert._increment();
+
+ var keys = Y.Object.keys(object);
+
+ if (keys.length > 0){
+ Y.fail(Y.Assert._formatMessage(message, "Object owns " + keys.length + " properties but should own none."));
+ }
+
+ }
+ };
+