Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/utils/lib/test/assert.js
blob: 7d88e8b784cdeae56bb6b318eebb1e518fbf0715 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
var equiv = require("./equiv").equiv,
    jsDump = require("./jsdump").jsDump,
    util = require("../util");

var assert = exports;

function fail(message) {
    throw new AssertionError(message);
}

assert.isTrue = function(assertion, message) {
    if (assertion !== true)
        fail((message || "") + "\nExpected true." +
            "\nActual = " + assertion);
}

assert.isFalse = function(assertion, message) {
    if (assertion !== false)
        fail((message || "") + "\nExpected false." +
            "\nActual = " + assertion);
}

assert.isNull = function(assertion, message) {
    if (assertion !== null)
        fail((message || "") + "\nExpected null." +
            "\nActual = " + assertion);
}

assert.isEqual = function(expected, actual, message) {
    if (expected !== actual)
        fail((message || "") + "\nExpected equal to = " + jsDump.parse(expected) +
            "\nActual = " + jsDump.parse(actual));
}

assert.is = function (expected, actual, message) {
    if (!util.is(expected, actual))
        fail((message || "") + "\nExpected identical = " + jsDump.parse(expected) +
            "\nActual = " + jsDump.parse(actual));
};

assert.isSame = function(expected, actual, message) {
    if (!equiv(expected, actual))
        fail((message || "") + "\nExpected same as = " + jsDump.parse(expected) +
            "\nActual = " + jsDump.parse(actual));
}

assert.eq = function (expected, actual, message) {
    if (!util.eq(expected, actual))
        fail((message || "") + "\nExpected equal = " + jsDump.parse(expected) +
            "\nActual = " + jsDump.parse(actual));
};


assert.isDiff = function(expected, actual, message) {
    if (equiv(expected, actual))
        fail((message || "") + "\nExpected different than = " + jsDump.parse(expected) +
            "\nActual = " + jsDump.parse(actual));
}

assert.throwsError = function(block, type, message) {
    var threw = false,
        exception = null;
        
    try {
        block();
    } catch (e) {
        threw = true;
        exception = e;
    }
    
    if (!threw)
        fail("Expected exception" + (message ? ": " + message : ""));
    
    if (type !== undefined && !(exception instanceof type))
        fail("Expected exception type '"+type+
            "', actually '"+exception+"'" + (message ? ": " + message : ""));
}


var AssertionError = exports.AssertionError = function(message) {
    this.name = "AssertionError";
    this.message = message;
}

AssertionError.prototype = new Error();