⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.js

📁 Ajax下日志框架
💻 JS
字号:
/***MochiKit.Test 1.3.1See <http://mochikit.com/> for documentation, downloads, license, etc.(c) 2005 Bob Ippolito.  All rights Reserved.***/if (typeof(dojo) != 'undefined') {    dojo.provide('MochiKit.Test');    dojo.require('MochiKit.Base');}if (typeof(JSAN) != 'undefined') {    JSAN.use("MochiKit.Base", []);}try {    if (typeof(MochiKit.Base) == 'undefined') {        throw "";    }} catch (e) {    throw "MochiKit.Test depends on MochiKit.Base!";}if (typeof(MochiKit.Test) == 'undefined') {    MochiKit.Test = {};}MochiKit.Test.NAME = "MochiKit.Test";MochiKit.Test.VERSION = "1.3.1";MochiKit.Test.__repr__ = function () {    return "[" + this.NAME + " " + this.VERSION + "]";};MochiKit.Test.toString = function () {    return this.__repr__();};MochiKit.Test.EXPORT = ["runTests"];MochiKit.Test.EXPORT_OK = [];MochiKit.Test.runTests = function (obj) {    if (typeof(obj) == "string") {        obj = JSAN.use(obj);    }    var suite = new MochiKit.Test.Suite();    suite.run(obj);};MochiKit.Test.Suite = function () {    this.testIndex = 0;    MochiKit.Base.bindMethods(this);};MochiKit.Test.Suite.prototype = {    run: function (obj) {        try {            obj(this);        } catch (e) {            this.traceback(e);        }    },    traceback: function (e) {        var items = MochiKit.Iter.sorted(MochiKit.Base.items(e));        print("not ok " + this.testIndex + " - Error thrown");        for (var i = 0; i < items.length; i++) {            var kv = items[i];            if (kv[0] == "stack") {                kv[1] = kv[1].split(/\n/)[0];            }            this.print("# " + kv.join(": "));        }    },    print: function (s) {        print(s);    },    is: function (got, expected, /* optional */message) {        var res = 1;        var msg = null;        try {            res = MochiKit.Base.compare(got, expected);        } catch (e) {            msg = "Can not compare " + typeof(got) + ":" + typeof(expected);        }        if (res) {            msg = "Expected value did not compare equal";        }        if (!res) {            return this.testResult(true, message);        }        return this.testResult(false, message,            [[msg], ["got:", got], ["expected:", expected]]);    },    testResult: function (pass, msg, failures) {        this.testIndex += 1;        if (pass) {            this.print("ok " + this.testIndex + " - " + msg);             return;        }        this.print("not ok " + this.testIndex + " - " + msg);        if (failures) {            for (var i = 0; i < failures.length; i++) {                this.print("# " + failures[i].join(" "));            }        }    },                isDeeply: function (got, expected, /* optional */message) {        var m = MochiKit.Base;        var res = 1;        try {            res = m.compare(got, expected);        } catch (e) {             // pass        }        if (res === 0) {            return this.ok(true, message);        }        var gk = m.keys(got);        var ek = m.keys(expected);        gk.sort();        ek.sort();        if (m.compare(gk, ek)) {            // differing keys            var cmp = {};            var i;            for (i = 0; i < gk.length; i++) {                cmp[gk[i]] = "got";            }            for (i = 0; i < ek.length; i++) {                if (ek[i] in cmp) {                    delete cmp[ek[i]];                } else {                    cmp[ek[i]] = "expected";                }            }            var diffkeys = m.keys(cmp);            diffkeys.sort();            var gotkeys = [];            var expkeys = [];            while (diffkeys.length) {                var k = diffkeys.shift();                if (k in Object.prototype) {                    continue;                }                (cmp[k] == "got" ? gotkeys : expkeys).push(k);            }        }                return this.testResult((!res), msg,            (msg ? [["got:", got], ["expected:", expected]] : undefined)        );    },        ok: function (res, message) {        return this.testResult(res, message);    }};MochiKit.Test.__new__ = function () {    var m = MochiKit.Base;    this.EXPORT_TAGS = {        ":common": this.EXPORT,        ":all": m.concat(this.EXPORT, this.EXPORT_OK)    };    m.nameFunctions(this);};MochiKit.Test.__new__();MochiKit.Base._exportSymbols(this, MochiKit.Test);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -