1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/testing/mochitest/MochiKit/MochiKit.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,152 @@ 1.4 +/*** 1.5 + 1.6 +MochiKit.MochiKit 1.4 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"; 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 + "Style", 1.44 + "LoggingPane", 1.45 + "Color", 1.46 + "Signal", 1.47 + "Visual" 1.48 +]; 1.49 + 1.50 +if (typeof(JSAN) != 'undefined' || typeof(dojo) != 'undefined') { 1.51 + if (typeof(dojo) != 'undefined') { 1.52 + dojo.provide('MochiKit.MochiKit'); 1.53 + dojo.require("MochiKit.*"); 1.54 + } 1.55 + if (typeof(JSAN) != 'undefined') { 1.56 + (function (lst) { 1.57 + for (var i = 0; i < lst.length; i++) { 1.58 + JSAN.use("MochiKit." + lst[i], []); 1.59 + } 1.60 + })(MochiKit.MochiKit.SUBMODULES); 1.61 + } 1.62 + (function () { 1.63 + var extend = MochiKit.Base.extend; 1.64 + var self = MochiKit.MochiKit; 1.65 + var modules = self.SUBMODULES; 1.66 + var EXPORT = []; 1.67 + var EXPORT_OK = []; 1.68 + var EXPORT_TAGS = {}; 1.69 + var i, k, m, all; 1.70 + for (i = 0; i < modules.length; i++) { 1.71 + m = MochiKit[modules[i]]; 1.72 + extend(EXPORT, m.EXPORT); 1.73 + extend(EXPORT_OK, m.EXPORT_OK); 1.74 + for (k in m.EXPORT_TAGS) { 1.75 + EXPORT_TAGS[k] = extend(EXPORT_TAGS[k], m.EXPORT_TAGS[k]); 1.76 + } 1.77 + all = m.EXPORT_TAGS[":all"]; 1.78 + if (!all) { 1.79 + all = extend(null, m.EXPORT, m.EXPORT_OK); 1.80 + } 1.81 + var j; 1.82 + for (j = 0; j < all.length; j++) { 1.83 + k = all[j]; 1.84 + self[k] = m[k]; 1.85 + } 1.86 + } 1.87 + self.EXPORT = EXPORT; 1.88 + self.EXPORT_OK = EXPORT_OK; 1.89 + self.EXPORT_TAGS = EXPORT_TAGS; 1.90 + }()); 1.91 + 1.92 +} else { 1.93 + if (typeof(MochiKit.__compat__) == 'undefined') { 1.94 + MochiKit.__compat__ = true; 1.95 + } 1.96 + (function () { 1.97 + if (typeof(document) == "undefined") { 1.98 + return; 1.99 + } 1.100 + var scripts = document.getElementsByTagName("script"); 1.101 + var kXULNSURI = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; 1.102 + var base = null; 1.103 + var baseElem = null; 1.104 + var allScripts = {}; 1.105 + var i; 1.106 + for (i = 0; i < scripts.length; i++) { 1.107 + var src = scripts[i].getAttribute("src"); 1.108 + if (!src) { 1.109 + continue; 1.110 + } 1.111 + allScripts[src] = true; 1.112 + if (src.match(/MochiKit.js$/)) { 1.113 + base = src.substring(0, src.lastIndexOf('MochiKit.js')); 1.114 + baseElem = scripts[i]; 1.115 + } 1.116 + } 1.117 + if (base === null) { 1.118 + return; 1.119 + } 1.120 + var modules = MochiKit.MochiKit.SUBMODULES; 1.121 + for (var i = 0; i < modules.length; i++) { 1.122 + if (MochiKit[modules[i]]) { 1.123 + continue; 1.124 + } 1.125 + var uri = base + modules[i] + '.js'; 1.126 + if (uri in allScripts) { 1.127 + continue; 1.128 + } 1.129 + if (document.documentElement && 1.130 + document.documentElement.namespaceURI == kXULNSURI) { 1.131 + // XUL 1.132 + var s = document.createElementNS(kXULNSURI, 'script'); 1.133 + s.setAttribute("id", "MochiKit_" + base + modules[i]); 1.134 + s.setAttribute("src", uri); 1.135 + s.setAttribute("type", "application/x-javascript"); 1.136 + baseElem.parentNode.appendChild(s); 1.137 + } else { 1.138 + // HTML 1.139 + /* 1.140 + DOM can not be used here because Safari does 1.141 + deferred loading of scripts unless they are 1.142 + in the document or inserted with document.write 1.143 + 1.144 + This is not XHTML compliant. If you want XHTML 1.145 + compliance then you must use the packed version of MochiKit 1.146 + or include each script individually (basically unroll 1.147 + these document.write calls into your XHTML source) 1.148 + 1.149 + */ 1.150 + document.write('<script src="' + uri + 1.151 + '" type="text/javascript"></script>'); 1.152 + } 1.153 + }; 1.154 + })(); 1.155 +}