testing/mochitest/tests/MochiKit-1.4.2/MochiKit/MochiKit.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/testing/mochitest/tests/MochiKit-1.4.2/MochiKit/MochiKit.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,188 @@
     1.4 +/***
     1.5 +
     1.6 +MochiKit.MochiKit 1.4.2
     1.7 +
     1.8 +See <http://mochikit.com/> for documentation, downloads, license, etc.
     1.9 +
    1.10 +(c) 2005 Bob Ippolito.  All rights Reserved.
    1.11 +
    1.12 +***/
    1.13 +
    1.14 +if (typeof(MochiKit) == 'undefined') {
    1.15 +    MochiKit = {};
    1.16 +}
    1.17 +
    1.18 +if (typeof(MochiKit.MochiKit) == 'undefined') {
    1.19 +    /** @id MochiKit.MochiKit */
    1.20 +    MochiKit.MochiKit = {};
    1.21 +}
    1.22 +
    1.23 +MochiKit.MochiKit.NAME = "MochiKit.MochiKit";
    1.24 +MochiKit.MochiKit.VERSION = "1.4.2";
    1.25 +MochiKit.MochiKit.__repr__ = function () {
    1.26 +    return "[" + this.NAME + " " + this.VERSION + "]";
    1.27 +};
    1.28 +
    1.29 +/** @id MochiKit.MochiKit.toString */
    1.30 +MochiKit.MochiKit.toString = function () {
    1.31 +    return this.__repr__();
    1.32 +};
    1.33 +
    1.34 +/** @id MochiKit.MochiKit.SUBMODULES */
    1.35 +MochiKit.MochiKit.SUBMODULES = [
    1.36 +    "Base",
    1.37 +    "Iter",
    1.38 +    "Logging",
    1.39 +    "DateTime",
    1.40 +    "Format",
    1.41 +    "Async",
    1.42 +    "DOM",
    1.43 +    "Selector",
    1.44 +    "Style",
    1.45 +    "LoggingPane",
    1.46 +    "Color",
    1.47 +    "Signal",
    1.48 +    "Position",
    1.49 +    "Visual",
    1.50 +    "DragAndDrop",
    1.51 +    "Sortable"
    1.52 +];
    1.53 +
    1.54 +if (typeof(JSAN) != 'undefined' || typeof(dojo) != 'undefined') {
    1.55 +    if (typeof(dojo) != 'undefined') {
    1.56 +        dojo.provide('MochiKit.MochiKit');
    1.57 +        (function (lst) {
    1.58 +            for (var i = 0; i < lst.length; i++) {
    1.59 +                dojo.require("MochiKit." + lst[i]);
    1.60 +            }
    1.61 +        })(MochiKit.MochiKit.SUBMODULES);
    1.62 +    }
    1.63 +    if (typeof(JSAN) != 'undefined') {
    1.64 +        (function (lst) {
    1.65 +            for (var i = 0; i < lst.length; i++) {
    1.66 +                JSAN.use("MochiKit." + lst[i], []);
    1.67 +            }
    1.68 +        })(MochiKit.MochiKit.SUBMODULES);
    1.69 +    }
    1.70 +    (function () {
    1.71 +        var extend = MochiKit.Base.extend;
    1.72 +        var self = MochiKit.MochiKit;
    1.73 +        var modules = self.SUBMODULES;
    1.74 +        var EXPORT = [];
    1.75 +        var EXPORT_OK = [];
    1.76 +        var EXPORT_TAGS = {};
    1.77 +        var i, k, m, all;
    1.78 +        for (i = 0; i < modules.length; i++) {
    1.79 +            m = MochiKit[modules[i]];
    1.80 +            extend(EXPORT, m.EXPORT);
    1.81 +            extend(EXPORT_OK, m.EXPORT_OK);
    1.82 +            for (k in m.EXPORT_TAGS) {
    1.83 +                EXPORT_TAGS[k] = extend(EXPORT_TAGS[k], m.EXPORT_TAGS[k]);
    1.84 +            }
    1.85 +            all = m.EXPORT_TAGS[":all"];
    1.86 +            if (!all) {
    1.87 +                all = extend(null, m.EXPORT, m.EXPORT_OK);
    1.88 +            }
    1.89 +            var j;
    1.90 +            for (j = 0; j < all.length; j++) {
    1.91 +                k = all[j];
    1.92 +                self[k] = m[k];
    1.93 +            }
    1.94 +        }
    1.95 +        self.EXPORT = EXPORT;
    1.96 +        self.EXPORT_OK = EXPORT_OK;
    1.97 +        self.EXPORT_TAGS = EXPORT_TAGS;
    1.98 +    }());
    1.99 +
   1.100 +} else {
   1.101 +    if (typeof(MochiKit.__compat__) == 'undefined') {
   1.102 +        MochiKit.__compat__ = true;
   1.103 +    }
   1.104 +    (function () {
   1.105 +        if (typeof(document) == "undefined") {
   1.106 +            return;
   1.107 +        }
   1.108 +        var scripts = document.getElementsByTagName("script");
   1.109 +        var kXHTMLNSURI = "http://www.w3.org/1999/xhtml";
   1.110 +        var kSVGNSURI = "http://www.w3.org/2000/svg";
   1.111 +        var kXLINKNSURI = "http://www.w3.org/1999/xlink";
   1.112 +        var kXULNSURI = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
   1.113 +        var base = null;
   1.114 +        var baseElem = null;
   1.115 +        var allScripts = {};
   1.116 +        var i;
   1.117 +        var src;
   1.118 +        for (i = 0; i < scripts.length; i++) {
   1.119 +            src = null;
   1.120 +            switch (scripts[i].namespaceURI) {
   1.121 +                case kSVGNSURI:
   1.122 +                    src = scripts[i].getAttributeNS(kXLINKNSURI, "href");
   1.123 +                    break;
   1.124 +                /*
   1.125 +                case null: // HTML
   1.126 +                case '': // HTML
   1.127 +                case kXHTMLNSURI:
   1.128 +                case kXULNSURI:
   1.129 +                */
   1.130 +                default:
   1.131 +                    src = scripts[i].getAttribute("src");
   1.132 +                    break;
   1.133 +            }
   1.134 +            if (!src) {
   1.135 +                continue;
   1.136 +            }
   1.137 +            allScripts[src] = true;
   1.138 +            if (src.match(/MochiKit.js(\?.*)?$/)) {
   1.139 +                base = src.substring(0, src.lastIndexOf('MochiKit.js'));
   1.140 +                baseElem = scripts[i];
   1.141 +            }
   1.142 +        }
   1.143 +        if (base === null) {
   1.144 +            return;
   1.145 +        }
   1.146 +        var modules = MochiKit.MochiKit.SUBMODULES;
   1.147 +        for (var i = 0; i < modules.length; i++) {
   1.148 +            if (MochiKit[modules[i]]) {
   1.149 +                continue;
   1.150 +            }
   1.151 +            var uri = base + modules[i] + '.js';
   1.152 +            if (uri in allScripts) {
   1.153 +                continue;
   1.154 +            }
   1.155 +            if (baseElem.namespaceURI == kSVGNSURI ||
   1.156 +                baseElem.namespaceURI == kXULNSURI) {
   1.157 +                // SVG, XUL
   1.158 +                /*
   1.159 +                    SVG does not support document.write, so if Safari wants to
   1.160 +                    support SVG tests it should fix its deferred loading bug
   1.161 +                    (see following below).
   1.162 +
   1.163 +                */
   1.164 +                var s = document.createElementNS(baseElem.namespaceURI, 'script');
   1.165 +                s.setAttribute("id", "MochiKit_" + base + modules[i]);
   1.166 +                if (baseElem.namespaceURI == kSVGNSURI) {
   1.167 +                    s.setAttributeNS(kXLINKNSURI, 'href', uri);
   1.168 +                } else {
   1.169 +                    s.setAttribute('src', uri);
   1.170 +                }
   1.171 +                s.setAttribute("type", "application/x-javascript");
   1.172 +                baseElem.parentNode.appendChild(s);
   1.173 +            } else {
   1.174 +                // HTML, XHTML
   1.175 +                /*
   1.176 +                    DOM can not be used here because Safari does
   1.177 +                    deferred loading of scripts unless they are
   1.178 +                    in the document or inserted with document.write
   1.179 +
   1.180 +                    This is not XHTML compliant.  If you want XHTML
   1.181 +                    compliance then you must use the packed version of MochiKit
   1.182 +                    or include each script individually (basically unroll
   1.183 +                    these document.write calls into your XHTML source)
   1.184 +
   1.185 +                */
   1.186 +                document.write('<' + baseElem.nodeName + ' src="' + uri + 
   1.187 +                    '" type="text/javascript"></script>');
   1.188 +            }
   1.189 +        };
   1.190 +    })();
   1.191 +}

mercurial