UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

552 lines (461 loc) 16.9 kB
/* ************************************************************************ qooxdoo - the new era of web development http://qooxdoo.org Copyright: 2007-2008 1&1 Internet AG, Germany, http://www.1und1.de License: MIT: https://opensource.org/licenses/MIT See the LICENSE file in the project's top-level directory for details. Authors: * Fabian Jakobs (fjakobs) ************************************************************************ */ /** * This mixin includes all assertions from {@link qx.core.Assert} to conveniently * call assertions. It is included into {@link qx.core.Object} if debugging code * is enabled. It is further included into all unit tests * {@link qx.dev.unit.TestCase}. * * @require(qx.core.Assert) */ qx.Mixin.define("qx.core.MAssert", { members : { /** * Assert that the condition evaluates to <code>true</code>. * * @param condition {var} Condition to check for. Must evaluate to * <code>true</code>. * @param msg {String?} Message to be shown if the assertion fails. */ assert : function(condition, msg) { qx.core.Assert.assert(condition, msg); }, /** * Raise an {@link AssertionError} * * @param msg {String} Message to be shown if the assertion fails. * @param compact {Boolean?false} Show less verbose message. Default: false. */ fail : function(msg, compact) { qx.core.Assert.fail(msg, compact); }, /** * Assert that the value is <code>true</code> (Identity check). * * @param value {Boolean} Condition to check for. Must be identical to * <code>true</code>. * @param msg {String?} Message to be shown if the assertion fails. */ assertTrue : function(value, msg) { qx.core.Assert.assertTrue(value, msg); }, /** * Assert that the value is <code>false</code> (Identity check). * * @param value {Boolean} Condition to check for. Must be identical to * <code>false</code>. * @param msg {String?} Message to be shown if the assertion fails. */ assertFalse : function(value, msg) { qx.core.Assert.assertFalse(value, msg); }, /** * Assert that both values are equal. (Uses the equality operator * <code>==</code>.) * * @param expected {var} Reference value * @param found {var} found value * @param msg {String?} Message to be shown if the assertion fails. */ assertEquals : function(expected, found, msg) { qx.core.Assert.assertEquals(expected, found, msg); }, /** * Assert that both values are not equal. (Uses the not equality operator * <code>!=</code>.) * * @param expected {var} Reference value * @param found {var} found value * @param msg {String?} Message to be shown if the assertion fails. */ assertNotEquals : function(expected, found, msg) { qx.core.Assert.assertNotEquals(expected, found, msg); }, /** * Assert that both float values are equal. This might be needed because * of the natural floating point inaccuracy of computers. * * @param expected {Float} Reference value * @param found {Float} Found value * @param msg {String?} Message to be shown if the assertion fails. */ assertEqualsFloat : function(expected, found, msg) { qx.core.Assert.assertEqualsFloat(expected, found, msg); }, /** * Assert that both float values are not equal. This might be needed * because of the natural floating point inaccuracy of computers. * * @param expected {Float} Reference value * @param found {Float} Found value * @param msg {String?} Message to be shown if the assertion fails. */ assertNotEqualsFloat : function(expected, found, msg) { qx.core.Assert.assertNotEqualsFloat(expected, found, msg); }, /** * Assert that both values are identical. (Uses the identity operator * <code>===</code>.) * * @param expected {var} Reference value * @param found {var} found value * @param msg {String?} Message to be shown if the assertion fails. */ assertIdentical : function(expected, found, msg) { qx.core.Assert.assertIdentical(expected, found, msg); }, /** * Assert that both values are not identical. (Uses the not identity operator * <code>!==</code>.) * * @param expected {var} Reference value * @param found {var} found value * @param msg {String?} Message to be shown if the assertion fails. */ assertNotIdentical : function(expected, found, msg) { qx.core.Assert.assertNotIdentical(expected, found, msg); }, /** * Assert that the value is not <code>undefined</code>. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertNotUndefined : function(value, msg) { qx.core.Assert.assertNotUndefined(value, msg); }, /** * Assert that the value is <code>undefined</code>. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertUndefined : function(value, msg) { qx.core.Assert.assertUndefined(value, msg); }, /** * Assert that the value is not <code>null</code>. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertNotNull : function(value, msg) { qx.core.Assert.assertNotNull(value, msg); }, /** * Assert that the value is <code>null</code>. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertNull : function(value, msg) { qx.core.Assert.assertNull(value, msg); }, /** * Assert that the first two arguments are equal, when serialized into * JSON. * * @param expected {var} The expected value * @param found {var} The found value * @param msg {String?} Message to be shown if the assertion fails. */ assertJsonEquals : function(expected, found, msg) { qx.core.Assert.assertJsonEquals(expected, found, msg); }, /** * Assert that the given string matches the regular expression * * @param str {String} String, which should match the regular expression * @param re {RegExp} Regular expression to match * @param msg {String?} Message to be shown if the assertion fails. */ assertMatch : function(str, re, msg) { qx.core.Assert.assertMatch(str, re, msg); }, /** * Assert that the number of arguments is within the given range * * @param args {arguments} The <code>arguments<code> variable of a function * @param minCount {Integer} Minimal number of arguments * @param maxCount {Integer} Maximum number of arguments * @param msg {String?} Message to be shown if the assertion fails. */ assertArgumentsCount : function(args, minCount, maxCount, msg) { qx.core.Assert.assertArgumentsCount(args, minCount, maxCount, msg); }, /** * Assert that an event is fired. * * @param obj {Object} The object on which the event should be fired. * @param event {String} The event which should be fired. * @param invokeFunc {Function} The function which will be invoked and which * fires the event. * @param listener {Function?null} The function which will be invoked in the * listener. The function has one parameter called e which is the event. * @param msg {String?""} Message to be shows if the assertion fails. */ assertEventFired : function(obj, event, invokeFunc, listener, msg) { qx.core.Assert.assertEventFired(obj, event, invokeFunc, listener, msg); }, /** * Assert that an event is not fired. * * @param obj {Object} The object on which the event should be fired. * @param event {String} The event which should be fired. * @param invokeFunc {Function} The function which will be invoked and which * should not fire the event. * @param msg {String?} Message to be shows if the assertion fails. */ assertEventNotFired : function(obj, event, invokeFunc, msg) { qx.core.Assert.assertEventNotFired(obj, event, invokeFunc, msg); }, /** * Asserts that the callback raises a matching exception. * * @param callback {Function} function to check * @param exception {Error?Error} Expected constructor of the exception. * The assertion fails if the raised exception is not an instance of the * parameter. * @param re {String|RegExp} The assertion fails if the error message does * not match this parameter * @param msg {String?} Message to be shown if the assertion fails. */ assertException : function(callback, exception, re, msg) { qx.core.Assert.assertException(callback, exception, re, msg); }, /** * Assert that the value is an item in the given array. * * @param value {var} Value to check * @param array {Array} List of valid values * @param msg {String?} Message to be shown if the assertion fails. */ assertInArray : function(value, array, msg) { qx.core.Assert.assertInArray(value, array, msg); }, /** * Assert that the value is NOT an item in the given array * * @param value {var} Value to check * @param array {Array} List of values * @param msg {String?} Message to be shown if the assertion fails */ assertNotInArray : function(value, array, msg) { qx.core.Assert.assertNotInArray(value, array, msg); }, /** * Assert that both array have identical array items. * * @param expected {Array} The expected array * @param found {Array} The found array * @param msg {String?} Message to be shown if the assertion fails. */ assertArrayEquals : function(expected, found, msg) { qx.core.Assert.assertArrayEquals(expected, found, msg); }, /** * Assert that the value is a key in the given map. * * @param value {var} Value to check * @param map {Map} Map, where the keys represent the valid values * @param msg {String?} Message to be shown if the assertion fails. */ assertKeyInMap : function(value, map, msg) { qx.core.Assert.assertKeyInMap(value, map, msg); } , /** * Assert that the value is a function. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertFunction : function(value, msg) { qx.core.Assert.assertFunction(value, msg); }, /** * Assert that the value is a string. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertString : function(value, msg) { qx.core.Assert.assertString(value, msg); }, /** * Assert that the value is a boolean. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertBoolean : function(value, msg) { qx.core.Assert.assertBoolean(value, msg); }, /** * Assert that the value is a number. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertNumber : function(value, msg) { qx.core.Assert.assertNumber(value, msg); }, /** * Assert that the value is a number >= 0. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertPositiveNumber : function(value, msg) { qx.core.Assert.assertPositiveNumber(value, msg); }, /** * Assert that the value is an integer. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertInteger : function(value, msg) { qx.core.Assert.assertInteger(value, msg); }, /** * Assert that the value is an integer >= 0. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertPositiveInteger : function(value, msg) { qx.core.Assert.assertPositiveInteger(value, msg); }, /** * Assert that the value is inside the given range. * * @param value {var} Value to check * @param min {Number} lower bound * @param max {Number} upper bound * @param msg {String?} Message to be shown if the assertion fails. */ assertInRange : function(value, min, max, msg) { qx.core.Assert.assertInRange(value, min, max, msg); }, /** * Assert that the value is an object. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertObject : function(value, msg) { qx.core.Assert.assertObject(value, msg); }, /** * Assert that the value is an array. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertArray : function(value, msg) { qx.core.Assert.assertArray(value, msg); }, /** * Assert that the value is a map either created using <code>new Object</code> * or by using the object literal notation <code>{ ... }</code>. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertMap : function(value, msg) { qx.core.Assert.assertMap(value, msg); }, /** * Assert that the value is a regular expression. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertRegExp : function(value, msg) { qx.core.Assert.assertRegExp(value, msg); }, /** * Assert that the value has the given type using the <code>typeof</code> * operator. Because the type is not always what it is supposed to be it is * better to use more explicit checks like {@link #assertString} or * {@link #assertArray}. * * @param value {var} Value to check * @param type {String} expected type of the value * @param msg {String?} Message to be shown if the assertion fails. */ assertType : function(value, type, msg) { qx.core.Assert.assertType(value, type, msg); }, /** * Assert that the value is an instance of the given class. * * @param value {var} Value to check * @param clazz {Class} The value must be an instance of this class * @param msg {String?} Message to be shown if the assertion fails. */ assertInstance : function(value, clazz, msg) { qx.core.Assert.assertInstance(value, clazz, msg); }, /** * Assert that the value implements the given interface. * * @param value {var} Value to check * @param iface {Class} The value must implement this interface * @param msg {String?} Message to be shown if the assertion fails. */ assertInterface : function(value, iface, msg) { qx.core.Assert.assertInterface(value, iface, msg); }, /** * Assert that the value represents the given CSS color value. This method * parses the color strings and compares the RGB values. It is able to * parse values supported by {@link qx.util.ColorUtil#stringToRgb}. * * @param expected {String} The expected color * @param value {String} The value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertCssColor : function(expected, value, msg) { qx.core.Assert.assertCssColor(expected, value, msg); }, /** * Assert that the value is a DOM element. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertElement : function(value, msg) { qx.core.Assert.assertElement(value, msg); }, /** * Assert that the value is an instance of {@link qx.core.Object}. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertQxObject : function(value, msg) { qx.core.Assert.assertQxObject(value, msg); }, /** * Assert that the value is an instance of {@link qx.ui.core.Widget}. * * @param value {var} Value to check * @param msg {String?} Message to be shown if the assertion fails. */ assertQxWidget : function(value, msg) { qx.core.Assert.assertQxWidget(value, msg); } } });