Version 3.17.2

APIs

  • Begin typing in the search box above to see results.
Show:

File: test/js/ObjectAssert.js

/**
 * The ObjectAssert object provides functions to test JavaScript objects
 * for a variety of cases.
 * @namespace Test
 * @module test
 * @class ObjectAssert
 * @static
 */
YUITest.ObjectAssert = {
 /**
 * Asserts that an object has all of the same properties
 * and property values as the other.
 * @param {Object} expected The object with all expected properties and values.
 * @param {Object} actual The object to inspect.
 * @param {String} message (Optional) The message to display if the assertion fails.
 * @method areEqual
 * @static
 * @deprecated
 */
 areEqual: function(expected, actual, message) {
 YUITest.Assert._increment();
 var expectedKeys = YUITest.Object.keys(expected),
 actualKeys = YUITest.Object.keys(actual);
 //first check keys array length
 if (expectedKeys.length != actualKeys.length){
 YUITest.Assert.fail(YUITest.Assert._formatMessage(message, "Object should have " + expectedKeys.length + " keys but has " + actualKeys.length));
 }
 //then check values
 for (var name in expected){
 if (expected.hasOwnProperty(name)){
 if (expected[name] != actual[name]){
 throw new YUITest.ComparisonFailure(YUITest.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
 * @deprecated Use ownsOrInheritsKey() instead
 */
 hasKey: function (propertyName, object, message) {
 YUITest.ObjectAssert.ownsOrInheritsKey(propertyName, object, message);
 },
 /**
 * 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
 * @deprecated Use ownsOrInheritsKeys() instead
 */
 hasKeys: function (properties, object, message) {
 YUITest.ObjectAssert.ownsOrInheritsKeys(properties, object, message);
 },
 /**
 * Asserts that a property with the given name exists on an object's 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 inheritsKey
 * @static
 */
 inheritsKey: function (propertyName, object, message) {
 YUITest.Assert._increment();
 if (!(propertyName in object && !object.hasOwnProperty(propertyName))){
 YUITest.Assert.fail(YUITest.Assert._formatMessage(message, "Property '" + propertyName + "' not found on object instance."));
 }
 },
 /**
 * Asserts that all properties exist on an object 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 inheritsKeys
 * @static
 */
 inheritsKeys: function (properties, object, message) {
 YUITest.Assert._increment();
 for (var i=0; i < properties.length; i++){
 if (!(propertyName in object && !object.hasOwnProperty(properties[i]))){
 YUITest.Assert.fail(YUITest.Assert._formatMessage(message, "Property '" + properties[i] + "' not found on object instance."));
 }
 }
 },
 /**
 * 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) {
 YUITest.Assert._increment();
 if (!object.hasOwnProperty(propertyName)){
 YUITest.Assert.fail(YUITest.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) {
 YUITest.Assert._increment();
 for (var i=0; i < properties.length; i++){
 if (!object.hasOwnProperty(properties[i])){
 YUITest.Assert.fail(YUITest.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) {
 YUITest.Assert._increment();
 var count = YUITest.Object.keys(object).length;
 if (count !== 0){
 YUITest.Assert.fail(YUITest.Assert._formatMessage(message, "Object owns " + count + " properties but should own none."));
 }
 },
 /**
 * 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 ownsOrInheritsKey
 * @static
 */
 ownsOrInheritsKey: function (propertyName, object, message) {
 YUITest.Assert._increment();
 if (!(propertyName in object)){
 YUITest.Assert.fail(YUITest.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 ownsOrInheritsKeys
 * @static
 */
 ownsOrInheritsKeys: function (properties, object, message) {
 YUITest.Assert._increment();
 for (var i=0; i < properties.length; i++){
 if (!(properties[i] in object)){
 YUITest.Assert.fail(YUITest.Assert._formatMessage(message, "Property '" + properties[i] + "' not found on object."));
 }
 }
 }
};
 

AltStyle によって変換されたページ (->オリジナル) /