Assertions
Within each test, you can use any of these functions to check the output of your program. If an assertion fails, no further code in that test is run.
assertBlock([message, ]callback)
Passes if the callback function returns a truthy value. message is an
optional parameter, as it is for all other assertions, and if given should be
a string that will be used when printing an error message if the assertion
fails.
assert(boolean[, message])
Passes if the expression boolean has a truthy value.
assertEqual(expected, actual[, message])
Passes if expected and actual are equal. Equality is
determined using the equals() method if expected responds to it, and the
=== operator otherwise. This assertion also handles deep-equality of arrays
and objects, comparing the elements of the object using equals() or ===
where appropriate.
assertNotEqual(expected, actual[, message])
Passes if expected and actual are not equal according to the semantics of
assertEqual().
assertSame(expected, actual[, message])
Passes if expected and actual are the same object, i.e. @expected ===
actual@. assertNotSame(expected, actual[, message]) passes if expected and
actual are not the same object, i.e. expected !== actual.
assertInDelta(expected, actual, delta[, message])
Passes if |expected - actual| <= delta. All values must be numbers.
assertKindOf(type, object[, message])
Passes if object is an instance of type. type can be a JavaScript type
string like 'boolean' or 'object', or a reference to a class or module.
assertMatch(pattern, string[, message])
Passes if string matches the regular expression pattern. This can also be
used with any object that responds to match() as the pattern, for example
assertMatch(new JS.Range(1,10), 5).
assertNoMatch(pattern, string[, message])
Passes if pattern does not match string (inverse of assertMatch).
assertNull(object[, message])
Passes if object is null. assertNotNull(object[, message]) passes if
object is not null.
assertRespondTo(object, method[, message])
Passes if object has a property or method named method.
assertThrows(error[, error2], callback)
Passes if calling the given callback function throws one of the given error
types, for example assertThrows(TypeError, function() { null.foo() }).
assertNothingThrown([error, ][message, ]callback)
Passes if calling the given callback does not throw an error, for example
assertNothingThrown(function() { 1 + 1 }). You can specify what types of
errors should be caught, for example
assertNothingThrown(TypeError, ReferenceError, function() { 1 + 1 });
if the callback throws any other type of error this will be reported as an
error rather than a test failure.